Skip to content

Commit

Permalink
Update 2024-12-05-加权线性回归.md
Browse files Browse the repository at this point in the history
  • Loading branch information
bintang committed Dec 20, 2024
1 parent e5de552 commit da24775
Showing 1 changed file with 45 additions and 41 deletions.
86 changes: 45 additions & 41 deletions _posts/2024-12-05-加权线性回归.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,11 @@ $$

## 两个影响显著性检验的加权案例

### 1. ‘比例’ 回归案例
### 1. ‘比例’ 回归

**场景:**自变量服从独立同正态分布 $(x_1,x_2,\cdots,x_n)$,因变量也服从独立同正态分布 $(y_1,y_2,\cdots,y_n)$,还有一组观测数据 $(u_1,u_2,\cdots,u_n)$ (非随机变量,确定值),需要对 $y_i/ u_i$ 和 $x_i/u_i$ 进行线性回归,并对斜率进行统计检验。

**模拟零假设**:模拟 $y_i = 0\cdot x_i + \epsilon$,因此理论上 $y_i / u_i$ 和 $x_i / u_i$ 也不相关。
**模拟零假设**:模拟 $y_i = 0\cdot x_i + \epsilon_i$,因此理论上 $y_i / u_i$ 和 $x_i / u_i$ 也不相关。

**结果比较**:比较不同权重模型,包括

Expand Down Expand Up @@ -142,7 +142,7 @@ $$

需要对 $\hat y_i$ 和 $\hat x_i$ 进行线性回归,并对斜率进行统计检验。

**模拟零假设**:模拟 $y_i = 0\cdot x_i + \epsilon$
**模拟零假设**:模拟 $y_i = 0\cdot x_i + \epsilon_i$

**结果比较**:比较不同权重模型,包括

Expand Down Expand Up @@ -204,26 +204,39 @@ abline(b=1,a=0)

