前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python中TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化

Python中TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化

作者头像
拓端
发布于 2025-03-04 13:36:13
发布于 2025-03-04 13:36:13
15100
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

原文链接:http://tecdat.cn/?p=23689

本文探索Python中的长短期记忆(LSTM)网络,以及如何使用它们来进行股市预测点击文末“阅读原文”获取完整代码数据)。

相关视频

在本文中,你将看到如何使用一个被称为长短时记忆的时间序列模型。LSTM模型很强大,特别是在保留长期记忆方面。在本文中,你将解决以下主题。

  • 理解为什么你需要能够预测股票价格的变动。
  • 下载数据 - 使用从雅虎财经收集的股市数据
  • 分割训练-测试数据,并进行数据归一化
  • 应用单步预测技术。
  • 讨论LSTM模型。
  • 用当前的数据预测和可视化未来的股票市场

为什么你需要时间序列模型?

你希望对股票价格进行正确的建模,所以作为一个股票买家,你可以合理地决定何时买入股票,何时卖出股票以获得利润。这就是时间序列模型的作用。你需要好的机器学习模型,它可以观察一连串数据的历史,并正确预测该序列的未来数据。

提示:股票市场的价格是高度不可预测和波动的。这意味着数据中没有一致的模式,使你能够近乎完美地模拟股票价格随时间变化。

然而,我们不要一味地认为这只是一个随机的或者随机的过程,机器学习没有希望。我们至少对数据进行建模,做出的预测与数据的实际行为相关。换句话说,你不需要未来确切的股票价值,而是需要股票价格的变动(也就是说,如果它在不久的将来会上涨或下跌)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 可用的库
import numpy as np
import tensorflow as tf

下载数据

股票价格有几种不同的变量。它们是

  • 开盘:当天的开盘股票价格
  • 收盘价:当天的收盘股价
  • 高点:数据中最高的股票价格
  • 低点:当天的最低股价

获取数据

你要利用航空公司的股票市场价格来进行预测,所以你把股票代码设置为 "AAL"。此外,你还定义了一个url\_string,它将返回一个JSON文件,其中包含航空公司过去20年的所有股市数据,以及一个file\_to_save,它是你保存数据的文件。

接下来,指定条件:如果你还没有保存数据,从你在url\_string中设置的URL中抓取数据;把日期、低点、高点、成交量、收盘价、开盘价存储到一个pandas DataFrame df中,把它保存到file\_to_save。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    # 从URL中抓取数据
    # 将日期、低点、高点、成交量、收盘价、开盘价存储到Pandas DataFrame中

            #提取股票市场数据
            df = pd.DataFrame(columns=\['Date', 'Low', 'High', 'Close', ' Open'\])      
        print('数据保存到:%s'%file\_to\_save)        
    # 如果数据已经存在,只需从CSV中加载即可
    否则。
        print('文件已经存在,从CSV中加载数据')
        df = pd.read\_csv(file\_to_save)

数据探索

在这里你将把收集的数据输出到DataFrame中。你还应该确保数据是按日期排序的,因为数据的顺序在时间序列建模中至关重要。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 按日期对数据框架进行排序
df = df.sort_values('Date')

# 仔细检查结果
df.head()

数据可视化

现在让我们来看看是什么样的数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot(range(df.shape\[0\]),(df)/2.0)

这张图已经说明了很多问题。我选择这家公司而不是其他公司的原因是,这张图随着时间的推移,股票价格有不同表现行为。这将使模型学习更加稳健,并且给你一个价格变化来测试对各种情况的预测有多好。

另一个需要注意的是,接近2017年的数值要比接近20世纪70年代的数值高得多,而且波动也大。因此,你需要确保数据在整个时间范围内表现为类似的价格范围,需要将数据标准化。

R语言Keras用RNN、双向RNNs递归神经网络、LSTM分析预测温度时间序列、 IMDB电影评分情感

01

02

03

04

将数据分割成训练集和测试集

你将使用通过取一天中最高和最低价格的平均值计算出的中间价格。

现在你可以把训练数据和测试数据分开。训练数据将是时间序列的前4000个数据点,其余的将是测试数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
train_data = mid\[:4000\]
test_data = mid\[4000:\]

标准化数据

现在你需要定义标准化来规范数据。将训练和测试数据变化为[data\_size, num\_features]的维度。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
将测试数据和训练数据相对于训练数据归一。

