python进行wald检验代码
时间: 2023-10-13 20:06:09 浏览: 303
以下是使用 Python 进行 Wald 检验的代码示例:
```python
import numpy as np
from scipy.stats import norm
def wald_test(beta_hat, se_hat, hypothesized_value):
w = (beta_hat - hypothesized_value) / se_hat
p_value = 2 * (1 - norm.cdf(abs(w)))
return w, p_value
# 示例数据
n = 100
x = np.random.normal(size=n)
y = 2 + 3 * x + np.random.normal(size=n)
# 拟合线性回归模型
X = np.column_stack((np.ones(n), x))
beta_hat, resid, rank, s = np.linalg.lstsq(X, y, rcond=None)
mse_hat = np.sum(resid ** 2) / (n - 2)
se_hat = np.sqrt(np.diag(mse_hat * np.linalg.inv(np.dot(X.T, X))))
# 进行 Wald 检验
w, p_value = wald_test(beta_hat[1], se_hat[1], 0)
print('Wald test statistic: {:.4f}'.format(w))
print('p-value: {:.4f}'.format(p_value))
```
其中,`wald_test` 函数的输入包括估计系数 `beta_hat`、标准误 `se_hat` 和假设值 `hypothesized_value`。函数返回 Wald 统计量 `w` 和双侧 p 值 `p_value`。
在示例代码中,我们使用随机生成的数据拟合了一个简单的线性回归模型,并对斜率系数进行了 Wald 检验。
阅读全文