4  Korrelationsmatrix

Häufig ist eine Korrelationsmatrix ein Bestandteil einer Datendeskription.

4.1 corr x

correlate zpalter F518_SUF F200
(obs=14,579)

             |  zpalter F518_SUF     F200
-------------+---------------------------
     zpalter |   1.0000
    F518_SUF |   0.0582   1.0000
        F200 |  -0.0539   0.2922   1.0000

Wieder benötigen wir estpost, um dann die esttab-Tabelle zu erstellen: Mit modelwidth() können wir die Breite der Spalten steuern.

estpost correlate zpalter F518_SUF F200, matrix
esttab ., not unstack compress noobs nonumber nomtitles ///
         varlabels(zpalter "(1) Alter" F518_SUF "(2) Bruttoeinkommen" F200 "(3) Wochenarbeitszeit") ///
         eqlabels("(1) Alter" "(2) Bruttoeinkommen" "(3) Wochenarbeitszeit") ///
         varwidth(30) ///
     modelwidth(30)
             |      e(b)     e(rho)       e(p)   e(count) 
-------------+--------------------------------------------
zpalter      |                                            
     zpalter |         1          1                 19836 
    F518_SUF |  .0795555   .0795555   1.21e-24      16543 
        F200 | -.0557859  -.0557859   2.35e-13      17228 
F518_SUF     |                                            
    F518_SUF |         1          1                 16635 
        F200 |  .2924452   .2924452   6.4e-287      14659 
F200         |                                            
        F200 |         1          1                 17376 


---------------------------------------------------------------------
                               (1) Alter    (2) Bru~n    (3) Woc~t   
---------------------------------------------------------------------
(1) Alter                              1                             
(2) Bruttoeinkommen               0.0796***         1                
(3) Wochenarbeitszeit            -0.0558***     0.292***         1   
---------------------------------------------------------------------
* p<0.05, ** p<0.01, *** p<0.001
esttab  using "${res}/corrmat.rtf", not unstack compress noobs nonumber nomtitles ///
         varlabels(zpalter "(1) Alter" F518_SUF "(2) Bruttoeinkommen" F200 "(3) Wochenarbeitszeit") ///
         eqlabels("(1) Alter" "(2) Bruttoeinkommen" "(3) Wochenarbeitszeit") ///
         varwidth(30) ///
         replace
         
esttab  using "${res}/corrmat.tex", not unstack compress noobs nonumber nomtitles ///
         varlabels(zpalter "(1) Alter" F518_SUF "(2) Bruttoeinkommen" F200 "(3) Wochenarbeitszeit") ///
         eqlabels("(1) Alter" "(2) Bruttoeinkommen" "(3) Wochenarbeitszeit") ///
         varwidth(30) ///
         replace booktabs

4.2 Spearman’s \(\rho\)

Für den Rangkorrelationskoeffizienten müssen wir einen kleinen Umweg gehen und die Variablen mit Hilfe von egen in Ränge umwandeln:

foreach v of varlist zpalter F518_SUF F200 {
    egen rnk_`v' = rank (`v'), unique
}
estpost correlate rnk_zpalter rnk_F518_SUF rnk_F200, matrix
             |      e(b)     e(rho)       e(p)   e(count) 
-------------+--------------------------------------------
rnk_zpalter  |                                            
 rnk_zpalter |         1          1                 19836 
rnk_F518_SUF |  .0971437   .0971437   5.57e-36      16543 
    rnk_F200 | -.0654795  -.0654795   7.76e-18      17228 
rnk_F518_SUF |                                            
rnk_F518_SUF |         1          1                 16635 
    rnk_F200 |  .4553877   .4553877          0      14659 
rnk_F200     |                                            
    rnk_F200 |         1          1                 17376 

Danach können wir die Korrelationsmatrix auch für den Rangkorrelationskoeffizienten wie oben erstellen:

esttab ., not unstack compress noobs nonumber nomtitles ///
         varlabels(zpalter "(1) Alter" F518_SUF "(2) Bruttoeinkommen" F200 "(3) Wochenarbeitszeit") ///
         eqlabels("(1) Alter" "(2) Bruttoeinkommen" "(3) Wochenarbeitszeit") ///
         varwidth(30) ///
         modelwidth(30) ///
         title("Dies ist der Spearman-Rangkorrelationskoeffizient")
