Ú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 | |
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 | |
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.