Hotellings T²

Behandlung der Übungsaufgaben zu Hotellings T² mit R
Hotelling
Übungsaufgaben
Autor:in

Joao Schneider

Veröffentlichungsdatum

18. Januar 2023

Pakete

Übungsaufgaben

Aufgabe 1

Aufgabe 1

Capron & Duyme (1991) berichten die Verbal Intelligence (VIQ) sowie die Performance Intelligence (PIQ) für zehn Adoptivkinder mit dem Wechsler Intelligenztest, deren Eltern (sowohl die biologischen als auch die tatsächlichen) hohen sozioökonomischen Status besaßen. Die Werte dieser beiden IQ-Komponenten lauten:

VIQ PIQ
1 142 123
2 105 92
3 117 121
4 133 125
5 114 132
6 120 136
7 96 112
8 108 120
9 129 98
10 114 117

Zunächst sind deskriptive Kennwerte zu berechnen.

  1. Berechnen Sie die Mittelwerte der beiden IQ-Komponenten mit dem Taschenrechner.
  2. Berechnen Sie die \(\small \mathbf{D}\)-Matrix mit dem Taschenrechner.
  3. Verifizieren Sie die Ergebnisse, indem Sie mit SPSS CORRELATIOMS die Mittelwerte sowie die \(\small \mathbf{D}\)-Matrix (Summe der Quadrate und Kreuzprodukte) ermitteln.

Daten

df_adopt <- tribble(~"x1", ~"x2",
                      142,   123,
                      105,    92,
                      117,   121,
                      133,   125,
                      114,   132,
                      120,   136,
                       96,   112,
                      108,   120,
                      129,    98,
                      114,   117)

Teilaufgabe a

Berechnen Sie die Mittelwerte der beiden IQ-Komponenten mit dem Taschenrechner.

df_desc <- df_adopt %>% 
           rownames_to_column(var = "i") %>% 
           mutate(delta_x1_mean = x1 - mean(x1),
                  delta_x2_mean = x2 - mean(x2),
                  cross_prod = delta_x1_mean * delta_x2_mean,
                  delta_x1_mean_sq = (x1 - mean(x1))^2, # sum = QS
                  delta_x2_mean_sq = (x2 - mean(x2))^2) # sum = QS

df_desc
Variablen Kreuzprodukt Quadratsummen
x1 x2 x1-x̄1 x2-x̄2 (x1-x̄1)(x2-x̄2) (x1-x̄1)2 (x2-x̄2)2
1 142  123   24.2   5.4  130.68 585.64  29.16
2 105   92  -12.8 -25.6  327.68 163.84 655.36
3 117  121   -0.8   3.4   -2.72   0.64  11.56
4 133  125   15.2   7.4  112.48 231.04  54.76
5 114  132   -3.8  14.4  -54.72  14.44 207.36
6 120  136    2.2  18.4   40.48   4.84 338.56
7  96  112  -21.8  -5.6  122.08 475.24  31.36
8 108  120   -9.8   2.4  -23.52  96.04   5.76
9 129   98   11.2 -19.6 -219.52 125.44 384.16
10 114  117   -3.8  -0.6    2.28  14.44   0.36
Summe 1,178.00 1,176.00 435.20 1,711.60 1,718.40
Mittel 117.80 117.60 43.52 171.16 171.84

Teilaufgabe b

Berechnen Sie die \(\small \mathbf{D}\)-Matrix mit dem Taschenrechner.

df_desc %>% select(cross_prod, ends_with("_sq")) %>% 
            summarise_all(~sum(.)) %$%
            matrix(c(delta_x1_mean_sq, cross_prod, 
                     cross_prod, delta_x2_mean_sq), ncol = 2)
       [,1]   [,2]
[1,] 1711.6  435.2
[2,]  435.2 1718.4

Teilaufgabe c

Verifizieren Sie die Ergebnisse, indem Sie mit SPSS CORRELATIONS die Mittelwerte sowie die \(\small \mathbf{D}\)-Matrix (Summe der Quadrate und Kreuzprodukte) ermitteln.

D <- 9 * cov(df_adopt); D
       x1     x2
x1 1711.6  435.2
x2  435.2 1718.4

Aufgabe 2

