阿里天池竞赛 A股上市公司营收预测 使用LSTM模型做时序预测

本文记录了阿里天池竞赛中关于A股上市公司营收预测的实战,使用LSTM模型进行时序预测。通过加载并清洗数据,建立LSTM模型,并对不同列的数据进行预测,最终得出营收预测结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参赛结束了,最后结果一百多名,先把清洗好的数据和预测算法文件记录下来。

使用的完全代码和数据

https://download.youkuaiyun.com/download/infent/10693927

代码注释如下

# -*- encoding:utf-8 -*-
import pandas as pd
import numpy as np
import sys
from keras.layers.core import Dense, Activation, Dropout
from keras.layers.recurrent import LSTM
from keras.models import Sequential
from sklearn.preprocessing import MinMaxScaler

# 窗口长度
LEN_SEQ = 2
np.random.seed(0)

def load_one(data, x):
    global LEN_SEQ
    #ticker = data.query("TICKER_SYMBOL=="+str(x)) # 个股
    #ticker = data.query("TICKER_SYMBOL==1 or TICKER_SYMBOL==5")
    ticker =data.loc[data['TICKER_SYMBOL']==x]
    #ticker = data.query("TICKER_SYMBOL==@x")
    print('query the data')
    #print(ticker)
    arr = ticker.ix[:,[1,2,3,4]] # 矩阵
   # print(arr)
    # 做时序差分
    train, label = [], []
    b_size = 4
    for i in range(LEN_SEQ,0,-1):
        train.append(arr.shift(i))
        label += [('var%d(t-%d)' % (j+1,i)) for j in range(b_size)]
    for i in range(LEN_SEQ):
        train.append(arr.shift(-i))
        if i ==0:
            label += [('var%d(t)' %(j+1)) for j in range(b_size)]
  

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值