python - 获取 OLSmodel 的摘要时的问题
问题描述
我有femalesucide
数组size (4,180)
和HDIar
数组size(4,180)
。我运行 OLS 回归,但是当我尝试获取模型摘要时它给出了错误
femalesucide=np.array([femalesuiciderate2000,femalesuiciderate2005,femalesuiciderate2010,femalesuiciderate2015])
HDIar=np.array([HDIRank2000,HDIRank2005,HDIRank2010,HDIRank2015])
model4=sm.OLS(femalesucide,HDIar).fit()
prediction=model4.predict(HDIar)
print_model4=model4.summary()
print(print_model4)
我收到以下错误:
C:\Users\srija\AppData\Local\Programs\Python\Python37-32\lib\site-packages\statsmodels\stats\stattools.py:72:ValueWarning:omni_normtest 在少于 8 个观察值时无效;给了4个样品。“给了样品。” % int(n), ValueWarning) ValueError: 形状 (4,180) 和 (4,180) 未对齐: 180 (dim 1) != 4 (dim 0)
解决方案
您的因变量femalesucide
是多变量的,即具有多列的二维。
OLS 只支持单变量因变量,即endog
应该是一维的。由于线性代数用于估计的方式,拟合可能有效并估计params
,但大多数其他结果不适用于多元因变量。
作为替代方案,您可以堆叠因变量以获得一个单变量模型并添加相应的虚拟变量和交互项,或者使用linearmodels
包并估计面板数据模型。
statsmodels 尚不完全支持具有多变量因变量的模型。
推荐阅读
- javascript - Javascript使用calc调整div宽度
- javascript - Vuejs 填充
在 url 中使用动态参数 - php - 以编程方式将自定义字段及其值添加到 Woocommerce 产品变体
- google-sheets - 在一个电子表格上运行脚本以更改另一个电子表格上的值
- ios - Flutter (iOS) - 在 GeneratedPluginRegistrant.m 中找不到模块“cloud_firestore”
- html - 图像在所有 4 个面上都被截断
- c - 为什么 0x90 变成 0xFF (255) 作为 Eclipse 2021-03 CDT - C 代码中的参数?
- flutter - 如何在颤振中为飞镖创建一组地图
- c++ - 为什么我的代码认为两个条目都不同,即使两个条目相同
- java - Weka 和 SQL Server 2019 (Mac OS Big Sur 11.5 beta, MacBook Pro M1) 连接问题