加权最小二乘法的权重怎么确定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语言的主要内容,如果未能解决你的问题,请参考以下文章

什么是加权最小二乘法,它的基本思想是什么

ArcGIS加权怎么确定权重

SPSS中异方差如何用WLS加权最小二乘消除

用加权最小二乘法拟合曲线matlab?

请教:spss19怎么在做加权最小二乘(W

谁懂迭代加权最小二乘法,能否给讲下原理