标签: statsmodels

分析Python中的时间序列 - pandas格式错误 - statsmodels

我试图分析星星的数据.我有明星的时间序列,我想预测他们属于哪个班级(4种不同类型).我有那些明星的时间序列,我想通过去季节化,频率分析和其他可能相关的研究来分析这些时间序列.

对象time_series是一个熊猫DataFrame,包括10列:time_points_b,light_points_b(b代表蓝色)等等......

我首先要研究蓝灯时间序列.

import statsmodels.api as sm;
import pandas as pd
import matplotlib.pyplot as plt
pd.options.display.mpl_style = 'default'
%matplotlib inline

def star_key(slab_id, star_id_b):
    return str(slab_id) + '_' + str(star_id_b)

raw_time_series = pd.read_csv("data/public/train_varlength_features.csv.gz", index_col=0, compression='gzip')
time_series = raw_time_series.applymap(csv_array_to_float)


time_points = np.array(time_series.loc[star_key(patch_id, star_id_b)]['time_points_b'])
light_points = np.array(time_series.loc[star_key(patch_id, star_id_b)]['light_points_b'])
error_points = np.array(time_series.loc[star_key(patch_id, star_id_b)]['error_points_b'])

light_data = pd.DataFrame({'time':time_points[:], 'light':light_points[:]})
residuals = sm.tsa.seasonal_decompose(light_data);

light_plt = residuals.plot()
light_plt.set_size_inches(10, 5)
light_plt.tight_layout()
Run Code Online (Sandbox Code Playgroud)

当我应用seasonal_decompose方法时,此代码给出了属性错误:AttributeError:'Int64Index'对象没有属性'inferred_freq'

python numpy pandas statsmodels

15
推荐指数
1
解决办法
2万
查看次数

从Pandas到Statsmodels的OLS中不推荐使用的滚动窗口选项

正如标题所暗示的那样,Pandas中ols命令中的滚动功能选项在statsmodels中迁移到哪里?我似乎找不到它.熊猫告诉我厄运正在起作用:

FutureWarning: The pandas.stats.ols module is deprecated and will be removed in a future version. We refer to external packages like statsmodels, see some examples here: http://statsmodels.sourceforge.net/stable/regression.html
  model = pd.ols(y=series_1, x=mmmm, window=50)
Run Code Online (Sandbox Code Playgroud)

事实上,如果你做的事情如下:

import statsmodels.api as sm

model = sm.OLS(series_1, mmmm, window=50).fit()

print(model.summary())
Run Code Online (Sandbox Code Playgroud)

你得到结果(窗口不会影响代码的运行)但你只得到整个时期的回归运行参数,而不是应该应该处理的每个滚动周期的一系列参数.

python deprecated pandas statsmodels

15
推荐指数
2
解决办法
1万
查看次数

如何干净地绘制statsmodels线性回归(OLS)

问题陈述:

我在pandas数据帧中有一些不错的数据.我想对它进行简单的线性回归:

在此输入图像描述

使用statsmodels,我执行我的回归.现在,我如何得到我的情节?我尝试过statsmodels的plot_fit方法,但情节有点时髦:

在此输入图像描述

我希望得到一条代表回归实际结果的水平线.

Statsmodels有多种绘制回归的方法(这里有一些关于它们的更多细节),但它们似乎都不是超级简单的"只是在数据上绘制回归线" - plot_fit似乎是最接近的东西.

问题:

  • 上面的第一张图片来自熊猫的情节函数,它返回一个matplotlib.axes._subplots.AxesSubplot.我可以轻松地将回归线叠加到该图上吗?
  • 在我忽略的statsmodels中是否有一个函数?
  • 有没有更好的方法来组合这个数字?

两个相关问题:

似乎都没有一个好的答案.

样本数据

按照@IgorRaush的要求

        motifScore  expression
6870    1.401123    0.55
10456   1.188554    -1.58
12455   1.476361    -1.75
18052   1.805736    0.13
19725   1.110953    2.30
30401   1.744645    -0.49
30716   1.098253    -1.59
30771   1.098253    -2.04
Run Code Online (Sandbox Code Playgroud)

abline_plot

我试过这个,但它似乎不起作用......不确定原因:

在此输入图像描述

matplotlib pandas statsmodels

15
推荐指数
1
解决办法
2万
查看次数

python 3 + statsmodels?

如果我这样做,sudo pip3 install statsmodels我会收到错误.我粘贴了下面控制台输出的结尾.我看到一个numpy 1.7警告,但如果我这样做pip3 freeze | grep numpy,我看到我正在使用numpy==1.8.1.

这是输出.有任何想法吗?

/usr/lib/python3/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]

 #warning "Using deprecated NumPy API, disable it by " \

  ^

statsmodels/tsa/kalmanf/kalman_loglike.c: In function ‘__Pyx_TraceSetupAndCall’:

statsmodels/tsa/kalmanf/kalman_loglike.c:7021:17: error: ‘PyFrameObject’ has no member named ‘f_tstate’

         (*frame)->f_tstate = PyThreadState_GET();

                 ^

In file included from /usr/lib/python3/dist-packages/numpy/core/include/numpy/ndarrayobject.h:26:0,

                 from /usr/lib/python3/dist-packages/numpy/core/include/numpy/arrayobject.h:4,

                 from statsmodels/tsa/kalmanf/kalman_loglike.c:257:

statsmodels/tsa/kalmanf/kalman_loglike.c: At top level:

/usr/lib/python3/dist-packages/numpy/core/include/numpy/__multiarray_api.h:1629:1: warning: ‘_import_array’ defined but not used [-Wunused-function]

 _import_array(void) …
Run Code Online (Sandbox Code Playgroud)

python-3.x statsmodels