scaler = MinMaxScaler()

由于你先前的观察,即不同时间段的数据有不同的值范围,通过将全序列分割成窗口来标准化数据。如果你不这样做,早期的数据将接近于0,对学习过程不会有太大的价值。这里你选择了一个800的窗口大小。

提示:在选择窗口大小时,不要太小,因为当你进行窗口标准化时,会在每个窗口的最末端引入一个断点,因为每个窗口都是独立标准化的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 用训练数据和平滑数据训练
window_size = 800
scaler.transform(train\_data\[di:di+window\_size,:\])

将数据重塑为[data_size]的形状。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 重塑训练和测试数据
reshape(-1)

# 对测试数据进行标准化处理
scaler.transform(test_data).reshape(-1)

现在你可以使用指数移动平均线对数据进行平滑处理。

请注意,你应该只平滑训练数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 现在进行指数移动平均平滑处理
# 所以数据会比原来的锯齿状数据有一个更平滑的曲线

  EMA = gamma\*train\[i\] + (1-gamma)\*EMA
  train\[i\] = EMA

通过平均法进行单步超前预测


平均法允许你通过将未来的股票价格表示为以前观察到的股票价格的平均值来进行预测(通常是提前一个时间步)。下面看两种平均技术;标准平均法和指数移动平均法。你将对这两种算法产生的结果进行定性(目测)和定量(平均平方误差)的评估。

平均平方误差(MSE)的计算方法是:取前一步的真实值和预测值之间的平方误差,并对所有的预测值进行平均。

标准平均

可以通过首先尝试将其作为一个平均计算问题的模型来理解这个问题的难度。首先,尝试预测未来的股票市场价格(例如,xt+1),作为一个固定大小的窗口(例如,xt-N,...,xt)(例如之前的100天)内先前观察到的股票市场价格的平均值。此后,尝试更高级的 "指数移动平均 "方法,看看它的效果如何。然后,进入长短期记忆模型

首先,正常的平均数。

换句话说,你说t+1的预测是你在t到t-N的窗口内观察到的所有股票价格的平均值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    pred.append(np.mean(train\[idx-window_size:idx\]))
    mse\_errors.append((std\_avg\[-1\]-train\[pred_idx\])**2)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MSE: 0.00418

看一下下面的平均结果。它与股票的实际行为相当接近。接下来,你将看到一个更准确的一步预测方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plt.plot(std\_avg\_pred)

plt.legend(fontsize=18)
plt.show()

那么,上面的图表(和MSE)说明了什么?

似乎对于非常短的预测(提前一天)来说,这个模型还不算太差。鉴于股票价格不会在一夜之间从0变化到100,这种行为是合理的。接下来,使用指数移动平均线。

指数移动平均线

你可能已经在互联网上看到一些文章,使用非常复杂的模型,并预测了几乎准确的股票市场行为。但是请注意! 这些只是视觉上的错觉,并不是由于学到了有用的东西。你将在下面看到如何用一个简单的平均法来复制这种行为。

在指数移动平均法中,你计算xt+1为。

其中

是在一段时间内保持的指数移动平均数值。.

上述公式基本上是计算t+1时间步长的指数移动平均线,并将其作为超前一步的预测。γ决定最近的预测对EMA的贡献是什么。例如,γ=0.1只能得到当前值的10%进入EMA。因为你只取最近的一小部分,它允许保留你在平均数中很早看到的更早的值。请看下面用于预测向前一步的情况。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for idx in range(1,N):
    mean = mean\*dec + (1.0-de)\*train\[idx-1\]
    pred.append(mean)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MSE: 0.00003
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plt.plot(mid_data)
plt.plot(pred)

如果指数式移动平均数这么好,为什么还需要更好的模型?

拟合结果很好,遵循真实的分布(并且由非常低的MSE证明)。实际上,仅凭第二天的股票市场价格是没有意义的。就我个人而言,我想要的不是第二天的确切股市价格,而是未来30天的股市价格是上涨还是下跌。尝试这样做,你会发现EMA方法的缺陷。

现在尝试在窗口中进行预测(比如你预测未来2天的窗口,而不是仅仅预测未来一天)。然后你会意识到EMA会有多大的误差。下面是一个例子。

预测超过一步的未来股价

我们假设数值,比如xt=0.4,EMA=0.5,γ=0.5

  • 假设你得到的输出有以下公式

所以你有

所以

