Újdonságok a -ben

Lasszó klaszter adatokkal

Most már klasztereztett adatokat számolhat el lasso elemzésében. A klaszterezett figyelmen kívül hagyása helytelen eredményekhez vezethet, ha az ugyanazon klaszteren belüli megfigyelések korrelálnak. De a Stata lasso parancsaival – mind az előrejelzéshez, mind pedig a következtetéshez – most már olyan eredményeket kaphat, amelyek a klaszterezést jelentik.
Az előrejelzéshez használt lasso parancsokkal egyszerűen hozzá kell adnia a cluster() opciót. Például, írja be

. lasso linear y x1-x5000, cluster(idcode)

hogy a modellválasztás során figyelembe vegyék az azonos idcode végzett megfigyelések közötti lehetséges korrelációt. Ezt megteheti lineáris modellektől eltérő modellekkel, például logit vagy Poisson, és a lasso kivételével változó szelekciós módszerekkel, például elasztikus hálóval és négyzetgyökkel rendelkező lassoval.
A következtetésre vonatkozó lasso parancsokkal hozzáadhatja a vce(cluster) opciót. Például írja be

. poregress y x1, controls(x2-x5000) vce(cluster idcode)

klaszter-robusztus szabványos hibák előállításához, amelyek az idcode -ban történő fürtözésért felelősek, a lineáris kimeneten részleges kiolvasással. A vce(cluster) opció minden következtethető lasso paranccsal támogatott, beleértve az új parancsot a lasso kezelés-hatás becsléséhez.

Kiemelt

  • Lasso jóslatok klaszter adatokkal
    • Lasso
    • Elasztikus net
    • négyzetgyök lasso
  • Lasso következtetésre jutott a
    • Lasso modellek részleges kiválása
    • Keresztbeillesztett részleges kinyúló lasso modellek
    • Dupla kiválasztású lasso modellek
  • Klaszter-robusztus szabványos hibák
    • Lasso modellek részleges kiválása
    • Keresztbeillesztett részleges kinyúló lasso modellek
    • Dupla kiválasztású lasso modellek
    • Kezelés-hatás lasso modellek

Lássuk hogyan működik

Lineáris lasszó modellt szeretnénk illeszteni a bérek naplójához (ln_wage) egy változóhalmaz és másodrendű kölcsönhatásaik felhasználásával. Adataink vannak az egyén életkoráról, age; munkatapasztalat, experience; munkakör, tenure, hogy az egyén vidéki térségben él-e rural; ha délen, south; és ha nincs főiskolai végzettségük, nocollege.Jól megjósoljuk a bérek naplóját, ha ezeket az ellenőrzéseket vesszük figyelembe.
Idővel ismételt megfigyeléseket folytattunk az egyénekről; csoportosított adatokkal rendelkezünk. Minden egyes személyt idcode. Azonosítanak.
Meghatározzuk a globális makró $vars változókat, a $controls pedig a kontroll változók teljes listájaként.

. global vars c.(age tenure experience) i.(rural south nocollege)

. global controls ($vars)##($vars)

Illesztjük a lasso modellt, és meghatározzuk az opcionális cluster(idcode) a fürtözés figyelembe vételéhez, és megadjuk az rseed(1234) opciót, hogy az eredmények megismételhetőek legyenek.

. lasso linear ln_wage $controls, cluster(idcode) rseed(1234)

10-fold cross-validation with 100 lambdas ...
(output omitted)
... change in the deviance stopping tolerance reached ... last lambda selected


Lasso linear model                          No. of obs        =    28,093
                                            No. of covariates =        45
Cluster: idcode                             No. of clusters   =     4,699
Selection: Cross-validation                 No. of CV folds   =        10

No. of Out-of- CV mean
nonzero sample prediction
ID Description lambda coef. R-squared error
1 first lambda .2261424 0 0.0010 .2526964
81 lambda before .0001325 23 0.3088 .1748403
* 82 selected lambda .0001207 23 0.3088 .1748393
83 lambda after .00011 23 0.3088 .1748406
92 last lambda .0000476 24 0.3087 .1748552
* lambda selected by cross-validation

4699 klaszter van. A színfalak mögött a keresztellenőrzési eljárás véletlenszerű mintákat von le idcode alapján, hogy elérje az optimális lambdát.
Most már használhatjuk az predict parancsot az ln_wage előrejelzéseinek megszerzésére.
Tegyük fel, hogy nem csak az előrejelzés érdekel minket. Tegyük fel, hogy szeretnénk megtudni, hogy a munkakör (tenure) milyen hatást gyakorol a rönkbérekre (ln_wage). Az összes többi változót potenciális kontrollként kezeljük, amelyet a lasso tartalmazhat vagy kizárhat a modellből. A Lasso következtetése lehetővé teszi számunkra a tenure és a standard hiba becslésének megszerzését. Mivel az egyének idővel korrelálnak egymással, szeretnénk klaszter-robusztus szabványos hibákat használni az idcode szintjén.
Először definiáljuk a globális $vars2 makrót, mint nem interaktív vezérlőváltozókat, és kölcsönhatásba lépünk velük, hogy a teljes vezérlőkészletet alkossuk a $controls2-ben.

. global vars2 c.(age experience) i.(rural south nocollege)

. global controls2 ($vars2)##($vars2)

A modell illesztéséhez és a fürt-robusztus standard hibák becsléséhez a dsregress-t használjuk, és megadjuk a vce opciót(cluster idcode).

. dsregress ln_wage tenure, controls($controls2) vce(cluster idcode)

Estimating lasso for ln_wage using plugin
Estimating lasso for tenure using plugin

Double-selection linear model           Number of obs               =      28,093
                                        Number of controls          =          35
                                        Number of selected controls =          10
                                        Wald chi2(1)                =      195.87
                                        Prob > chi2                 =      0.0000

                                (Std. err. adjusted for 4,699 clusters in idcode)
Robust
ln_wage Coefficient std. err. z P>|z| [95% conf. interval]
tenure .0228961 .001636 14.00 0.000 .0196897 .0261025
Note: Chi-squared test is a wald test of the coefficients of the variables of interest jointly equal to zero. Lassos select controls for model estimation. Type lassoinfo to see number of selected variables in each lasso. Note: Lassos are performed accounting for clusters in idcode

A .02-es becslés azt jelenti, hogy a munkakörök egyéves növekedése 0,02-vel növelné a bér logját. A standard hiba becslés megbízható a klaszteren belüli összefüggő megfigyelésekhez.