### NOTE: This ado has been withrdrawn at the request of the author. We do not suggest its use, and it is no longer being supported.

Weighted least squares provides one method for dealing with heteroscedasticity. The wls0 command can be used to compute various WLS solutions. You can download wls0 over the internet by typing findit wls0 (see How can I use the findit command to search for programs and get additional help? for more information about using findit).

Let's use an example dataset that exhibits heteroscedasticity, hetdata.
use http://www.ats.ucla.edu/stat/stata/ado/analysis/hetdata, clear

regress exp age ownrent income incomesq

Source |       SS       df       MS              Number of obs =      72
-------------+------------------------------           F(  4,    67) =    5.39
Model |  1749357.01     4  437339.252           Prob > F      =  0.0008
Residual |  5432562.03    67  81083.0153           R-squared     =  0.2436
Total |  7181919.03    71  101153.789           Root MSE      =  284.75

------------------------------------------------------------------------------
exp |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
age |  -3.081814   5.514717    -0.56   0.578    -14.08923    7.925606
ownrent |   27.94091   82.92232     0.34   0.737    -137.5727    193.4546
income |    234.347   80.36595     2.92   0.005     73.93593    394.7581
incomesq |  -14.99684   7.469337    -2.01   0.049     -29.9057   -.0879859
_cons |  -237.1465   199.3517    -1.19   0.238    -635.0541    160.7611
------------------------------------------------------------------------------

rvpplot income, yline(0) scheme(lean1)


The residual versus income plot shows clear evidence of heteroscedasticity. Let's try a WLS weighting proportional to income. The WLS type, abse, uses the absolute value of the residuals and in this case no constant.
wls0 exp age ownrent income incomesq, wvar(income) type(abse) noconst graph

WLS regression -  type: proportional to abs(e)

(sum of wgt is   5.1961e-03)

Source |       SS       df       MS              Number of obs =      72
-------------+------------------------------           F(  4,    67) =    5.73
Model |  818838.784     4  204709.696           Prob > F      =  0.0005
Residual |  2393372.07    67  35721.9713           R-squared     =  0.2549
Total |  3212210.86    71  45242.4065           Root MSE      =     189

------------------------------------------------------------------------------
exp |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
age |  -2.694186   3.807306    -0.71   0.482     -10.2936    4.905229
ownrent |   60.44878   58.55088     1.03   0.306    -56.41928    177.3168
income |    158.427   76.39115     2.07   0.042     5.949594    310.9044
incomesq |  -7.249289   9.724337    -0.75   0.459    -26.65915    12.16057
_cons |  -114.1089   139.6875    -0.82   0.417    -392.9263    164.7085
------------------------------------------------------------------------------


The residual plot is better. We can try other possibilities, such as, weighting proportional to income and income squared.
wls0 exp age ownrent income incomesq, wvar(income incomesq) type(abse) noconst graph

WLS regression -  type: proportional to abs(e)

(sum of wgt is   2.7071e-03)

Source |       SS       df       MS              Number of obs =      72
-------------+------------------------------           F(  4,    67) =    7.60
Model |  1481099.44     4   370274.86           Prob > F      =  0.0000
Residual |  3265263.26    67  48735.2725           R-squared     =  0.3120
Total |   4746362.7    71  66850.1788           Root MSE      =  220.76

------------------------------------------------------------------------------
exp |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
age |  -2.927867   4.412377    -0.66   0.509    -11.73501    5.879275
ownrent |   51.12242   67.95408     0.75   0.455    -84.51449    186.7593
income |   196.4813   62.26251     3.16   0.002     72.20479    320.7578
incomesq |  -11.95962   5.511042    -2.17   0.034    -22.95971   -.9595377
_cons |  -166.6852   145.0887    -1.15   0.255    -456.2834     122.913
------------------------------------------------------------------------------


Finally, let's try one more variation. This time we will make the adjustment proportional to the log of squared residuals.
wls0 exp age ownrent income incomesq, wvar(income incomesq) type(loge2) graph

WLS regression -  type: proportional to log(e)^2

(sum of wgt is   9.3775e-01)

Source |       SS       df       MS              Number of obs =      72
-------------+------------------------------           F(  4,    67) =    7.93
Model |  1953755.81     4  488438.951           Prob > F      =  0.0000
Residual |  4126765.99    67  61593.5222           R-squared     =  0.3213
Total |  6080521.79    71   85641.152           Root MSE      =  248.18

------------------------------------------------------------------------------
exp |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
age |  -3.020919    4.93586    -0.61   0.543    -12.87294    6.831099
ownrent |   40.31746   76.15911     0.53   0.598    -111.6968    192.3317
income |    213.373   66.55042     3.21   0.002     80.53779    346.2082
incomesq |  -13.27511   5.514378    -2.41   0.019    -24.28185   -2.268364
_cons |  -197.3543   168.7816    -1.17   0.246    -534.2439    139.5353
------------------------------------------------------------------------------


In addition to weight types abse and loge2 there is squared residuals (e2) and squared fitted values (xb2).

Finding the optimal WLS solution to use involves detailed knowledge of your data and trying different combinations of variables and types of weighting.

The content of this web site should not be construed as an endorsement of any particular web site, book, or software product by the University of California.