14
推荐指数
1
解决办法
8184
查看次数

修复了Pandas或Statsmodels中的效果

是否有现有函数来估算Pandas或Statsmodels的固定效应(单向或双向).

以前在Statsmodels中有一个函数,但似乎已经停止了.在Pandas中,有一些叫做的东西plm,但是我无法导入或运行它pd.plm().

python regression pandas statsmodels

14
推荐指数
2
解决办法
2万
查看次数

python统计模型 - 回归中的二次项

我有以下线性回归:

import statsmodels.formula.api as sm

model = sm.ols(formula = 'a ~ b + c', data = data).fit()
Run Code Online (Sandbox Code Playgroud)

我想在这个模型中为b添加二次项.

使用statsmodels.ols有一个简单的方法吗?我应该使用更好的包来实现这个目标吗?

python regression quadratic statsmodels

14
推荐指数
2
解决办法
1万
查看次数

分解趋势,季节和剩余时间序列元素

我有DataFrame几个时间序列:

         divida    movav12       var  varmovav12
Date                                            
2004-01       0        NaN       NaN         NaN
2004-02       0        NaN       NaN         NaN
2004-03       0        NaN       NaN         NaN
2004-04      34        NaN       inf         NaN
2004-05      30        NaN -0.117647         NaN
2004-06      44        NaN  0.466667         NaN
2004-07      35        NaN -0.204545         NaN
2004-08      31        NaN -0.114286         NaN
2004-09      30        NaN -0.032258         NaN
2004-10      24        NaN -0.200000         NaN
2004-11      41        NaN  0.708333         NaN
2004-12      29  24.833333 -0.292683         NaN
2005-01      31  27.416667  0.068966    0.104027
2005-02      28  29.750000 -0.096774    0.085106
2005-03      27 …
Run Code Online (Sandbox Code Playgroud)

python machine-learning time-series pandas statsmodels

14
推荐指数
1
解决办法
3万
查看次数

使用局部加权回归(LOESS/LOWESS)预测新数据

如何在python中拟合局部加权回归,以便它可用于预测新数据?

statsmodels.nonparametric.smoothers_lowess.lowess,但它仅返回原始数据集的估计值; 如此看来只做fitpredict在一起,而不是单独作为我的预期.

scikit-learn总是有一个fit方法允许稍后在新数据上使用该对象predict; 但它没有实现lowess.

python python-3.x pandas statsmodels

14
推荐指数
2
解决办法
2万
查看次数

ImportError:无法导入名称“阶乘”

我想使用logit模型并尝试导入statsmodels库。我的版本:Python 3.6.8

我得到的最好建议是降级scipy,但不清楚如何降级到哪个版本。请帮助解决。 https://github.com/statsmodels/statsmodels/issues/5747

import statsmodels.formula.api as smf

ImportError                               Traceback (most recent call last)
<ipython-input-52-f897a2d817de> in <module>
----> 1 import statsmodels.formula.api as smf

~/anaconda3/envs/py36/lib/python3.6/site-packages/statsmodels/formula/api.py in <module>
     13 from statsmodels.robust.robust_linear_model import RLM
     14 rlm = RLM.from_formula
---> 15 from statsmodels.discrete.discrete_model import MNLogit
     16 mnlogit = MNLogit.from_formula
     17 from statsmodels.discrete.discrete_model import Logit

~/anaconda3/envs/py36/lib/python3.6/site-packages/statsmodels/discrete/discrete_model.py in <module>
     43 
     44 from statsmodels.base.l1_slsqp import fit_l1_slsqp
---> 45 from statsmodels.distributions import genpoisson_p
     46 
     47 try:

~/anaconda3/envs/py36/lib/python3.6/site-packages/statsmodels/distributions/__init__.py in <module>
      1 from .empirical_distribution import ECDF, monotone_fn_inverter, StepFunction
----> 2 …
Run Code Online (Sandbox Code Playgroud)

python python-3.x statsmodels

14
推荐指数
3
解决办法
1万
查看次数

绘制最大似然估计的置信区间

我正在尝试编写代码来为库中不同书籍的数量创建置信区间(以及生成信息图).

我的堂兄在小学,每周都会给老师讲一本书.然后他读取并及时返回,以便在下周获得另一个.过了一会儿,我们开始注意到他以前读过的书,随着时间的推移逐渐变得越来越普遍.

假设图书馆中真实的图书数量是N,老师会随机选择一个(有替换),每周给你.如果在第t周,您收到的图书已经读过的次数为x,那么我可以根据https://math.stackexchange.com/questions/生成图书馆图书数量的最大似然估计值.615464/how-many-books-are-a-a-library.


示例:考虑一个包含五本书A,B,C,D和E的图书馆.如果您连续七周收到书籍[A,B,A,C,B,B,D],那么x的值(在每个星期之后,重复的数量将是[0,0,1,1,2,3,3],这意味着在七周之后,您已经收到了三本已经阅读过的书.


为了可视化似然函数(假设我已经理解了什么是正确的)我写了下面的代码,我相信它绘制了似然函数.最大值约为135,这实际上是根据上述MSE链接的最大似然估计.

from __future__ import division
import random
import matplotlib.pyplot as plt
import numpy as np

#N is the true number of books. t is the number of weeks.unk is the true number of repeats found 
t = 30
unk = 3
def numberrepeats(N, t):
    return t - len(set([random.randint(0,N) for i in xrange(t)]))

iters = 1000
ydata = []
for N in xrange(10,500):
    sampledunk = [numberrepeats(N,t) for i in xrange(iters)].count(unk)
    ydata.append(sampledunk/iters)

print …
Run Code Online (Sandbox Code Playgroud)

python statistics numpy scipy statsmodels

13
推荐指数
3
解决办法
2308
查看次数