python使用线性回归预测缺失值

2024-06-25 05:43:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有2012-2014年的数据,2014年有一些缺失的月份。我想用2012/2013年数据训练的线性回归模型来预测这些月份。在

2014缺少6月至8月,其值为“”因此我使用以下代码清理它,我还通过剪切20个数据将20122013更改为具有相同的形状:

data2014NaN=data2014['mob'].replace(' ', np.nan)
data2014CleanNaN = data2014NaN[data2014NaN.notnull()]
data2012[0:300]
data2013[0:300]

然后我用这两年作为训练集训练一个线性回归模型。在

^{pr2}$

然而,我得到的结果是糟糕的4.65%,我不太确定如何解决这个问题,我想我在削减2012年和2013年的数据时做错了什么

我在这里附上了数据(这只是虚拟数据):

2014:
date       value
29/01/2014 10
30/01/2014 20
31/01/2014 15
1/02/2014  ' '


2012:
date       value
29/01/2014 15
30/01/2014 18
31/01/2014 19
1/02/2014  50

我只使用值数据,不确定我的方向是否正确

谨致问候


Tags: 数据代码模型datevaluenp线性nan
1条回答
网友
1楼 · 发布于 2024-06-25 05:43:34

看来你的R^2不太好。在

在这种情况下,三次样条插值可能比线性回归更好。
在python中,此api可以称为:

 import scipy.interpolate as st

source

另外,如果x是时间戳,y是一个值,您可以尝试像AR或ARMA这样的时间序列分析,以及RNN和LSTM这样的神经网络方法。在

keras制作的LSTM样本:

^{pr2}$

相关问题 更多 >