我正在使用python进行统计工作簿,我遇到了一个实践问题。它与泊松回归相关,这里是问题陈述:-
执行以下任务:
我坚持上面的第4点。任何人都可以帮助执行此步骤吗?
这是我到目前为止所做的:-
import statsmodels.api as sm
import statsmodels.formula.api as smf
import numpy as np
df = sm.datasets.get_rdataset('Insurance', package='MASS', cache=False).data
poisson_model = smf.poisson('np.log(Holders) ~ -1 + Claims', df)
poisson_result = poisson_model.fit()
print(poisson_result.summary())
现在如何获得残差之和?
答案 0 :(得分:2)
尝试下面的壁画播放代码
import statsmodels.api as sm
import statsmodels.formula.api as smf
import pandas as pd
import numpy as np
df_insurance=sm.datasets.get_rdataset("Insurance","MASS")
df_data=df_insurance.data
insurance_model=smf.poisson('Claims ~ np.log(Holders)', df_data).fit()
print(np.cumsum(insurance_model.resid))
答案 1 :(得分:1)
np.sum(poisson_result.resid)
工作正常
您使用了错误的变量来构建Karthikeyan指出的泊松模型。 改用
poisson_model = smf.poisson('索赔〜np.log(持有人)',df)
答案 2 :(得分:1)
1.a)从MASS包中加载R数据集保险
1.b)并将数据捕获为熊猫数据框
2)用自变量,Holders和因变量Claims的对数建立泊松回归模型。
3)用数据拟合模型。
4)求出残差之和。
import statsmodels.api as sm
import statsmodels.formula.api as smf
import pandas as pd
import numpy as np
#load the R data set insurrance from MASS package
ins = sm.datasets.get_rdataset('Insurance','MASS').data
# capture the data as pandas data frame
ins_pd = pd.DataFrame(ins)
# build a poisson regressions model with
# a log of an independent variable "Holders"
# and dependent variable "Claims"
# fit the model with data
result = smf.poisson('Claims ~ np.log(Holders)',data=ins).fit()
# you can also use
# model = smf.poisson('Claims ~ np.log(Holders)',data=ins)
# result = model.fit()
# Find tue sum of residuals
print('Sum ot the residuals:',np.sum(result.resid))
我是新来的,所以我不知道是否以熊猫数据框的形式捕获数据是否正确,但现在让我来
问候
答案 3 :(得分:1)
壁画墨西哥人
import statsmodels.api as sm
import statsmodels.formula.api as smf
import pandas as pd
import numpy as np
df_data=sm.datasets.get_rdataset("Insurance","MASS").data
df_dataf= pd.DataFrame(df_data)
insurance_model=smf.poisson('Claims ~ np.log(Holders)',df_data)
insurance_model_result=insurance_model.fit()
print(np.sum(insurance_model_result.resid))
答案 4 :(得分:0)
在poisson_model = smf.poisson('np.log(Holders)〜-1 + Claims',df)语句中,因变量“ Claims”应该出现在右侧
poisson_model = smf.poisson('索赔〜np.log(Holders)-1',df)
答案 5 :(得分:0)
df_insurance=sm.datasets.get_rdataset("Insurance","MASS")
df_data=df_insurance.data
insurance_model=smf.poisson('Claims ~ np.log(Holders)',df_data)
insurance_model_result=insurance_model.fit()
res=(insurance_model_result.resid)
print(np.sum(res))
答案 6 :(得分:0)
我不知道它是否可以工作。但是我参考了这份文档
https://vincentarelbundock.github.io/Rdatasets/doc/MASS/Insurance.html https://vincentarelbundock.github.io/Rdatasets/datasets.html
所以我希望这也会起作用。
import statsmodels.api as sm
import statsmodels.formula.api as smf
import numpy as np
import pandas as pd
data=pd.DataFrame(sm.datasets.get_rdataset("Insurance","MASS",cache=True).data)
model=smf.poisson('Claims ~ District + Group + Age + np.log(Holders)',data).fit()
print(np.sum(model.resid))
答案 7 :(得分:0)
尝试np.cumsum(model.resid)
这个问题。
理想情况下,np.sum(model.resid)
应该是该问题的正确答案...但是,如果系统不接受,请尝试cumsum