Dejemos que $\text{SSR}$ denotan la suma de los residuos al cuadrado y $\text{WSSR}$ el peso de la $\text{SSR}$ . El enfoque estándar de la regresión OLS minimiza la $\text{SSR}$ con $y$ como dependiente y $y$ como variable independiente:
$$\text{SSR}(\beta) = \sum^n_{i=1}{(y_i - \hat{x}_i \cdot \beta)^2}$$
El enfoque WLS añade un peso $w$ para cada una de las observaciones $x_i$ . La regresión OLS es el caso especial de WLS cuando se aplica $w=1$ para todos $x_i$ . WLS minimiza el peso de la $\text{SSR}$ :
$$\text{SSR}(\beta, w) = \sum^n_{i=1}{w \cdot (y_i - \hat{x}_i \cdot \beta)^2}$$
Si sus pesas $w_i$ son root cuadrada de las empresas $i$ de mercado, esto se traduce en:
$$\text{SSR}(\beta, w) = \sum^n_{i=1}{\sqrt{MV_i} \cdot (y_i - \hat{x}_i \cdot \beta)^2}$$
donde $MV_i$ es la capitalización bursátil de la empresa $i$ . Como resultado, el peso $w$ sigue siendo root "cuadrada" y no la "cuarta".
En Python, el WLS con pesos de uno a siete se aplica como:
import statsmodels.api as sm
Y = [1,3,4,5,2,3,4]
X = range(1,8)
X = sm.add_constant(X)
wls_model = sm.WLS(Y,X, weights=list(range(1,8)))
results = wls_model.fit()
results.params
array([ 2.91666667, 0.0952381 ])
Mientras que en R, simplemente se ejecuta:
y <- c(1,3,4,5,2,3,4)
x <- 1:7
summary(lm(y ~ x , weights = 1:7))