加权最小二乘法的权重怎么确定r语言
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加权最小二乘法的权重怎么确定r语言相关的知识,希望对你有一定的参考价值。
参考技术A 第一步:OLS回归,并计算残差r第二步:生成残差的平方,即r2
第三步:对r2取对数,并对解释变量做辅助回归(不显著的变量去掉)
第四步:计算辅助回归的拟合值G
第五步:对G做指数化处理,定义H=exp(G)
第六步:以1/H为权重做WLS回归,比如Stata中的命令为 reg y x [aw=1/H]
迭代重新加权最小二乘
【中文标题】迭代重新加权最小二乘【英文标题】:iterative reweighted least squares 【发布时间】:2020-09-18 20:15:08 【问题描述】:我正在尝试在 python 中手动实现 irls 逻辑回归(Bishop - Pattern Recognition And Machine Learning 中的第 4.3.3 章)。 为了更新权重,我使用 但是我没有得到令人满意的结果,而且我的权重在每次迭代中都在无限增长。
到目前为止,我已经编写了这段代码:
def y(X, w):
return sigmoid(X.dot(w))
def R(y):
R = np.identity(y.size)
R = R*(y*(1-y))
return R
def irls(X, t):
w = np.ones(X.shape[1])
w = w.reshape(w.size, 1)
t = np.array(list(map(lambda x: 1 if x else 0, t)))
t = t.reshape(t.size, 1)
#after 3 iterations matrix is singular
for i in range(3):
y_ = y(X,w)
w = w - np.linalg.inv(X.T.dot(R(y_)).dot(X)).dot((X.T).dot(y_-t))
return w
其中 X 是我的设计矩阵(64 个特征和 74 个样本),t 是包含布尔值的目标向量(数据来自 https://archive.ics.uci.edu/ml/datasets/Mice+Protein+Expression)。
感谢任何帮助指出我出错的地方。
【问题讨论】:
【参考方案1】:所以答案很简单,设置初始权重向量w = np.zeros(X.shape[1)
【讨论】:
以上是关于加权最小二乘法的权重怎么确定r语言的主要内容,如果未能解决你的问题,请参考以下文章