所以下一个预测Xt+2变成了

这就是

或者在这个例子中,

所以,无论你对未来进行多少步预测,你都会在所有未来的预测步中不断得到相同的答案。

你有一个解决方案,可以输出有用的信息,就是看看基于动量的算法。它们根据过去最近的数值是上升还是下降(不是准确的数值)进行预测。例如,它们会说第二天的价格可能会降低,如果过去几天的价格一直在下降,这听起来很合理。然而,我们使用一个更复杂的模型:LSTM模型。

这些模型已经在时间序列预测领域非常热门,因为它们在时间序列数据的建模方面非常出色。你将看到数据中是否真的隐藏有你可以利用的模式。

LSTM简介:对股票走势进行远期预测

长短期记忆模型是极其强大的时间序列模型。它们可以预测未来任意步。LSTM模块(或单元)有5个基本组成部分,使其能够对长期和短期数据进行建模。

  • 单元状态(ct)--这代表了单元的内部记忆,它同时存储了短期记忆和长期记忆
  • _隐藏状态_(ht)--这是根据当前输入、以前的_隐藏状态_和当前的单元输入计算出来的输出状态信息,你最终会用它来预测未来的股市价格。此外,隐藏状态可以决定只检索存储在单元状态中的短期或长期或两种类型的记忆来进行下一次预测。
  • 输入门(it)--决定当前输入的信息有多少流向单元状态
  • 遗忘门(ft)--决定有多少来自当前输入和前一个单元状态的信息流入当前单元状态
  • 输出门(ot)--决定多少信息从当前单元状态流入隐藏状态,因此,如果需要,LSTM可以只挑选长期记忆或短期记忆和长期记忆。

TensorFlow为实现时间序列模型提供了一个不错的API(称为RNN API)。

数据生成器

你首先要实现一个数据生成器来训练你的模型。这个数据生成器将有一个名为.unroll\_batches(...)的方法,它将输出一组依次获得的num\_unrollings批次的输入数据,其中一个批次的数据大小为[batch_size, 1]。那么每一批输入数据都会有一个相应的输出数据批。

例如,如果num\_unrollings=3,batch\_size=4,一组unrolled批次。

  • 输入数据
  • 输出数据:

数据增强(_Data_ _Augmentation_)

数据增强(_Data_ _Augmentation_)又称为数据增广。另外,为了使你的模型稳健,你不会让x\_t的输出总是x\_t+1。相反,你将从x\_t+1,x\_t+2,...,xt+N的集合中随机抽取一个输出,其中N是一个小窗口大小。

这里你要做以下假设:

  • x\_t+1,x\_t+2,...,xt+N不会彼此相距很远。

我个人认为这对股票走势预测来说是一个合理的假设。

下面你直观地说明一批数据是如何产生的。

定义超参数

在本节中,你将定义几个超参数。D是输入的维度。这很简单,因为你把之前的股票价格作为输入,并预测下一个股票价格,这应该是1。

然后你有num\_unrollings,这是一个与用于优化LSTM模型的通过时间的反向传播(BPTT)有关的超参数。这表示你在一个优化步骤中考虑多少个连续的时间步骤。可以认为,不是通过查看单个时间步骤来优化模型,而是通过查看num\_unrollings时间步骤来优化网络。越大越好。

然后,你有batch_size。批量大小是指在一个时间步长中考虑多少个数据样本。

接下来你定义num_nodes,它代表每个单元中隐藏神经元的数量。你可以看到,在这个例子中,有三层LSTMs。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
D = 1 # 数据的维度。因为你的数据是一维的,所以是1
unrollings = 50 # 未来的时间步数。
batch_size = 500 # 一个批次中的样本数
num_nodes = \[200,200,150\] # 我们所使用的深层LSTM堆栈中每一层的隐藏节点数量
n\_layers = len(num\_nodes) # 层的数量
dropout = 0.2 # 丢弃量

定义输入和输出

接下来你要为训练输入和标签定义占位符。你有一个输入占位符的列表,其中每个占位符都包含一个批次的数据。而列表中有num_unrollings占位符,这些占位符将被一次性用于一个优化步骤。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#输入数据
train\_inputs, train\_outputs = \[\],\[\]

定义LSTM和回归层的参数

你将有三层LSTM和一个线性回归层,用w和b表示,它采取最后一个长短期记忆单元的输出,并输出下一个时间步骤的预测。此外,你可以让dropout实现LSTM单元,因为它们可以提高性能,减少过拟合。

