Python 3.x scipy回归模型的残差和
我正在用python阅读一本统计工作簿,有一个实践性的问题让我很困惑。它与泊松回归有关,下面是问题陈述:- 执行以下任务:Python 3.x scipy回归模型的残差和,python-3.x,scipy,statistics,poisson,Python 3.x,Scipy,Statistics,Poisson,我正在用python阅读一本统计工作簿,有一个实践性的问题让我很困惑。它与泊松回归有关,下面是问题陈述:- 执行以下任务: 从MASS package加载R数据集,并将数据捕获为数据帧 建立一个泊松回归模型,用一个 自变量、持有人和因变量索赔 用数据拟合模型 找到残差之和 我坚持上面第四点。有人能帮上忙吗 以下是我迄今为止所做的工作:- import statsmodels.api as sm import statsmodels.formula.api as smf import numpy
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())
现在如何获得残差之和?在泊松模型=smf.poisson('np.log(Holders)~-1+Claims',df)语句中,因变量“Claims”应位于右侧 泊松模型=smf.poisson('索赔~np.log(持有人)-1',df)np.sum(泊松结果剩余) 很好 正如Karthikeyan指出的那样,您使用了错误的变量来构建泊松模型。 用这个代替 poisson_model=smf.poisson('Claims~np.log(Holders)),df)如果有人在寻找解决方案,则在“Fresco”中对其进行限定 1.a)从MASS package加载R数据集保险 1.b)并将数据捕获为数据帧 2) 建立一个泊松回归模型,包含一个自变量、持有人和因变量索赔的对数 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))
我在这方面是新手,所以我不知道将数据捕获为panda dataframe是否合适,但现在就告诉我
问候湿壁画Mex
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))
我不知道它是否有效,但我参考了这些文件 所以我希望这也能奏效
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))
对于这个问题,请尝试np.cumsum(model.resid)
理想情况下,
np.sum(model.resid)
应该是这个问题的正确答案。。。但是如果系统不接受它,请尝试使用cumsum
尝试下面的壁画播放代码
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))
只需执行:
np.sum(poisson\u result.resid)
虽然我得到的输出是180,但它仍然表示答案不知何故是错误的。正在尝试找出如何欢迎堆栈溢出!使用格式化工具使文章更具可读性。代码块应类似于代码块
。如果需要,请使用粗体斜体。我得到如下输出:优化成功终止。当前函数值:3.468160迭代7 6.679101716144942e-13以下答案未被FP练习排除------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>。当前函数值:3.468160迭代7 6.679101716144942e-13您能解释为什么需要cumsum而不是sum吗?
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))