Aufgabe 2

Mit der AGGREGATE-Anweisung lassen sich ebenfalls die Summen der Quadrate und Kreuzprodukte ermitteln. Die folgenden Syntaxkommandos können dazu verwendet werden:

* Mittelwerte berechnen.
AGGREGATE OUTFILE=* MODE=ADDVARIABLES
    /MV MP = MEAN(VIQ PIQ).

* Quadrate und Kreuzprodukte berechnen.
COMPUTE Q1 = (VIQ-MV)**2.
COMPUTE Q2 = (PIQ-MP)**2.
COMPUTE Q3 = (VIQ-MV)*(PIQ-MP).

* Quadrate und Kreuzprodukte summieren.
AGGREGATE OUTFILE=* MODE=REPLACE
    /D11 D22 D12=SUM(Q1 Q2 Q3).

Führen Sie diese Kommandos mit Hilfe der Menüs aus:

  • AGGREGATE kann über den Menüpunkt Daten ➡️ Aggregieren aufgerufen werden.
  • COMPUTE kann über den Menüpunkt Transformieren ➡️ Variable berechnen aufgerufen werden.

Die Syntax kann (leicht abgewandelt) angegeben werden:

VIQ <- df_adopt$x1
PIQ <- df_adopt$x2

MV <- mean(VIQ)
MP <- mean(PIQ)

Q1 <- (VIQ-MV)*(VIQ-MV)
Q2 <- (PIQ-MP)*(PIQ-MP)
Q3 <- (VIQ-MV)*(PIQ-MP)

matrix(c(sum(Q1), sum(Q3), sum(Q3), sum(Q2)), ncol = 2)
       [,1]   [,2]
[1,] 1711.6  435.2
[2,]  435.2 1718.4

Aufgabe 3

Aufgabe 3
  1. Angenommen die Adoptivkinder sind duchschnittlich intelligent, dann sollten die wahren Mittelwerte der beiden IQ—Komponenten jeweils 100 betragen. Berechnen Sie die Prüfgröße \(\small T^2 = n(n-1)(\mathbf{\bar{x}}-\mathbf{\mu_0})'\mathbf{D}^{-1}(\mathbf{\bar{x}}-\mathbf{\mu_0})\) zur Überprüfung der Hypthese \(H_0: \small \mathbf{\mu}_0 = (100,100)'\) mit Hilfe der Matrix-Sprache von SPSS.
  2. Prüfen Sie den F-Wert mit Hilfe der F-Verteilung (\(\small p\) Zähler- und \(\small n-p\) Nennerfreiheitsgrade) über die Beziehung \[\small F=\frac{n-p}{(n-1)p}T^2\]

Teilaufgabe a

Angenommen die Adoptivkinder sind duchschnittlich intelligent, dann sollten die wahren Mittelwerte der beiden IQ—Komponenten jeweils 100 betragen. Berechnen Sie die Prüfgröße \(T^2 = n(n-1)(\bar{x}-\mu_0)'D^{-1}(\bar{x}-\mu_0)\) zur Überprüfung der Hypthese \(H_0: \mu_0=(100,100)'\) mit Hilfe der Matrix-Sprache von SPSS.

# D (s.o.)
n <- nrow(df_adopt)
x_bar <- colMeans(df_adopt) %>% matrix(ncol = 2)
mu_0 <- matrix(c(100, 100), ncol = 2)

# Einsetzen liefert:
T_sq <- n*(n-1) * (x_bar-mu_0) %*% solve(D) %*% t(x_bar-mu_0)
T_sq <- T_sq[1,1]; T_sq
[1] 26.22879

Teilaufgabe b

Prüfen Sie den F-Wert mit Hilfe der F-Verteilung (\(p\) Zähler- und \(n-p\) Nennerfreiheitsgrade) über die Beziehung \[F=\frac{n-p}{(n-1)p}T^2\]

Wir haben \(\small p=2\) abhängige Variablen, entsprechend ergibt sich eine transformierte Prüfgröße als \(\small F=0.44\times T^2=11.66\):

p <- 2

trans_fac <- (n-p) / ((n-1)*p)
F_emp <- trans_fac * T_sq

round(F_emp, 3)
[1] 11.657

