标签: statsmodels

逻辑回归获取 sm.Logit 值(python,statsmodels)

我正在使用sm.Logit在 python 中进行逻辑回归,然后获取模型、p 值等是函数.summary ,我想存储.summary函数的结果,到目前为止我有:

  • .params.values:给出 beta 值
  • .params:给出变量的名称和 beta 值
  • .conf_int():给出置信区间

我仍然需要获取std errzp 值

我还想知道是否有办法得到这个(.summary函数的第一部分):

在此输入图像描述

python machine-learning python-3.x statsmodels logistic-regression

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

Plotly:如何在plotlyexpress中找到趋势线系数?

如何在plotlyexpress中找到趋势线的系数?

例如,我使用下面的代码来绘制趋势线,但现在我想知道系数。

import plotly.express as px

px.scatter(df, x='x_data', y='y_data', trendline="ols")
Run Code Online (Sandbox Code Playgroud)

python pandas statsmodels plotly

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

ValueError:您必须指定一个句点或 x 必须是具有 DatetimeIndex 且频率未设置为 None 的 pandas 对象

您好,提前感谢您的帮助!

当我尝试执行从 GitHub 提取的时间序列分解时,出现ValueError: You Mustspecify a period or x must be a pandas object with a DatetimeIndex with a freq not set to None 。我想我对该错误有了基本的了解,但是当我直接从我的计算机上的文件中提取数据而不是从 GitHub 中提取数据时,我没有收到此错误。为什么只有当我从 GitHub 提取数据时才会出现此错误?我应该如何更改我的代码才能不再出现此错误?

import pandas as pd
import numpy as np 
%matplotlib inline
from statsmodels.tsa.seasonal import seasonal_decompose