```

## 4 如何有效加权?
### 3 案例总结

加权线性回归提出就是为了优先拟合某些观测更准确的点,但权重该如何决定? 哪种权重(确保统计推断时)有效?对于权重的类型多种多样,这个可以根据实际情况自行决定,**这里我们主要讨论如何加权可以确保最终统计分析的有效性。**
在这两个例子中,是否加权不会使结果产生偏差,加权的作用是优先可靠的数据点,这可以让估计的结果更稳定,方差更小。但加权会影响参数的统计检验,在案例1——比例回归中,不加权会是参数检验的P值产生假阳性,并且假阳性比例非常高;在案例2——随机因变量和自变量中,不加权会使推断结果偏保守,错误的权重又会让结果产生假阳性。这两个案例体现了加权对参数检验的影响,虽然加权考虑数据的重要性,使估计结果更稳定,但加权对统计检验的影响也不容忽视,错误的权重选择会使统计检验的结果失效,影响后续的分析。如何构造可以保证统计检验有效的加权非常重要。

在简单线性回归(没有加权),线性回归的参数$(\hat \beta,\hat \theta)$都是无偏估计,且服从正态分布。在加权线性回归进行统计分析,我们也需要确保我们估计的参数 $(\hat \beta,\hat \theta)$ 是无偏估计,且服从正态分布。
## 如何有效加权?

- **首先验证正态分布**:在一般线性回归中,我们一般将自变量看作固定的,只考虑因变量的随机性,即使是加权线性回归也是如此。在上面 $(\hat \beta,\hat \theta)$ 的估计表达式中,都是对 $y_i$ 的线性组会,而 $y_i$ 是正态分布(**正态性假设**),因此 $(\hat \beta,\hat \theta)$ 也都是服从正态分布。
加权线性回归有效性的证明有几个方面:

- **证明无偏估计**,即验证均值$E(\hat \beta) = \beta$,这里我们以 $\hat \beta$ 为例:

$$
E(\hat \beta) = E(\frac{\sum_i^N w_i x_i y_i - \frac{\sum_i^N w_i y_i \cdot \sum_i^N w_i x_i}{\sum_i^N w_i}}
{\sum_i^N w_i x_i^2 - \frac{(\sum_i^N w_i x_i)^2}{\sum_i^N w_i}}) \\
= E( \frac{\sum_i^N w_i x_i (\beta X_i + \theta) - \frac{\sum_i^N w_i (\beta X_i + \theta) \cdot \sum_i^N w_i x_i}{\sum_i^N w_i}}
{\sum_i^N w_i x_i^2 - \frac{(\sum_i^N w_i x_i)^2}{\sum_i^N w_i}}) \\
= \beta
$$
- 参数的分布是正态分布;
- 参数估计是无偏的;
- `lm()`中正态分布的方差计算正确 (**问题关键**);

要进行统计推断还有最重要的一步,计算方差 $var(\hat \beta)$:
### 1. 参数估计服从正态分布

在一般线性回归中,我们一般将自变量看作固定的,只考虑因变量的随机性,即使是加权线性回归也是如此。在上面 $(\hat \beta,\hat \theta)$ 的估计表达式中,都是对 $y_i$ 的线性组会,而 $y_i$ 是正态分布(**正态性假设**),因此 $(\hat \beta,\hat \theta)$ 也都是服从正态分布。

### 2. 参数估计是无偏的

证明无偏估计,即验证均值$E(\hat \beta) = \beta$,这里我们以 $\hat \beta$ 为例:

$$
E(\hat \beta) = E(\frac{\sum_i^N w_i x_i y_i - \frac{\sum_i^N w_i y_i \cdot \sum_i^N w_i x_i}{\sum_i^N w_i}}
{\sum_i^N w_i x_i^2 - \frac{(\sum_i^N w_i x_i)^2}{\sum_i^N w_i}}) \\
= E( \frac{\sum_i^N w_i x_i (\beta X_i + \theta) - \frac{\sum_i^N w_i (\beta X_i + \theta) \cdot \sum_i^N w_i x_i}{\sum_i^N w_i}}
{\sum_i^N w_i x_i^2 - \frac{(\sum_i^N w_i x_i)^2}{\sum_i^N w_i}}) \\
= \beta
$$

### 3. 正态分布的方差计算正确 (问题关键)

**加权线性回归的方差计算**

要进行统计推断还有最重要的一步,计算方差 $var(\hat \beta)$:
$$
Var(\hat \beta) = Var(\frac{\sum_i^N w_i x_i y_i - \frac{\sum_i^N w_i y_i \cdot \sum_i^N w_i x_i}{\sum_i^N w_i}}
{\sum_i^N w_i x_i^2 - \frac{(\sum_i^N w_i x_i)^2}{\sum_i^N w_i}}) \\
Expand All @@ -238,43 +251,34 @@ Var(\hat \beta) = Var(\frac{\overline w \cdot \sum_i^N w_i x_i y_i - \sum_i^N w_
= Var(\frac{\sum_i^N (\overline w x_i - \overline {wx}) w_i\epsilon_i }{D})
$$

**Note**: 虽然 $\epsilon_i$ 是服从正态分布,这里的方差很容易估计,但我们需要注意在 R 语言的 `lm()` 以及 python 的 `StatsModels` 中,它们估计这个方差基于特定形式:

1. 首先是加权线性回归残差和权重的关系:

(加权)最小二乘 $\sum_{i=1}^N w_i (y_i - \beta X_i - \theta)^2$ 在统计分析中的意义是不可解释的残差最小,即 $\sum_{i=1}^N \sigma_i^2$。因此

$$
\sigma_i^2 = w_i (y_i - \beta X_i - \theta)^2
$$

2. 第二是它们依然假设独立同分布:

与普通线性回归的一样,这里的加权线性回归也需要假设独立同分布,但不同的地方在于加权线性回归计算的正态分布的的方差包含权重($\sigma_i^2 = w_i (y_i - \beta X_i - \theta)^2$),要求 $w_i (y_i - \beta X_i - \theta)^2 = w_j (y_j - \beta X_j - \theta)^2, i\ne j$。而一般的线性回归要求的同分布是 $(y_i - \beta X_i - \theta)^2 = (y_j - \beta X_j - \theta)^2, i\ne j$。

因此在加权线性回归中,最终残差方差会被估计为 $Se = \frac{\sum_i w_i (y_i - \beta X_i - \theta)^2}{N-2}$。

在这两个假设下,继续前面的方差推导可以得到:
$\epsilon_i$ 是服从均值为零的正态分布,如果每个都已知,方差可以很容易地估计出来,但它的分布是未知的。一般的线性回归会假设 $\epsilon_i$ 服从独立同分布,在加权线性回归中也是类似,也要假设独立同分布,但有一点不一样。这个不同点要从加权线性回归的拟合函数说起,(加权)最小二乘 $\sum_{i=1}^N w_i (y_i - \beta X_i - \theta)^2$​ 在统计分析中的意义是不可解释的残差最小,因此

$$
\sigma_i^2 = w_i (y_i - \beta X_i - \theta)^2 = (\sqrt w_i \epsilon_i)^2
$$
**加权线性回归中假设的是 $\sqrt w_i \epsilon_i$ 的方差相同,服从独立同分布**。在这个假设下,我没才能计算得到 $\hat \beta$ 的方差:
$$
Var(\hat \beta) = Var(\frac{\sum_i^N (\overline w x_i - \overline {wx}) w_i\epsilon_i }{D}) \\
= \frac{\sum_i^N ((\overline w x_i - \overline {wx}) \sqrt{w_i} )^2}{D^2} var(\sqrt{w_i}\epsilon_i) \\
= \frac{\sum_i^N (\overline w x_i - \overline {wx})^2 w_i }{D^2} \cdot Se
$$

其中 $Se = \frac{\sum_i w_i (y_i - \beta X_i - \theta)^2}{N-2}$。

## 5 总结
### 4. 总结

在提到前面推导,以及Note的两个假设中,说明了为什么要使用方差的倒数进行加权了,这里结合我的数值例子说明
在 1-3 点的推到中可以看出,加权让统计检验失效的原因使加权后,**违背了加权线性回归中的独立同分布特点**。例如

- 在第一个例子中,虽然随机变量 $Y$ 的观察值都是服从独立同正态分布,但 $Y/U$ 则不再是服从相同的分布了,使用普通的线性回归自然会产生偏差。而考虑了加权线性回归,使用方差的倒数进行加权,也就是 $w_i = u_i^2$,此时加权后的 $w_i \cdot var(y_i/u_i) = w_j \cdot var(y_j/u_j), i\ne j$ ,满足加权线性回归的同分布条件,因此有效。
- 在第一个例子中,虽然随机变量 $y_i$ 服从独立同正态分布,但 $y_i/u_i$ 则不再是服从相同的分布了,使用普通的线性回归自然会产生偏差。而考虑了加权线性回归,使用 $w_i = u_i^2$ 进行加权,此时加权后的方差相同,即 $w_i \cdot var(y_i/u_i) = w_j \cdot var(y_j/u_j), i\ne j$ ,满足加权线性回归的同分布条件,因此有效。
- 第二个例子也和第一个例子类似,使用方差倒数进行加权可以是加权线性回归满足同分布条件。
- 写完这个,让我基本弄明白了在加权线性回归 `lm()` 中,通过**确保加权后保持同分布( $w_i \cdot var(y_i/u_i) = w_j \cdot var(y_j/u_j), i\ne j$)来选择确定权重。**
- 实际上,R包中的`lm()`这类函数只是加权线性回归的通用形式,在正态分布下,**即使完全不加权或者随意加权,估计的参数也是服从正态分布,只是 `lm()` 对方差的估计产生了偏差。**我们完全可以自己推导相关的方差进行统计分析,特别是在一些非线性加权(比如权重会随着 $y_i$ 大小变化而变化),这种自己推导将非常有效。

这里的证明论述也有一点需要注意:**在验证线性回归的参数服从正态分布时,更一般的证明是使用中心极限定理证明**,它还可以用来证明因变量不服从正态分布的广义线性回归,估计参数依然服从正态分布。前提是有足够的样本量。在我们的第二个例子,样本量较大(>200),不加权的方法也有效,但样本量只有20时就会存在偏差。第一个例子可能就必须使用加权了,因为$Y/U$分布是随着样本变化而变化。当将 $U$ 固定在一定范围,当样本量越来越大时,最终不加劝也会有效。
想让 `lm()` 保证统计检验有效,可以通过**确保加权后的残差分布相同( $w_i \cdot var(y_i/u_i) = w_j \cdot var(y_j/u_j), i\ne j$)来选择确定权重。**

实际上,R包中的`lm()`这类函数只是加权线性回归的通用形式,在正态分布下,即使完全不加权或者随意加权,估计的参数也是服从正态分布,只是与`lm()` 对方差的特定计算不符合。我们完全可以自己推导相关的方差进行统计分析,特别是在一些非线性加权(比如权重会随着 $y_i$ 大小变化而变化),这种自己推导将非常有效。

这里的证明论述也有一点需要注意:在验证线性回归的参数服从正态分布时,更一般的证明是使用中心极限定理证明,它还可以用来证明因变量不服从正态分布的广义线性回归,估计参数依然服从正态分布。前提是有足够的样本量。在我们的第二个例子,样本量较大(>200),不加权的方法也有效,但样本量只有20时就会存在偏差。第一个例子可能就必须使用加权了,因为$Y/U$分布是随着样本变化而变化。当将 $U$ 固定在一定范围,当样本量越来越大时,最终不加权也会有效。

## 6 参考
## Reference

> 这个加权线性回归的原理推到是基于机器学习:https://xg1990.com/blog/archives/164
>
Expand Down

0 comments on commit da24775

Please sign in to comment.