Da nicht anders angegeben, nehmen wir \(\small \alpha=.05\) an (wir benennen die Variable als alpha, da p bereits reserviert ist). Für einen zugehörigen Signifikanztest ergeben sich \(\small df_{Zähler}=2\) und \(\small df_{Zähler}=n-p=8\) Freiheitsgrade der F-Verteilung:

alpha <- 0.05
df_num <- p
df_denom <- n-p

F_krit <- qf(alpha/2, df1 = df_num, df2 = df_denom)
round(F_krit, 3)
[1] 0.025
F_emp > F_krit
[1] TRUE

Folglich gibt es einen signifikanten Unterschied zwischen \(\mu_0=100\) und einer oder beiden der abhängigen Variablen, \(\small F(2,8)=11.66\), \(\small p<.005\).

pf(q = F_emp, df1 = df_num, df2 = df_denom, lower.tail = FALSE)
[1] 0.004259699

Aufgabe 4

Aufgabe 4
  1. Testen Sie die Hypothese “Die Adoptivkinder sind durchschnittlich intelligent” mit SPSS GLM. Bemerkung: Da über das Menü der am Prozedur kein \(\mu_0\)-Vektor spezifiziert werden kann, müssen die Werte der Hypothese zuvor von den Variablen VIQ und PIQ subtrahiert werden. Erzeugen Sie folgenden Output:

SPSS_output

  1. Obwohl der F-Wert und der p-Wert für Hotellings Spur mit dem zuvor berechneten Werten übereinstimmen, ist der \(T_1^2\)-Wert nicht mit Hotellings Spur identisch. Wie sind Hotellings \(T_1^2\) und Hotellings Spur miteinander verknüpft?

Teilaufgabe a

Testen Sie die Hypothese “Die Adoptivkinder sind durchschnittlich intelligent” mit SPSS GLM. Bemerkung: Da über das Menü der am Prozedur kein \(\mu_0\)-Vektor spezifiziert werden kann, müssen die Werte der Hypothese zuvor von den Variablen VIQ und PIQ subtrahiert werden. Erzeugen Sie oben angefügten Output.

df_mdl <- df_adopt %>% transmute(x1_d = x1-100, x2_d = x2-100)
model <- lm(cbind(x1_d, x2_d) ~ NULL, df_mdl)

fit <- car::Manova(model, type = "III", test.statistic = "Hotelling-Lawley")
summary(fit)

Type III MANOVA Tests:

Sum of squares and products for error:
       x1_d   x2_d
x1_d 1711.6  435.2
x2_d  435.2 1718.4

------------------------------------------
 
Term: (Intercept) 

Sum of squares and products for the hypothesis:
       x1_d   x2_d
x1_d 3168.4 3132.8
x2_d 3132.8 3097.6

Multivariate Tests: (Intercept)
                 Df test stat approx F num Df den Df    Pr(>F)   
Pillai            1 0.7445272 11.65724      2      8 0.0042597 **
Wilks             1 0.2554728 11.65724      2      8 0.0042597 **
Hotelling-Lawley  1 2.9143105 11.65724      2      8 0.0042597 **
Roy               1 2.9143105 11.65724      2      8 0.0042597 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Teilaufgabe b

Obwohl der F-Wert und der p-Wert für Hotellings Spur mit dem zuvor berechneten Werten übereinstimmen, ist der \(T_1^2\)-Wert nicht mit Hotellings Spur identisch. Wie sind Hotellings \(T_1^2\) und Hotellings Spur miteinander verknüpft?

Wie SPSS bereichtet R nicht den T²-Wert, sondern Pillais Spur, Wilks Lambda, Hotelling-Lawley und Roy’s largest-latent root. Für alle Werte sind die sich daraus ergebenden F-Werte samt Freiheitsgraden und zugehörigen p-Werten identisch und stimmen auch mit den hier händisch berechneten Werten überein. Hotellings Spur und Hotelling T² stehen über den Faktor \(\small (n-1)\) in Relation:

T_sq / (n-1)
[1] 2.914311

Literatur

Capron, C., & Duyme, M. (1991). Children’s IQs and SES of biological and adoptive parents in a balanced cross-fostering study. Cahiers de psychologie cognitive, 11(3), 323–348.