- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想要一个系数和与之关联的 Newey-West 标准误差。
我正在寻找可以执行以下 R 代码所执行的操作的 Python 库(理想情况下,但任何可行的解决方案都可以):
library(sandwich)
library(lmtest)
a <- matrix(c(1,3,5,7,4,5,6,4,7,8,9))
b <- matrix(c(3,5,6,2,4,6,7,8,7,8,9))
temp.lm = lm(a ~ b)
temp.summ <- summary(temp.lm)
temp.summ$coefficients <- unclass(coeftest(temp.lm, vcov. = NeweyWest))
print (temp.summ$coefficients)
结果:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.0576208 2.5230532 0.8155281 0.4358205
b 0.5594796 0.4071834 1.3740235 0.2026817
我得到系数并与它们相关联的标准误差。
我看到 statsmodels.stats.sandwich_covariance.cov_hac模块,但我不知道如何让它与 OLS 一起工作。
最佳答案
编辑 (10/31/2015) 以反射(reflect) 2015 年秋季 statsmodels
的首选编码风格。
在 statsmodels
版本 0.6.1 中,您可以执行以下操作:
import pandas as pd
import numpy as np
import statsmodels.formula.api as smf
df = pd.DataFrame({'a':[1,3,5,7,4,5,6,4,7,8,9],
'b':[3,5,6,2,4,6,7,8,7,8,9]})
reg = smf.ols('a ~ 1 + b',data=df).fit(cov_type='HAC',cov_kwds={'maxlags':1})
print reg.summary()
OLS Regression Results
==============================================================================
Dep. Variable: a R-squared: 0.281
Model: OLS Adj. R-squared: 0.201
Method: Least Squares F-statistic: 1.949
Date: Sat, 31 Oct 2015 Prob (F-statistic): 0.196
Time: 03:15:46 Log-Likelihood: -22.603
No. Observations: 11 AIC: 49.21
Df Residuals: 9 BIC: 50.00
Df Model: 1
Covariance Type: HAC
==============================================================================
coef std err z P>|z| [95.0% Conf. Int.]
------------------------------------------------------------------------------
Intercept 2.0576 2.661 0.773 0.439 -3.157 7.272
b 0.5595 0.401 1.396 0.163 -0.226 1.345
==============================================================================
Omnibus: 0.361 Durbin-Watson: 1.468
Prob(Omnibus): 0.835 Jarque-Bera (JB): 0.331
Skew: 0.321 Prob(JB): 0.847
Kurtosis: 2.442 Cond. No. 19.1
==============================================================================
Warnings:
[1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
或者你可以在拟合模型后使用get_robustcov_results
方法:
reg = smf.ols('a ~ 1 + b',data=df).fit()
new = reg.get_robustcov_results(cov_type='HAC',maxlags=1)
print new.summary()
OLS Regression Results
==============================================================================
Dep. Variable: a R-squared: 0.281
Model: OLS Adj. R-squared: 0.201
Method: Least Squares F-statistic: 1.949
Date: Sat, 31 Oct 2015 Prob (F-statistic): 0.196
Time: 03:15:46 Log-Likelihood: -22.603
No. Observations: 11 AIC: 49.21
Df Residuals: 9 BIC: 50.00
Df Model: 1
Covariance Type: HAC
==============================================================================
coef std err z P>|z| [95.0% Conf. Int.]
------------------------------------------------------------------------------
Intercept 2.0576 2.661 0.773 0.439 -3.157 7.272
b 0.5595 0.401 1.396 0.163 -0.226 1.345
==============================================================================
Omnibus: 0.361 Durbin-Watson: 1.468
Prob(Omnibus): 0.835 Jarque-Bera (JB): 0.331
Skew: 0.321 Prob(JB): 0.847
Kurtosis: 2.442 Cond. No. 19.1
==============================================================================
Warnings:
[1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
statsmodels
的默认值与 R
中等效方法的默认值略有不同。 R
方法可以等效于 statsmodels
默认值(我在上面所做的),方法是将 vcov,
调用更改为以下内容:
temp.summ$coefficients <- unclass(coeftest(temp.lm,
vcov. = NeweyWest(temp.lm,lag=1,prewhite=FALSE)))
print (temp.summ$coefficients)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.0576208 2.6605060 0.7733945 0.4591196
b 0.5594796 0.4007965 1.3959193 0.1962142
您仍然可以在 pandas (0.17) 中执行 Newey-West,尽管我相信计划是在 pandas 中弃用 OLS:
print pd.stats.ols.OLS(df.a,df.b,nw_lags=1)
-------------------------Summary of Regression Analysis-------------------------
Formula: Y ~ <x> + <intercept>
Number of Observations: 11
Number of Degrees of Freedom: 2
R-squared: 0.2807
Adj R-squared: 0.2007
Rmse: 2.0880
F-stat (1, 9): 1.5943, p-value: 0.2384
Degrees of Freedom: model 1, resid 9
-----------------------Summary of Estimated Coefficients------------------------
Variable Coef Std Err t-stat p-value CI 2.5% CI 97.5%
--------------------------------------------------------------------------------
x 0.5595 0.4431 1.26 0.2384 -0.3090 1.4280
intercept 2.0576 2.9413 0.70 0.5019 -3.7073 7.8226
*** The calculations are Newey-West adjusted with lags 1
---------------------------------End of Summary---------------------------------
关于python - Python 中 OLS 的 Newey-West 标准错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23420454/
我有这个html Ordered List Style Here’s another, they shouldn’t be too terribly long, but might
这是文档导出功能中包含的html {{ $leftdata->title }} {{ $rightdata->title }}
对于我的评估,我想运行一个滚动的 1000 窗口 OLS 回归估计 在此 URL 中找到的数据集: https://drive.google.com/open?id=0B2Iv8dfU4fTUa3dP
我有很多使用无法正常工作的旧嵌套列表的 html 页面。我想动态查看页面是否使用它并添加类属性或建议更好的方法。 动态更新所有出现的 to 或者建议我是否仍然可以使用该类型但使用嵌入式 CSS 应
我已将数据分为训练样本和验证样本,并成功地将我的模型与三种类型的线性模型拟合。我不知道该怎么做是将模型应用于验证样本以评估拟合度。当我尝试将模型应用于保留样本时(抱歉,我知道这不是一个可重现的示例,但
我用的是 OpenLayers 4.1.1 我有一个用 ol-debug.js 编写的函数 我的目标是手动输入第一个坐标并简单地绘制线串。 ol.interaction.Draw.prototype.
我遇到了一个问题,我正在使用的所见即所得编辑器通过在父 ol 内部而不是内部创建新的 ol 来在列表中创建子项父 li 的,这让我很难理解如何让计数器将元素 3 识别为 3 而不是 4。我意识到正确的
可以为 ol.style.Text 实例(offsetX 和 offsetY 属性)定义一个偏移量,并为ol.style.Icon 实例。此功能在 ol.style.Circle 和 ol.style
我需要像这样 用这个标记 Lorem ipsum dolor sit amet consectetuer adipiscing elit
我试图在选择 VectorTile 图层后更改该要素的样式。但是,第一次触发选择交互时,控制台会报告错误: Uncaught TypeError: feature.getId is not a fun
我试图在选择 VectorTile 图层后更改该要素的样式。但是,第一次触发选择交互时,控制台会报告错误: Uncaught TypeError: feature.getId is not a fun
我用python处理一个线性回归模型,json数据如下: {"Y":[1,2,3,4,5],"X":[[1,43,23],[2,3,43],[3,23,334],[4,43,23],[232,234,
这个问题在这里已经有了答案: Does UL have default margin or padding [duplicate] (2 个答案) 关闭 3 年前。
我有以下 HTML: A numbered bullet An un-numbered bullet 但是显示是这样的: 1. A numbered b
我正在计算蒙特卡罗回归,以分析因变量中的测量误差对 OLS 估计的影响。这方面的理论很清楚。平均而言,常数和斜率系数的估计应该是正确的。但是,我的 R 代码会产生一个有偏常数但无偏斜率系数。我怀疑我在
我想在单击链接时切换订单列表 **Group 1**
奇怪的问题列表项编号与其内容不一致。参见 live page或截图:1 , 2 看到有序列表的行号与其内容不对齐。当屏幕很宽时它们都在下面,当屏幕很窄时它们都在空中。 认为是 CSS 有问题,因为 C
我使用下面的 CSS 代码在我的网页中显示有序列表。我已将内容导出到 PDF,然后 PDF 中的有序列表显示不同,如下图链接所示。 ol { counter-reset: item; } o
我是使用 CSS 列表的后来者。我使用此代码创建列表,其中第一个缩进为 a-z,第二个缩进为罗马、i、ii、iii、iv 等: /* SF/2013-10-16; this code will cre
出于样式的原因,我使用带有伪类的 ol 元素。不幸的是,我无法开始计算所需索引中的列表项。怎么了? js fiddle HTML car flower garden
我是一名优秀的程序员,十分优秀!