Dies ist der Spearman-Rangkorrelationskoeffizient
------------------------------------------------------------------------------------------------------------------------------------
                                                    (1) Alter               (2) Bruttoeinkommen             (3) Wochenarbeitszeit   
------------------------------------------------------------------------------------------------------------------------------------
rnk_zpalter                                                 1                                                                       
rnk_F518_SUF                                           0.0971***                              1                                     
rnk_F200                                              -0.0655***                          0.455***                              1   
------------------------------------------------------------------------------------------------------------------------------------
* p<0.05, ** p<0.01, *** p<0.001
esttab  using "${res}/corrmat2.rtf", not unstack compress noobs nonumber nomtitles ///
         varlabels(zpalter "(1) Alter" F518_SUF "(2) Bruttoeinkommen" F200 "(3) Wochenarbeitszeit") ///
         eqlabels("(1) Alter" "(2) Bruttoeinkommen" "(3) Wochenarbeitszeit") ///
         varwidth(30) ///
         replace ///
         title("Dies ist der Spearman-Rangkorrelationskoeffizient")
         
         
esttab  using "${res}/corrmat2.tex", not unstack compress noobs nonumber nomtitles ///
         varlabels(zpalter "(1) Alter" F518_SUF "(2) Bruttoeinkommen" F200 "(3) Wochenarbeitszeit") ///
         eqlabels("(1) Alter" "(2) Bruttoeinkommen" "(3) Wochenarbeitszeit") ///
         varwidth(30) ///
         replace booktabs ///
         title("Dies ist der Spearman-Rangkorrelationskoeffizient")

Übung


4.3 ttest

t-Test sind ebenfalls ein Klassiker. Mit ttest az, by(S1) unequal können wir einen Signifikanztest berechnen. Auch hier benötigen wir estpost, um die Ergebnisse zu speichern und dann mit esttab verarbeiten zu können.

ttest az, by(S1) unequal
estpost ttest az F518_SUF, by(S1) unequal
             |      e(b)   e(count)      e(se)       e(t)    e(df_t)     e(p_l)       e(p)     e(p_u)     e(N_1)    e(mu_1)     e(N_2)    e(mu_2) 
-------------+------------------------------------------------------------------------------------------------------------------------------------
          az |  8.320936      20012    .155519   53.50431   19742.97          1          0          0      10074   42.43776       9938   34.11682 
    F518_SUF |  1431.809      16635   53.27106   26.87781   15471.34          1   1.5e-155   7.3e-156       8495   4232.735       8140   2800.926 
esttab, wide nonumber noobs
az                  8.321***      (53.50)
F518_SUF           1431.8***      (26.88)
-----------------------------------------
t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001
esttab,  cell("b(fmt(%13.3fc)) t(fmt(%13.3fc) star) N_1(fmt(%13.0fc)) mu_1 N_2(fmt(%13.0fc)) mu_2") /// 
    unstack wide nonumber noobs nomtitles ///
    collabels("Difference" "t" "N(M)" "Mean(M)" "N(W)" "Mean(W)")                
               Difference            t            N(M)      Mean(M)         N(W)      Mean(W)
---------------------------------------------------------------------------------------------
az                  8.321       53.504***       10,074       42.438        9,938       34.117
F518_SUF        1,431.809       26.878***        8,495    4,232.735        8,140    2,800.926
---------------------------------------------------------------------------------------------

Übung


4.4 Übungen

4.4.1 Übung

  • Erstellen Sie eine Korrelationstabelle für zpalter F518_SUF F200 und F1410_01 (Jahre berufstätig in D)

4.4.2 Übung

  • Erstellen Sie eine t-Testtabelle für Gruppenunterschiede zwischen Menschen mit und ohne Migrationshintergrund für die Variablen az und F518_SUF. Die Variablen zum Migrationshintergrund können Sie so erstellen (siehe 01_init.do):
gen mig01 = Mig != 0

In mig01 steht dann 0 für keinen Migrationshintergrund und 1 für Migrationshintergrund.