计算LSTM输出并将其传递到回归层以获得最终预测结果

在这一节中,你首先创建TensorFlow变量(c和h),这些变量将保持长短时记忆单元的状态和隐藏状态。然后,你将训练输入的列表转换为[unrollings, batch\_size, D]的形状。然后用ynamic\_rnn函数计算LSTM输出,并将输出分割成num张量列表。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 创建单元格状态和隐藏状态变量保持LSTM的状态

for li in range(n):
  c.append(tf.Variable(tf.zeros(\[batch\_size, num\_nodes\[li\]\])))
  h.append(tf.Variable(tf.zeros(\[batch\_size, num\_nodes\[li\]\])))

# 做几次张量转换,因为函数dynamic_rnn要求输出必须是一种特定的格式。

损失计算和优化器

现在,要计算损失。对于每一批预测和真实输出,都要计算出平均平方误差。而你把所有这些均方差损失加在一起(不是平均)。最后,定义你要使用的优化器来优化神经网络。在这种情况下,你可以使用Adam,它是一个非常新的、表现良好的优化器。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 在计算损失时,你需要注意准确的形式,因为你计算的是所有未滚动的步的损失
# 因此,取每个批的平均误差,并得到所有未滚动步的总和

range(n)\]):
  for ui in range(nums):
    loss += tf.mean(0.5*(splits\[ui\]-train\[ui\])**2)

预测相关的计算

