我想从Pearson系统生成具有给定均值,方差,偏度和峰度的随机数.我可以使用"pearsrnd"在MATLAB中执行此操作 - scipy,statsmodels或任何其他包具有类似的功能吗?
提前致谢.
我正在尝试使用时间序列数据进行多元回归,但是当我将时间序列列添加到模型时,它最终将每个唯一值视为一个单独的变量,就像这样(我的'date'列的类型为datetime) :
est = smf.ols(formula='r ~ spend + date', data=df).fit()
print est.summary()
coef std err t P>|t| [95.0% Conf. Int.]
Intercept -6.249e-10 inf -0 nan nan nan
date[T.Timestamp('2014-10-08 00:00:00')] -2.571e-10 inf -0 nan nan nan
date[T.Timestamp('2014-10-15 00:00:00')] 9.441e-11 inf 0 nan nan nan
date[T.Timestamp('2014-10-22 00:00:00')] 5.619e-11 inf 0 nan nan nan
date[T.Timestamp('2014-10-29 00:00:00')] -8.035e-12 inf -0 nan nan nan
date[T.Timestamp('2014-11-05 00:00:00')] 6.334e-11 inf 0 nan nan nan
date[T.Timestamp('2014-11-12 00:00:00')] 7.9e+04 inf 0 nan nan nan
date[T.Timestamp('2014-11-19 00:00:00')] 1.58e+05 inf 0 …Run Code Online (Sandbox Code Playgroud) 我有一个statsmodels.discrete.discrete_model.BinaryResultsWrapper是running的输出statsmodels.api.Logit(...).fit()。我可以调用该.summary()方法来打印一个结果表,其中的系数嵌入文本中,但是我真正需要的是将这些系数存储到变量中以备后用。我怎样才能做到这一点?关于如何执行此非常基本的操作的文档还不清楚(可能是除了打印结果之外,任何人都想对结果做的最基本的事情)
当我尝试fittedvalues()方法(看起来它会返回系数)时,我得到了错误:
“系列”对象不可调用
来自statsmodels的ARIMA给出了我输出的不准确答案.我想知道是否有人可以帮我理解我的代码有什么问题.
这是一个示例:
import pandas as pd
import numpy as np
import datetime as dt
from statsmodels.tsa.arima_model import ARIMA
# Setting up a data frame that looks twenty days into the past,
# and has linear data, from approximately 1 through 20
counts = np.arange(1, 21) + 0.2 * (np.random.random(size=(20,)) - 0.5)
start = dt.datetime.strptime("1 Nov 01", "%d %b %y")
daterange = pd.date_range(start, periods=20)
table = {"count": counts, "date": daterange}
data = pd.DataFrame(table)
data.set_index("date", inplace=True)
print data
count
date
2001-11-01 0.998543 …Run Code Online (Sandbox Code Playgroud) 问题设置 在statsmodels分位数回归问题中,它们的最小绝对偏差摘要输出显示截距.在该示例中,他们使用公式
from __future__ import print_function
import patsy
import numpy as np
import pandas as pd
import statsmodels.api as sm
import statsmodels.formula.api as smf
import matplotlib.pyplot as plt
from statsmodels.regression.quantile_regression import QuantReg
data = sm.datasets.engel.load_pandas().data
mod = smf.quantreg('foodexp ~ income', data)
res = mod.fit(q=.5)
print(res.summary())
QuantReg Regression Results
==============================================================================
Dep. Variable: foodexp Pseudo R-squared: 0.6206
Model: QuantReg Bandwidth: 64.51
Method: Least Squares Sparsity: 209.3
Date: Fri, 09 Oct 2015 No. Observations: 235
Time: 15:44:23 Df Residuals: …Run Code Online (Sandbox Code Playgroud) 通过statsmodels OLS拟合回顾线性回归我看到你必须使用add_constant在拟合之前为自变量中的所有点添加常量'1'.然而,当我们的x等于0时,我在这个上下文中对截距的唯一理解是y的值,所以我不清楚是什么目的总是在这里注入'1'.这个常数实际上告诉OLS适合什么?
我知道这个话题有很多问题,但没有一个能帮助我解决这个问题.我真的坚持这个.
有一个简单的系列:
0
2016-01-31 266
2016-02-29 235
2016-03-31 347
2016-04-30 514
2016-05-31 374
2016-06-30 250
2016-07-31 441
2016-08-31 422
2016-09-30 323
2016-10-31 168
2016-11-30 496
2016-12-31 303
import statsmodels.api as sm
logdf = np.log(df[0])
decompose = sm.tsa.seasonal_decompose(logdf,freq=12, model='additive')
decomplot = decompose.plot()
Run Code Online (Sandbox Code Playgroud)
我一直在: ValueError: operands could not be broadcast together with shapes (12,) (14,)
我已经尝试了很多东西,只传递了logdf.values,传递了非日志系列.它不起作用.Numpy和statsmodel版本:
print(statsmodels.__version__)
print(pd.__version__)
print(np.__version__)
0.6.1
0.18.1
1.11.3
Run Code Online (Sandbox Code Playgroud) 我正在使用提供的季节性分解分解多个时间序列。这statsmodels是代码和相应的输出:
def seasonal_decompose(item_index):
tmp = df2.loc[df2.item_id_copy == item_ids[item_index], "sales_quantity"]
res = sm.tsa.seasonal_decompose(tmp)
res.plot()
plt.show()
seasonal_decompose(100)
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何以X列的行格式绘制多个此类图,以查看多个时间序列的行为吗?
我正在使用 SARIMAX 耦合模型 (statsmodels.tsa.statespace.sarimax.SARIMAX) 对两个季节性时间序列之间的相关性进行建模。内生变量为 y(t),外生变量为 x(t)。我的目标是使用 x(t) 作为预测变量来预测 y(t)。
\n\n我对 SARIMAX(p,d,q, r )\xe2\x88\x99(P,D,Q)s 过程的理解是将 y(t) 建模为 x(t) 的线性函数,误差项如下一个 SARIMA 过程:\ny(t)=c+\xce\xb21\xe2\x88\x99x(1,t)+\xce\xb22\xe2\x88\x99x(2,t)+\xe2\x8b\xaf+\ xce\xb2r\xe2\x88\x99x(r,t)+\xce\xb5(t) (参见链接中的完整方程\n SARIMAX 模型
\n\n对于上述问题,我有两个问题:(1) 是否可以对高于 1 的滞后回归阶数“ r ”进行建模?\n(2) 一旦估计了 SARIMAX 模型方程,这是预测未来值的最佳方法考虑到 x(t) 是未来的已知变量,y(t) 作为 x(t) 的函数?我见过很多单变量 SARIMA 预测的示例,但没有看到多变量 SARIMAX 预测的示例。\n非常感谢。
\n我正在使用ARIMA模型来预测产品的销售量。数据位于2015年1月1日至2016年11月24日的csv文件中,间隔为1周。我正在尝试预测9步,即未来9周。
CSV中的数据:
"01-01-2015",9
"08-01-2015",8
"15-01-2015",13
"22-01-2015",10
"29-01-2015",12
"05-02-2015",5
"12-02-2015",4
"19-02-2015",6
"26-02-2015",9
"05-03-2015",3
"12-03-2015",3
"19-03-2015",2
...
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码:
def parser(x):
return datetime.datetime.strptime(x, '%d-%m-%Y')
fn = 'filename.csv'
y = pd.read_csv(fn, header = 0, parse_dates = [0], index_col = 0, squeeze = True, date_parser = parser)
newmod = sm.tsa.statespace.SARIMAX(y,order=(1, 1, 0),seasonal_order=(1, 1, 0, 12),enforce_stationarity=False,enforce_invertibility=False)
newresults = newmod.fit()
pred_uc = newresults.get_forecast(steps = 9)
pred_ci = pred_uc.conf_int()
y1 = pred_ci.iloc[:,0]
y2 = pred_ci.iloc[:,1]
ax = y.plot(label = "observed")
pred_uc.predicted_mean.plot(ax=ax, label='Forecast')
ax.fill_between(pred_ci.index, pred_ci.iloc[:,0],pred_ci.iloc[:,1], color = 'k' , …Run Code Online (Sandbox Code Playgroud) statsmodels ×10
python ×8
matplotlib ×2
python-3.x ×2
statistics ×2
time-series ×2
arima ×1
numpy ×1
pandas ×1
quantile ×1
regression ×1
scipy ×1