topsoil = pd.read_csv('https://raw.githubusercontent.com/the- 
datadudes/deepSoilTemperature/master/meanDickinson.csv',parse_dates=True)

topsoil = topsoil.dropna()
topsoil.head()

topsoil.plot();

result = seasonal_decompose(topsoil['Topsoil'],model='ad')


from pylab import rcParams
rcParams['figure.figsize'] = 12,5
result.plot();
Run Code Online (Sandbox Code Playgroud)

python time-series matplotlib pandas statsmodels

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

Statsmodel Z 测试未按预期工作(statsmodels.stats.weightstats.CompareMeans.ztest_ind)

所有内容的格式都与 Statsmodels 网站上的一样,但不知何故 Spyder 返回了以下内容:

类型错误:ztest_ind() 获得参数“alternative”的多个值

我的相关输入是这样的(数据框工作正常):

ztest = statsmodels.stats.weightstats.CompareMeans.ztest_ind(df1['TOTAL'], df2['TOTAL'], alternative = 'two-sided', usevar = 'unequal', value = 0)

我正在遵循此网站上的格式:https://www.statsmodels.org/devel/ generated/statsmodels.stats.weightstats.CompareMeans.ztest_ind.html

python statsmodels

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

ARIMA 预测使用新的 python statsmodels 给出了不同的结果

我正在使用 ARIMA(0,1,0) 进行(样本外)预测。

在python的statsmodels最新稳定版本0.12中。我计算:

import statsmodels.tsa.arima_model as stats

time_series = [2, 3.0, 5, 7, 9, 11, 13, 17, 19]
steps = 4
alpha = 0.05

model = stats.ARIMA(time_series, order=(0, 1, 0))
model_fit = model.fit(disp=0)

forecast, _, intervals = model_fit.forecast(steps=steps, exog=None, alpha=alpha)
Run Code Online (Sandbox Code Playgroud)

这导致

forecast = [21.125, 23.25, 25.375, 27.5]
intervals = [[19.5950036, 22.6549964 ], [21.08625835, 25.41374165], [22.72496851, 28.02503149], [24.44000721, 30.55999279]]
Run Code Online (Sandbox Code Playgroud)

以及未来警告,建议:

FutureWarning: 
statsmodels.tsa.arima_model.ARMA and statsmodels.tsa.arima_model.ARIMA have
been deprecated in favor of statsmodels.tsa.arima.model.ARIMA (note the .
between arima and model) and
statsmodels.tsa.SARIMAX. …
Run Code Online (Sandbox Code Playgroud)

python statsmodels arima

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

Colab 中没有名为“statsmodels.tsa.arima”的模块,但 Pycharm 中没有

# ARIMA example
from statsmodels.tsa.arima.model import ARIMA
data = [200,30,30,35,30,20,26,35,30,33,40,29,29,30,30,30,30,20,26,35,30,33,40,29,29,30,30,30]
# fit model
model = ARIMA(data, order=(10, 1, 10))
model_fit = model.fit()
# make prediction
yhat = model_fit.predict(len(data), len(data), typ='levels')
print(yhat)
Run Code Online (Sandbox Code Playgroud)

from statsmodels.tsa.arima.model import ARIMA在 pycharm 中完美运行,但在 colab 中运行相同的代码时,它会抛出异常 在此输入图像描述 互联网上对该库的支持很少,因此我将不胜感激任何类型的帮助或任何解决方法。

python time-series statsmodels arima

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

Python中的回归

试图通过pandas和statsmodels进行逻辑回归.不知道为什么我收到错误或如何解决它.

import pandas as pd
import statsmodels.api as sm
x = [1, 3, 5, 6, 8]
y = [0, 1, 0, 1, 1]
d = { "x": pd.Series(x), "y": pd.Series(y)}
df = pd.DataFrame(d)

model = "y ~ x"
glm = sm.Logit(model, df=df).fit()
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "regress.py", line 45, in <module>
    glm = sm.Logit(model, df=df).fit()
TypeError: __init__() takes exactly 3 arguments (2 given)
Run Code Online (Sandbox Code Playgroud)

python regression pandas statsmodels

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

statsmodel:模拟数据并运行简单的线性回归

我是python statsmodels包的新手.我正在尝试模拟与log(x)线性相关的一些数据,并使用statsmodels公式接口运行简单的线性回归.以下是代码:

import pandas as pd
import numpy as np
import statsmodels.formula.api as smf

B0 = 3
B1 = 0.5
x = np.linspace(10, 1e4, num = 1000)
epsilon = np.random.normal(0,3, size=1000)

y=B0 + B1*np.log(x)+epsilon
df1 = pd.DataFrame({'Y':y, 'X':x})

model = smf.OLS ('Y~np.log(X)', data=df1).fit()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ValueError                                Traceback (most recent call last)
<ipython-input-34-c0ab32ca2acf> in <module>()
      7 y=B0 + B1*np.log(X)+epsilon
      8 df1 = pd.DataFrame({'Y':y, 'X':X})
----> 9 smf.OLS ('Y~np.log(X)', data=df1)

/Users/tiger/anaconda/lib/python3.5/site-packages/statsmodels/regression/linear_model.py in __init__(self, endog, exog, missing, hasconst, **kwargs)
    689                  **kwargs):
    690         super(OLS, self).__init__(endog, …
Run Code Online (Sandbox Code Playgroud)

python statsmodels

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

规范化数据后,使用回归分析如何预测y?

我已将数据标准化并应用回归分析来预测收益率(y).但我的预测输出也给出了标准化(在0到1)我希望我的预测答案在我的正确数据中,而不是在0到1.

数据:

Total_yield(y)    Rain(x)  
      64799.30   720.1  
      77232.40   382.9  
      88487.70  1198.2  
      77338.20   341.4  
      145602.05   406.4 
      67680.50   325.8 
      84536.20   791.8 
      99854.00   748.6 
      65939.90  1552.6 
      61622.80  1357.7
      66439.60   344.3 
Run Code Online (Sandbox Code Playgroud)

接下来,我使用以下代码规范化数据:

from sklearn.preprocessing import Normalizer
import pandas
import numpy
dataframe = pandas.read_csv('/home/desktop/yield.csv')
array = dataframe.values
X = array[:,0:2]
scaler = Normalizer().fit(X)
normalizedX = scaler.transform(X)
print(normalizedX)

     Total_yield      Rain
0       0.999904  0.013858
1       0.999782  0.020872
2       0.999960  0.008924
3       0.999967  0.008092
4       0.999966  0.008199
5       0.999972  0.007481
6       0.999915  0.013026
7       0.999942  0.010758
8       0.999946  0.010414 …
Run Code Online (Sandbox Code Playgroud)

regression normalization linear-regression scikit-learn statsmodels

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

具有两种随机效应的混合模型-statsmodels

import pandas as pd
import statsmodels.formula.api as smf

df = pd.read_csv('http://www.bodowinter.com/tutorial/politeness_data.csv')
df = df.drop(38)
Run Code Online (Sandbox Code Playgroud)

R我会做:

lmer(frequency ~ attitude + (1|subject) + (1|scenario), data=df)
Run Code Online (Sandbox Code Playgroud)

R给了我:

Random effects:
 Groups   Name        Variance Std.Dev.
 scenario (Intercept)  219     14.80   
 subject  (Intercept) 4015     63.36   
 Residual              646     25.42   
Fixed effects:
            Estimate Std. Error t value
(Intercept)  202.588     26.754   7.572
attitudepol  -19.695      5.585  -3.527
Run Code Online (Sandbox Code Playgroud)

我试图用做同样的事情statsmodels

model = smf.mixedlm("frequency ~ attitude", data=df, groups=df[["subject","scenario"]]).fit()
Run Code Online (Sandbox Code Playgroud)

但是model.summary()给了我不同的输出:

      Mixed Linear Model Regression Results
=======================================================
Model: …
Run Code Online (Sandbox Code Playgroud)

python r mixed-models statsmodels

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