在这里,你定义了预测相关的TensorFlow操作。首先,定义一个用于输入的占位符(sample\_inputs),然后与训练阶段类似,你定义预测的状态变量(sample\_c和sample\_h)。最后,你用dynamic\_rnn函数计算预测结果,然后通过回归层(w和b)发送输出。你还应该定义reset\_sample\_state操作,它可以重置单元状态和隐藏状态。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 为预测阶段保持LSTM状态
for li in range(n_layers):
  sample\_c.append(tf.Variable(tf.zeros(\[1, num\_nodes\[li\]\]))
  sample\_h.append(tf.Variable(tf.zeros(\[1, num\_nodes\[li\]\])))

运行LSTM

在这里,你将训练并预测几个历时的股票价格走势,并观察预测结果是否随着时间的推移而变得更好或更差。

  • 在时间序列上定义一个测试起点集(test\_points\_seq)来评估模型。
  • 对于每个训练轮数
  • 对于训练数据的完整序列长度
  • 通过迭代测试点之前的num_unrollings数据点来更新LSTM状态
  • 连续进行n\_predict\_once步骤的预测,将之前的预测作为当前输入。
  • 计算预测的n\_predict\_once点与这些时间戳的真实股票价格之间的MSE损失
  • 展开一组num_unrollings的批次
  • 用未滚动的批次训练神经网络
  • 计算平均训练损失
  • 对于测试集的每个起点

...

预测可视化

你可以看到MSE损失是如何随着训练量的增加而下降的。这是一个好兆头,表明模型正在学习一些有用的东西。你可以将网络的MSE损失与你做标准平均时得到的MSE损失(0.004)进行比较。你可以看到,LSTM比标准平均法做得更好。而且你知道,标准平均法(虽然不完美)合理地遵循了真实的股票价格变动。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
best_epoch = 28 # 用得到最佳结果的epoch


# 绘制预测值随时间变化的情况
# 绘制低α值的旧预测和高α值的新预测

        plt.plot(xval,yval)


# 预测你得到的最佳测试预测值
plt.plot(range(df.shap),mid_data)

    plt.plot(xval,yval)

虽然不完美,但LSTM似乎能够在大多数时候正确预测股票价格行为。请注意,你所做的预测大致在0和1.0的范围内(也就是说,不是真实的股票价格)。这没关系,因为你预测的是股票价格的走势,而不是价格本身。

总结

在本教程中,首先介绍了你为什么需要为股票价格建模的动机。接着是解释数据。然后两种平均技术,它们允许你对未来一步进行预测。接下来你看到,当你需要预测超过一步的未来时,这些方法是无用的。此后,讨论了如何使用LSTM来进行未来多步的预测。最后,将结果可视化,看到模型(虽然不完美)在正确预测股票价格走势方面相当出色。

在这里,我陈述一下本教程的几个收获。

  • 股票价格/走势预测是一项极其困难的任务。我个人认为,不应该把任何一个股票预测模型视为理所当然,盲目地依赖它们。然而模型可能在大多数时候能够正确预测股票价格走势,但不总是如此。
  • 不要被外面那些显示预测曲线与真实股票价格完全重合的文章所迷惑。这可以用一个简单的平均技术来复制,在实践中它是没有用的。更明智的做法是预测股票价格的变动。
  • 该模型的超参数对你获得的结果非常敏感。因此,要做的一件非常好的事情是对超参数运行一些超参数优化技术(例如,网格搜索/随机搜索)。下面我列出了一些最关键的超参数
  • 优化器的学习率
  • 层数和每层的隐藏单元的数量
  • 优化器。我发现Adam的表现最好
  • 模型的类型。你可以尝试GRU/标准LSTM和评估性能差异。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【Cell】有关生物大分子凝聚体以及液液相分离的知识汇总(二)
在特定条件下,蛋白质和核酸可能普遍具有经历LLPS的能力,其中许多可能永远不会在细胞中遇到。这种方式下的LLPS类似于淀粉样物质的形成,这是蛋白质的一种通用状态。重要的是,只有一小部分蛋白质能够在生理条件下形成淀粉样物质,这些特定的形成淀粉样物质的蛋白质在生理以及病理环境中都非常重要。同样,许多蛋白质在生理条件下可能无法接触到LLPS,只有特定的蛋白质序列似乎有能力在生活细胞中存在的条件下进行相分离。目前,我们识别真正和生物学相关的LLPS的能力仍然有限,这应该使我们在解释在体外进行的相分离研究的结果时要小心。
Chris生命科学小站
2023/08/29
1.8K0
【Cell】有关生物大分子凝聚体以及液液相分离的知识汇总(二)
Brief Bioinform|iAMPCN:识别抗菌肽功能活性的深度学习方法
2023年6月27日,澳大利亚莫纳什大学宋江宁教授团队,与日本京都大学Tatsuya Akutsu教授,以及腾讯人工智能实验室姚建华研究员合作,在Briefings in Bioinformatics上发表文章iAMPCN: a deep-learning approach for identifying antimicrobial peptides and their functional activities。
智药邦
2024/03/05
5710
Brief Bioinform|iAMPCN:识别抗菌肽功能活性的深度学习方法
Nat. Chem. | 通过深度学习设计靶向核的非生物微蛋白
今天带来的是Carly K. Schissel发表在nature chemistry上的Deep learning to design nuclear-targeting abiotic miniproteins。现如今,巨大的氨基酸排列组合空间阻碍了人们通过传统方法进行功能性聚合物的设计。本文将展示利用高通量实验与受定向进化启发的深度学习方法相结合,并把自然和非自然残基的分子结构表示为拓扑指纹,重新设计非天然穿膜微蛋白(该微蛋白将反义二酰胺基磷酸酯吗啉代寡聚体 (PMO) 输送到细胞核)。结果表明,深度学习可以破译设计原则,以生成不太可能通过经验方法发现的高活性生物分子。
DrugAI
2021/08/24
4950
南开大学提出PGAT-ABPp模型,通过蛋白质语言模型和图注意力网络识别抗菌肽
耐药病原体的出现是对人类健康的巨大挑战。抗菌肽(Antimicrobial peptides,ABP)又称宿主防御肽,是机体免疫防御系统的重要组成部分,表现出多方面的作用机制,对细菌、真菌、病毒和其他病原体具有广谱抗菌活性。因此,它们已成为传统抗菌药物的潜在替代品。然而,识别ABP需要复杂的设计、漫长的筛选周期和严格的条件,这使得大规模筛选非常具有挑战性。
智药邦
2024/08/29
3090
南开大学提出PGAT-ABPp模型,通过蛋白质语言模型和图注意力网络识别抗菌肽
ACS Nano | 基于计算机的抗菌肽发现框架
抗生素耐药性,是人类社会中最严重的医疗问题之一,目前每年在欧洲造成超过2.5万人死亡,在美国造成3.5万人死亡。几十年来,具有抗菌素耐药性的微生物数量一直在增加。这些微生物引起的感染缺乏有效的治疗方案。在过去几十年里,人们发现抗生素缺乏,严重影响了经济和人类的福祉。因此,当前重要的是,人类必须开发出能够对抗耐多药微生物,并减缓抗生素耐药性的进化和传播的抗菌素。
DrugScience
2021/03/18
1.2K0
ACS Nano | 基于计算机的抗菌肽发现框架
Nat. Commun. | 跨物种线粒体靶向序列的生成式设计
线粒体在能量生成和代谢中发挥关键作用,因此成为代谢工程和疾病治疗中具有前景的靶点。然而,尽管已知乘客蛋白会影响定位效率,但目前已被系统表征的线粒体定位标签仍然十分有限。为解决这一限制,研究人员利用变分自编码器(Variational Autoencoder, VAE)设计新型的线粒体靶向序列。计算分析显示,所生成肽段中有高达90.14%的比例具有功能性,并呈现出有助于线粒体定位的关键特征。研究人员在四种真核生物中对这些人工肽段进行了验证,并在概念验证实验中展示了其实际应用价值:通过代谢通路的亚细胞定位,3-羟基丙酸的产量得到提升,同时5-氨基乙酰丙酸合酶的递送效率分别提高了1.62倍和4.76倍。此外,研究人员还通过潜在空间插值探索了双重定位序列的进化起源。总体而言,该研究展示了生成式人工智能在基础线粒体生物学研究与实际应用中的潜力。
DrugAI
2025/05/08
1300
Nat. Commun. | 跨物种线粒体靶向序列的生成式设计
Angew. Chem. | 用于药物开发的环状肽
今天为大家介绍的是来自Christian Heinis团队的一篇综述论文。环状肽是一类在自然界中大量存在的迷人分子。多年来通过改进的合成方法和药物开发过程,新药稳定涌现,平均每年大约有一种环状肽药物获批。研究人员通过用于筛选随机肽库和从头生成配体的强大技术,已经实现了不依赖自然来源分子的环状肽药物的开发。
DrugAI
2024/01/17
3120
Angew. Chem. | 用于药物开发的环状肽
JCIM | AMPGAN v2:机器学习指导的抗菌肽设计
今天给大家介绍来自佛蒙特大学的Colin M. Van Oort等人在JCIM上发表的“AMPGAN v2: Machine Learning-Guided Design of Antimicrobial Peptides”,作者提出了一种基于双向条件生成对抗网络的抗菌肽(AMPs)设计方法AMPGAN v2。AMPGAN v2使用生成器和鉴别器来学习数据驱动的先验知识,并使用条件变量控制生成。
智能生信
2021/07/22
1.4K0
2018 Cell系列相变最强综述,未来已来,你在哪?
Trends in Cell Biology (Cell系列综述, 2018 IF: 18.564)于2018年6月1日在线发表了Steven Boeynaems(PhD Biomedical sciences, Stanford University School of Medicine, 一作兼通讯)撰写的关于蛋白质相位分离综述一文《Protein Phase Separation: A New Phase in Cell Biology》。蛋白质相变做为细胞区室形成和调节生化反应的新思路而受到越来越多的关注,同时为神经退行性疾病中无膜细胞器生物合成和蛋白质聚集的研究提供了新的框架。该综述中,总结了近年来无膜细胞器的研究现状,相变的发生、发展、调控和在疾病治疗中的应用进行了探讨,并展望了未来几年相变领域的主要问题和挑战。内容丰富,见解前沿,值得相关领域的研究者细细品读。
生信宝典
2018/09/21
2.3K0
2018 Cell系列相变最强综述,未来已来,你在哪?
PNAS | 李洪林/李英贤团队发现老药坦索罗辛具有抗骨质疏松新作用
2024年12月31日,华东师范大学药学院/人工智能新药创智中心李诗良/李洪林团队、中国航天员科研训练中心航天医学全国重点实验室李英贤团队、瓯江实验室凌树宽团队,联合复旦大学附属华东医院郑拥军团队、上海市第六人民医院胡晓勇团队等多家单位在PNAS发表题为“Tamsulosin ameliorates bone loss by inhibiting the release of Cl⁻ through wedging into a novel allosteric site of TMEM16A”的研究论文。
DrugAI
2025/01/02
1020
PNAS | 李洪林/李英贤团队发现老药坦索罗辛具有抗骨质疏松新作用
抗体偶联药物 (ADC)——抗肿瘤细胞 | MedChemExpress
Antibody-drug Conjugate (ADC)是一类结合了化学疗法和免疫疗法的高效药物。这个概念最早于 100 多年前由德国科学家/医生 Paul Ehrlich 提出。ADC 由抗体 (Antibody)、细胞毒素分子 (ADC Cytotoxin, payload) 以及连接两者的连接子 (Linker) 组成。Paul Ehrlich 将 ADC 比喻成“魔法子弹”,因为它能在不伤害有机体 (毒副作用小) 的情况下特异性识别目标 (癌细胞)。ADC 毒素分子通过破坏 DNA、微管蛋白等从而阻止肿瘤细胞分裂,起到杀死细胞的作用。ADC 的精准靶向,彻底消除,简直媲美“狙击手”。
MedChemExpress
2023/03/08
4870
抗体偶联药物 (ADC)——抗肿瘤细胞 | MedChemExpress
Chem. Sci. | 机器学习设计非溶血性抗菌肽
今天给大家介绍来自瑞士伯尔尼大学和日内瓦大学的Alice Capecchi,Xingguang Cai等人发表在Chemical Science的文章“Machine learning designs non-hemolytic antimicrobial peptides“,作者使用来自DBAASP的数据训练循环神经网络(Recurrent neural networks, RNN)来设计非溶血性抗菌肽(Antimicrobial peptides, AMP),合成并测试了28个生成肽,鉴定出针对绿脓杆菌、鲍曼不动杆菌和耐甲氧西林金黄色葡萄球菌 (MRSA) 的8种新的非溶血性 AMP。结果表明机器学习(Machine learning, ML)可以用来设计非溶血性AMP。
智能生信
2021/06/24
1K0
Chem. Sci. | 机器学习设计非溶血性抗菌肽
Nat. Microbiol. | 可解释的深度学习和虚拟进化识别具有抗多药耐药人类病原体活性的抗菌肽
今天介绍一篇发表在Nature Microbiology上的论文:“Explainable deep learning and virtual evolution identifies antimicrobial peptides with activity against multidrug-resistant human pathogens”。随着抗生素耐药性问题的日益严重,计算机辅助抗菌肽(AMPs)设计成为一种重要的研究方向。然而,尽管传统的机器学习模型在预测肽的抗菌活性方面表现出色,但它们通常缺乏对肽序列优化过程的可解释性,导致难以指导实际的肽设计。为了解决这一问题,本文提出了一个集成的计算框架,包括三个主要部分:AMP-CLIP(AMP CLassifier with Improved Precision)、AMP-READ(Antimicrobial Peptide Regression and Analysis for Drug Discovery)和EvoGradient(Evolutionary Gradient-based Optimization for Antimicrobial Peptides)。
DrugAI
2025/02/18
1520
Nat. Microbiol. | 可解释的深度学习和虚拟进化识别具有抗多药耐药人类病原体活性的抗菌肽
Nat Biotechnol|通过机器学习发现抗生素
2022年5月6日,Nat Biotechnol发表文章,评述了3月份发表在该期刊上的来自中国科学院微生物研究所王军和陈义华等人的研究工作。
智药邦
2022/06/08
3870
Nat Biotechnol|通过机器学习发现抗生素
Nat Rev Chem|靶向RNA的小分子方法
2024年1月26日,来自蔚蓝海岸大学联盟的尼斯大学、法国国家科学研究中心等机构的研究人员在Nature Reviews Chemistry上发表了题为Small molecule approaches to targeting RNA的综述。
智药邦
2024/03/05
2470
Nat Rev Chem|靶向RNA的小分子方法
科研助攻 | 一文讲清:如何破解 PPI 靶点成药难题 | MedChemExpress (MCE)
蛋白-蛋白相互作用 (protein-protein interaction, PPI) 是生物体调控各类生命活动的重要基础,在信号传导、细胞增殖、细胞死亡等病理生理过程中发挥重要作用。据统计,在人类中有大约有 65 万种 PPI,这些 PPI 在细胞中形成一个复杂的网络 (又被称为相互作用组),以调控各类蛋白质的生物活性。
MedChemExpress
2024/06/27
1580
科研助攻 | 一文讲清:如何破解 PPI 靶点成药难题 | MedChemExpress (MCE)
西湖大学利用 Transformer 分析百亿多肽的自组装特性,破解自组装法则
多肽是两个以上氨基酸通过肽键组成的生物活性物质,可以通过折叠、螺旋形成更高级的蛋白质结构。多肽不仅与多个生理活动相关联,还可以自组装成纳米粒子,参与到生物检测、药物递送、组织工程中。
HyperAI超神经
2023/10/24
3190
西湖大学利用 Transformer 分析百亿多肽的自组装特性,破解自组装法则
Nat. Rev. Chem. | 小分子与RNA的碰撞
今天为大家介绍的是来自Maria Duca团队的一篇论文。在化学生物学和药物发现领域,开发创新方法以识别RNA结合物引起了巨大关注。尽管针对细菌核糖体RNA的抗生素已经上市数十年,但对RNA靶向的重新关注反映了人们对更好地理解涉及RNA的复杂细胞内过程的需求。在这个背景下,小分子是用来探索RNA的生物学功能、验证RNA作为治疗靶点的工具,它们最终有可能成为新药。尽管近期取得了进展,但理性设计特定的RNA结合物需要更好地理解与RNA靶标发生的相互作用,以达到期望的生物学响应。在这篇综述中,作者讨论了接近这一未充分探索的化学空间的挑战。
DrugAI
2024/02/23
3250
Nat. Rev. Chem. | 小分子与RNA的碰撞
Nat. Biotechnol. | 戴上启动帽,MIT王潇团队提出LEGO增强翻译能力
今天为大家介绍的是来自马萨诸塞理工学院的王潇团队的一篇论文。基于mRNA的蛋白质和疫苗疗法可以通过增加翻译能力获益。在此,作者报道了一种名为连接促使mRNA-寡核苷酸组装(LEGO)的方法来增强翻译。作者系统性地筛选了不同的化学拓扑结构,并发现一种分支mRNA帽子能够在不依赖内含核糖体进入位点(IRES)的情况下,有效地启动线性或环状mRNA的翻译。两种化学修饰——在帽子上的锁核酸(LNA)N7-甲基鸟苷修饰和在5′非翻译区(UTR)上的LNA+5×2′-O-甲基修饰——增强了RNA与真核翻译起始因子(eIF4E-eIF4G)的结合能力,并提高了体外RNA对去帽酶的稳定性。通过对双帽mRNA和带帽环状RNA的多维化学拓扑工程,作者在体内将mRNA蛋白质的产量提高了多达十倍,并在新冠病毒(SARS-CoV-2)疫苗的初免和加强针接种后分别实现了17倍和3.7倍的抗体产量提升。LEGO平台为设计超越经典线性和环状RNA的非天然RNA结构和拓扑结构,提供了新的可能性,适用于基础研究和治疗应用。
DrugAI
2024/11/23
1350
Nat. Biotechnol. | 戴上启动帽,MIT王潇团队提出LEGO增强翻译能力
Nat. Commun. | 基于序列的预测方法可以准确判断含有非天然氨基酸肽的内在溶解度
今天为大家介绍的是来自Pietro Sormanni和Michele Vendruscolo团队的一篇论文。非天然氨基酸能扩展化学空间,定制肽类药物的功能、半衰期和其他关键属性。尽管含有修饰氨基酸(如经过翻译后修饰的残基)的化学空间极大,但实验测量含修饰氨基酸肽的开发性质既昂贵又耗时。为了通过计算方法促进开发性项目,作者提出了CamSol-PTM方法。这种方法能快速、可靠地基于序列预测含修饰氨基酸肽在室温下水溶液中的内在溶解度。
DrugAI
2023/12/26
3250
Nat. Commun. | 基于序列的预测方法可以准确判断含有非天然氨基酸肽的内在溶解度
推荐阅读
相关推荐
【Cell】有关生物大分子凝聚体以及液液相分离的知识汇总(二)
更多 >
LV.0
这个人很懒,什么都没有留下~
目录
  • 原文链接:http://tecdat.cn/?p=23689
    • 为什么你需要时间序列模型?
    • 下载数据
  • 获取数据
  • 数据探索
  • 数据可视化
    • 将数据分割成训练集和测试集
  • 标准化数据
  • 标准平均
  • 指数移动平均线
  • 如果指数式移动平均数这么好,为什么还需要更好的模型?
  • 预测超过一步的未来股价
  • LSTM简介:对股票走势进行远期预测
  • 数据生成器
  • 数据增强(_Data_ _Augmentation_)
  • 定义超参数
  • 定义输入和输出
  • 定义LSTM和回归层的参数
    • 计算LSTM输出并将其传递到回归层以获得最终预测结果
  • 损失计算和优化器
  • 预测相关的计算
  • 运行LSTM
  • 预测可视化
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档