Escolar Documentos
Profissional Documentos
Cultura Documentos
2 Distribuição de Wishart
2.1 Definição:
Seja X1 , X2 , . . . , Xn uma amostra aleatória de
X ∼ Np (0, Σ),
dizemos que
n
X
A= X1 X10 + X2 X20 + ... + Xn Xn0 = Xi Xi0 ,
i=1
A ∼ Wp (n, Σ).
Nota: Quando estudamos matrizes vemos que A definida não negativa pode ser
espectralmente decomposta como acima. Temos pois o correspondente estocástico da
decomposição espectral.
l0 Al
Q= ∼ χ2 (n).
l0 Σl
Prova:
Note que
1
n
!
X
l0 Al = l0 Xi Xi0 l
i=1
n
X
= l0 Xi Xi0 l
i=1
n
X 2
= (l0 Xi )
i=1
n
X
= Vi2 .
i=1
Mas para i = 1, 2, . . . , n
Vi ∼ N (0, l0 Σl),
e são independentes.
Assim,
Vi
Zi = √ ∼ N (0, 1).
l0 Σl
Daí segue que:
Vi2
Zi2 = 0
∼ χ2 (1).
l Σl
Mas,
n
X
n n
Vi2
X X Vi 2
i=1 l0 Al
Zi2 = 0 Σl
= 0 Σl
= 0 Σl
∼ χ2 (n).
i=1 i=1
l l l
A1 + A2 ∼ Wp (n1 + n2 , Σ).
Prova:
n1
X n2
X
A1 + A2 = Xi Xi0 + Xj Xj0 .
i=1 j=1
2
n1
X nX
1 +n2 nX
1 +n2
Portanto
A1 + A2 ∼ Wp (n1 + n2 , Σ).
O teorema 3 será bastante usado na nossa disciplina.
Teorema 3:
Seja X1 , X2 , . . . , Xn uma amostra aleatória de
X ∼ Np (µ, Σ).
Assim,
n
X
(n − 1)S = (Xi − X̄) (Xi − X̄)0 ∼ Wp (n − 1, Σ).
i=1
Prova:
Sabemos que
Y = X − µ ∼ Np (0, Σ).
Logo,
n
X n
X
Yi Yi0 = (Xi − µ)(Xi − µ)0 ∼ Wp (n, Σ).
i=1 i=1
Sabemos que
Σ
X̄ ∼ Np (µ, ).
n
e que
√
n (X̄ − µ) ∼ Np (0, Σ).
logo
n
X n
X
0
B= (Xi − µ)(Xi − µ) = (Xi − X̄ + X̄ − µ)(Xi − X̄ + X̄ − µ),
i=1 i=1
3
Logo,
n
X Xn n
X Xn
B= (Xi −X̄)(Xi −X̄)0 − (Xi −X̄) (X̄−µ)0 −(X̄−µ) (Xi −X̄)+ (X̄−µ)(X̄−µ)0
i=1 i=1 i=1 i=1
assim B fica:
Teorema 4:
Seja X1 , X2 , . . . , Xn uma amostra aleatória de
X ∼ Np (0, Σ),
e C uma matriz de ordem q × p de posto q.
Então
C A C > ∼ Wq (n , C Σ C > ).
Prova:
Considere a transformação
Yi = CXi
Desta maneira
Yi ∼ Nq (0, C Σ C > ).
Assim Y1 , Y2 , . . . , Yn é uma amostra aleatória de
Y ∼ Nq (0, C Σ C > ).
4
Pela definição da distribuição de Wishart temos:
n
X
A= Xi Xi0 .
i=1
Logo
n
! n
X X
C A C> = C Xi Xi0 C> = C Xi Xi0 C > .
i=1 i=1
Logo,
n
X
>
CAC = Yi Yi0 .
i=1
C A C > ∼ Wq (n , C Σ C > ).
A densidade da Wishart será apresentada a seguir.
Nota:
p p
X X
tr(Σ−1 A) = σ ij aij ,
i=1 j=1
5
1
Y ∼ Gama(r = 1/2; λ = ).
2 σ2
A função geradora de momentos de Y ∼ Gama(r, λ) é dada por:
r r
λ 1
MY (t) = = , t < λ.
λ−t 1 − λ1 t
Assim,
1/2
1 1
MY (t) = , t< .
1 − 2σ 2 t 2 σ2
Seja
Y
U= .
σ2
A f.g.m. de U é dada por:
2
MU (t) = E(etU ) = E(etY /σ ) = MY (t/σ 2 ).
1/2
1 1
MU (t) = = (1 − 2t)−1/2 , t < ,
1 − 2t 2
logo,
U ∼ χ2 (1).
3 Distribuição T 2 de Hotelling
Sejam
1
Y ∼ Np (µ, Σ)
a
e
A ∼ Wp (b, Σ),
independentes.
A variável aleatória
6
3.1 Aplicações da T 2 de Hotelling
3.1.1 Uma População
Seja X1 , X2 , . . . , Xn uma amostra aleatória de
X ∼ Np (µ, Σ).
Queremos testar
H0 : µ = µ0 vs H1 : µ 6= µ0 .
Estatística do Teste:
Sabemos que se H0 é verdade
1
X̄ ∼ Np ( µ0 , Σ).
n
e
n
X
A= (Xi − X̄) (Xi − X̄)0 ∼ Wp (n − 1, Σ)
i=1
A = (n − 1) S,
assim
S −1
A−1 = .
n−1
Logo,
T 2 = n(X̄ − µ0 )0 S −1 (X̄ − µ0 )
que é a estatística do nosso teste multivariado.
Rejeitamos H0 ønível de significância α se
2 2
Tcal > Ttab ,
vamos usar a transformação para a distribuição F .
Assim,
n−p
Fcal = T2 ,
(n − 1)p cal
7
e rejeitamos H0 ønível de significância α se
2 2 p(n − 1)
Tcal > Ttab = Ftab .
n−p
O nível descritivo do teste é dada por:
nd = α̂ = P (F ≥ Fcal ).
Vamos fazer um exemplo prático.
Exemplo 1- Johnson & Wichern-página 279 . A transpiração de 20 mulheres
foram analisadas . Três variáveis foram medidas:
Y1 = taxa de açúcar,
Y2 = teor de sódio e
Y3 = teor de potássio.
Os dados foram obtidos pelo Dr. Gerald Bargman. Sabe-se que
Y = [Y1 , Y2 , Y3 ]> ∼ N3 (µ , Σ)
Teste, ao nível de significância de 10% se as mulheres são normais. Qual o nível descri-
tivo do teste?
Comentário: Aqui g = 1, p = 3 e n = 20.
8
mulher X1 ( Taxa de Açucar) X2 (Sódio) X3 (Potássio)
1 3,1 48,5 9,3
2 5,7 65,1 8,0
3 3,8 47,2 10,9
4 3,2 53,3 12,0
5 3,1 55,5 9,7
6 4,6 36,1 7,9
7 2,4 24,8 14,0
8 7,2 33,1 7,6
9 6,7 47,4 8,5
10 5,4 54,1 11,3
11 3,9 36,9 12,7
12 4,5 58,8 12,3
13 3,5 27,8 9,8
14 4,5 40,2 8,4
15 1,5 13,5 10,1
16 8,5 56,4 7,1
17 4,5 71,6 8,2
18 6,5 52,8 10,9
19 4,1 44,1 11,2
20 5,5 40,9 9,4
(n − p) 2
F = T ∼ F (p , n − p) = F (3, 17),
p(n − 1)
pois p= 3 (número de variáveis) e n=20 (tamanho) da amostra.
O percentil 90 da F (3, 17) é 2,44. Assim a nossa região de rejeição fica:
Rejeitar H0 se F obs > 2, 44. Essa região crítica pode ser colocada em termos da
distribuição T 2 de Hotelling. Assim,
9
P (F > 2, 44) = 0, 10
(n − p) 2
P( T > 2, 44) = 0, 10
p(n − 1)
17 2
P( T > 2, 44) = 0, 10
57
X1 ∼ Np (µ1 , Σ1 = Σ).
e
X21 , X22 , . . . , X2n2 uma amostra aleatória de
X2 ∼ Np (µ2 , Σ2 = Σ),
com X1 e X2 independentes.
Queremos testar:
H0 : µ1 = µ2 vs H1 : µ1 6= µ2 .
A estatística do teste é dada por:
n1 n2
T2 = (X̄1 − X̄2 )0 Sp−1 (X̄1 − X̄2 ),
n1 + n2
em que a matriz Sp é dada por:
10
1
X̄1 ∼ Np ( µ1 , Σ).
n1
e
n1
X
A1 = (X1i − X̄1 ) (X1i − X̄1 )0 ∼ Wp (n1 − 1, Σ)
i=1
e
1
X̄2 ∼ Np ( µ2 , Σ).
n2
e
n2
X
A2 = (X2i − X̄2 ) (X2i − X̄2 )0 ∼ Wp (n2 − 1, Σ).
i=1
n1
X n2
X
0
A1 + A2 = (X1i − X̄1 ) (X1i − X̄1 ) + (X2i − X̄2 ) (X2i − X̄2 )0 ,
i=1 i=1
ou
nj
2 X
X
A1 + A2 = (Xji − X̄j ) (Xji − X̄j )0 = (n1 − 1)S1 + (n2 − 1)S2 ,
j=1 i=1
assim
A1 + A2 = (n1 + n2 − 2) Sp ,
cuja inversa é dada por:
11
1
(A1 + A2 )−1 = S −1 .
n1 + n2 − 2 p
Se H0 é verdade temos:
n1 + n2 1
X̄1 − X̄2 ∼ Np 0, Σ = Np 0 , Σ ,
n1 n2 a
logo
n1 n2
a= .
n1 + n2
e
A1 + A2 ∼ Wp (n1 + n2 − 2, Σ),
e
b = n1 + n2 − 2.
Assim,
2 2 p (n1 + n2 − 2)
Tcal > Ttab = Ftab .
n1 + n2 − p − 1
Exemplo 02 Exemplo do Daniel Ferreira-páginas 302 e 303.
Testar a hipótese de igualdade dos vetores de médias de duas variedades de milho(A
e B). Para isso amostras aleatórias independentes de tamanhos n1 = 6 da variedade A
e n2 = 5 da variedade B em cada variedade e as variáveis X1 =produtividade (t/ha) e
12
Variedade A Variedade B
X1 X2 X1 X2
5.7 2.10 4.4 1.80
8.9 1.90 7.5 1.75
6.2 1.98 5.4 1.78
5.8 1.92 4.6 1.89
6.8 2 5.9 1.90
6.2 2.01
13
X11 X12
[1,] 5.7 2.10
[2,] 8.9 1.90
[3,] 6.2 1.98
[4,] 5.8 1.92
[5,] 6.8 2.00
[6,] 6.2 2.01
>
> n_1=nrow(X1);n_1
[1] 6
>
>
> #### Estimar o vetor de média mu_1
>
>
> Xb_1=matrix(c(apply(X1,2,mean)),ncol=1);Xb_1
[,1]
[1,] 6.600
[2,] 1.985
>
>
> #### Estimar a matriz de covariâncias SIG_1
>
>
> S_1=cov(X1); S_1
X11 X12
X11 1.4200 -0.05040
X12 -0.0504 0.00511
>
>
> ####Estimar a matriz de correlação rho_1
>
>
> R_1=cor(X1);R_1
X11 X12
X11 1.000000 -0.591665
X12 -0.591665 1.000000
>
>
> #####Amostra da populaçao 2
>
>
> X21=c(44,75,54,46,59)/10
14
> X22=c(180,175,178,189,190)/100
>
> X2=cbind(X21,X22);X2
X21 X22
[1,] 4.4 1.80
[2,] 7.5 1.75
[3,] 5.4 1.78
[4,] 4.6 1.89
[5,] 5.9 1.90
>
> n_2=nrow(X2);n_2
[1] 5
>
>
> ####Estimar o vetor de média mu_2
>
>
> Xb_2=matrix(c(apply(X2,2,mean)),ncol=1);Xb_2
[,1]
[1,] 5.560
[2,] 1.824
>
>
> ####Estimar a matriz de covariâncias SIG_2
>
>
> S_2=cov(X2); S_2
X21 X22
X21 1.54300 -0.03655
X22 -0.03655 0.00453
>
>
> ####Estimar a matriz de correlação rho_2
>
>
> R_2=cor(X2);R_2
X21 X22
X21 1.000000 -0.437175
X22 -0.437175 1.000000
>
>
> ####Estimar a matriz de covariâncias SIG
> n=n_1+n_2;n
15
[1] 11
>
> S_p=( (n_1-1)*S_1+ (n_2-1)*S_2)/(n-2);S_p
X11 X12
X11 1.47466667 -0.044244444
X12 -0.04424444 0.004852222
>
> round(S_p,4)
X11 X12
X11 1.4747 -0.0442
X12 -0.0442 0.0049
>
> #####Calcular a inversa de S_p.
>
> IS_p=solve(S_p);IS_p
X11 X12
X11 0.9335075 8.512084
X12 8.5120836 283.707618
>
> #####H_0: mu_1=mu_2
>
>
> d=Xb_1-Xb_2;d
[,1]
[1,] 1.040
[2,] 0.161
>
>
>
> ####Cálculo da Estatística do Teste.
>
> T2_cal=((n_1*n_2)/n)*t(d)%*%IS_p%*%d; T2_cal
[,1]
[1,] 30.58416
>
> ###Valor de F correspondente
>
>
> aux=(n-1-p)/((n-2)*p);aux
[1] 0.4444444
>
>
> F_cal=aux*T2_cal;F_cal
16
[,1]
[1,] 13.59296
>
>
> ###Valores tabelados:
>
> alfa=0.05
>
> F_tab=qf(1-alfa,p,n-1-p);F_tab
[1] 4.45897
>
> T2_tab=(1/aux)*F_tab;T2_tab
[1] 10.03268
>
> ######## Decisão
>
> F_cal >F_tab #####Rejeitar H_0
[,1]
[1,] TRUE
>
> T2_cal >T2_tab #####Rejeitar H_0
[,1]
[1,] TRUE
>
>
>
> #### Cálculo do nível descritivo.
>
>
> nd=pf(F_cal,p,n-1-p,lower.tail=F);nd;round(nd,4)
[,1]
[1,] 0.002672293
[,1]
[1,] 0.0027
>
>
>
>
> #####Vamos detectar onde estará a diferença.
>
>
>
> ###### Note que mu_1=mu_2 é equivalente a
17
>
> ###### mu_11-mu_21=0 e mu_12-mu_22=0
>
>
> ####IC( mu_11-mu_21,95%)
>
>
> S_p
X11 X12
X11 1.47466667 -0.044244444
X12 -0.04424444 0.004852222
> d_1=d[1];d_1
[1] 1.04
>
> S2d_1=S_p[1,1]; S2d_1
[1] 1.474667
> c_1= F_tab/aux;c_1
[1] 10.03268
>
>
>
> c_2=(n/(n_1*n_2))*S2d_1;c_2
[1] 0.5407111
>
>
>
>
>
> c=sqrt(c_1*c_2);c
[1] 2.329116
>
>
>
>
> IC1=d_1+c(-1,1)*c;IC1; round(IC1,4)### contem o ponto zero
[1] -1.289116 3.369116
[1] -1.2891 3.3691
>
>
> ###As duas variedades de milho A e B não diferem, em média, na produtividade.
>
>
>
18
>
> ####IC( mu_12-mu_22,95%)
>
> d_2=d[2];d_2
[1] 0.161
>
> S2d_2=S_p[2,2]; S2d_2
[1] 0.004852222
>
> c_1=sqrt( F_tab/aux);c_1
[1] 3.167441
>
>
> c_2=sqrt((n/(n_1*n_2))*S2d_2);c_2
[1] 0.04217995
>
> c=c_1*c_2;c
[1] 0.1336025
>
> IC2=d_2+c(-1,1)*c;IC2; round(IC2,4) ###Não contem o ponto zero
[1] 0.0273975 0.2946025
[1] 0.0274 0.2946
>
>
>
>
> ###As duas variedades de milho A e B diferem, em média, na altura das plantas.
>
require(Hotelling)
> X1;X2
X11 X12
[1,] 5.7 2.10
[2,] 8.9 1.90
[3,] 6.2 1.98
[4,] 5.8 1.92
[5,] 6.8 2.00
[6,] 6.2 2.01
X21 X22
[1,] 4.4 1.80
19
[2,] 7.5 1.75
[3,] 5.4 1.78
[4,] 4.6 1.89
[5,] 5.9 1.90
> mod=hotelling.test(X1,X2)
> mod
Test stat: 13.593
Numerator df: 2
Denominator df: 8
P-value: 0.002672
>
>
> ###Teste direto no R usando o pacote rrcov.
> ####Conjunto de dados do próprio R
>
>
> ## Two-sample classical test
>
> data(hemophilia) ####Dados já no R.
>
> hemophilia
AHFactivity AHFantigen gr
1 -0.0056 -0.1657 normal
2 -0.1698 -0.1585 normal
3 -0.3469 -0.1879 normal
4 -0.0894 0.0064 normal
5 -0.1679 0.0713 normal
6 -0.0836 0.0106 normal
7 -0.1979 -0.0005 normal
8 -0.0762 0.0392 normal
9 -0.1913 -0.2123 normal
10 -0.1092 -0.1190 normal
11 -0.5268 -0.4773 normal
12 -0.0842 0.0248 normal
20
13 -0.0225 -0.0580 normal
14 0.0084 0.0782 normal
15 -0.1827 -0.1138 normal
16 0.1237 0.2140 normal
17 -0.4702 -0.3099 normal
18 -0.1519 -0.0686 normal
19 0.0006 -0.1153 normal
20 -0.2015 -0.0498 normal
21 -0.1932 -0.2293 normal
22 0.1507 0.0933 normal
23 -0.1259 -0.0669 normal
24 -0.1551 -0.1232 normal
25 -0.1952 -0.1007 normal
26 0.0291 0.0442 normal
27 -0.2280 -0.1710 normal
28 -0.0997 -0.0733 normal
29 -0.1972 -0.0607 normal
30 -0.0867 -0.0560 normal
31 -0.3478 0.1151 carrier
32 -0.3618 -0.2008 carrier
33 -0.4986 -0.0860 carrier
34 -0.5015 -0.2984 carrier
35 -0.1326 0.0097 carrier
36 -0.6911 -0.3390 carrier
37 -0.3608 0.1237 carrier
38 -0.4535 -0.1682 carrier
39 -0.3479 -0.1721 carrier
40 -0.3539 0.0722 carrier
41 -0.4719 -0.1079 carrier
42 -0.3610 -0.0399 carrier
43 -0.3226 0.1670 carrier
44 -0.4319 -0.0687 carrier
45 -0.2734 -0.0020 carrier
46 -0.5573 0.0548 carrier
47 -0.3755 -0.1865 carrier
48 -0.4950 -0.0153 carrier
49 -0.5107 -0.2483 carrier
50 -0.1652 0.2132 carrier
51 -0.2447 -0.0407 carrier
52 -0.4232 -0.0998 carrier
53 -0.2375 0.2876 carrier
54 -0.2205 0.0046 carrier
55 -0.2154 -0.0219 carrier
21
56 -0.3447 0.0097 carrier
57 -0.2540 -0.0573 carrier
58 -0.3778 -0.2682 carrier
59 -0.4046 -0.1162 carrier
60 -0.0639 0.1569 carrier
61 -0.3351 -0.1368 carrier
62 -0.0149 0.1539 carrier
63 -0.0312 0.1400 carrier
64 -0.1740 -0.0776 carrier
65 -0.1416 0.1642 carrier
66 -0.1508 0.1137 carrier
67 -0.0964 0.0531 carrier
68 -0.2642 0.0867 carrier
69 -0.0234 0.0804 carrier
70 -0.3352 0.0875 carrier
71 -0.1878 0.2510 carrier
72 -0.1744 0.1892 carrier
73 -0.4055 -0.2418 carrier
74 -0.2444 0.1614 carrier
75 -0.4784 0.0282 carrier
>
>
> help(hemophilia) ####Entender o banco de dados
>
>
>
> grp <-as.factor(hemophilia[,3]) #####Tornar um fator
>
>
> grp ###Variável nominal definindo os grupos ou populações
[1] normal normal normal normal normal normal normal normal normal
[10] normal normal normal normal normal normal normal normal normal
[19] normal normal normal normal normal normal normal normal normal
[28] normal normal normal carrier carrier carrier carrier carrier carrier
[37] carrier carrier carrier carrier carrier carrier carrier carrier carrier
[46] carrier carrier carrier carrier carrier carrier carrier carrier carrier
[55] carrier carrier carrier carrier carrier carrier carrier carrier carrier
[64] carrier carrier carrier carrier carrier carrier carrier carrier carrier
[73] carrier carrier carrier
Levels: carrier normal
>
>
>
22
> x <- hemophilia[which(grp==levels(grp)[1]),1:2] ####dados do primeiro grupo
>
> n1=nrow(x);n1
[1] 45
> p=ncol(x);p
[1] 2
> xb=matrix(c(apply(x,2,mean)),ncol=1);xb
[,1]
[1,] -0.307946667
[2,] -0.005991111
>
>
> S1=cov(x);S1
AHFactivity AHFantigen
AHFactivity 0.02378380 0.01537617
AHFantigen 0.01537617 0.02403505
> R1=cor(x);R1
AHFactivity AHFantigen
AHFactivity 1.0000000 0.6431098
AHFantigen 0.6431098 1.0000000
>
>
> y <- hemophilia[which(grp==levels(grp)[2]),1:2] ####dados do primeiro grupo
>
> n2=nrow(y);n2
[1] 30
>
>
> n=n1+n2;n
[1] 75
>
> yb=matrix(c(apply(y,2,mean)),ncol=1);yb
[,1]
[1,] -0.13487000
[2,] -0.07785667
>
>
> S2=cov(y);S2
AHFactivity AHFantigen
AHFactivity 0.02089726 0.01551495
AHFantigen 0.01551495 0.01792005
>
> R2=cor(y);R2
23
AHFactivity AHFantigen
AHFactivity 1.0000000 0.8017446
AHFantigen 0.8017446 1.0000000
>
>
>
> #####Estimar a matriz comum Sigma
>
> Sp=((n1-1)*S1+(n2-1)*S2)/(n-2);Sp
AHFactivity AHFantigen
AHFactivity 0.02263709 0.0154313
AHFantigen 0.01543130 0.0216058
>
> ISp=solve(Sp);ISp
AHFactivity AHFantigen
AHFactivity 86.09006 -61.48727
AHFantigen -61.48727 90.19932
>
> d=xb-yb;d
[,1]
[1,] -0.17307667
[2,] 0.07186556
>
>
> T2_cal=(n1*n2/n)*t(d)%*%ISp%*%d;T2_cal;round(T2_cal,3)
[,1]
[1,] 82.33759
[,1]
[1,] 82.338
>
> gl1=p;gl2=n-p-1;gl1;gl2
[1] 2
[1] 72
>
>
> aux=gl2/(p*(n-2));aux
[1] 0.4931507
>
> F_cal=aux*T2_cal;F_cal;round(F_cal,3)
[,1]
[1,] 40.60484
[,1]
[1,] 40.605
24
>
>
> mod1=T2.test(x,y);mod1
data: x and y
T2 = 82.338, F = 40.605, df1 = 2, df2 = 72, p-value = 1.562e-12
alternative hypothesis: true difference in mean vectors is not equal to (0,0)
sample estimates:
AHFactivity AHFantigen
mean x-vector -0.3079467 -0.005991111
mean y-vector -0.1348700 -0.077856667
>
>
>
> #####Bate tudo mas é incompleto!!!!!!!!!!!!!!!!
>
>
D1 = X21 − X11 ,
e
25
Antes Depois ( 4 semanas)
X11 - Proteína (g/dl) X12 -Peróxidos(nmol/g) X21 -Proteína (g/dl) X22 −Peróxidos(nmol/g)
6,00 53,00 6,60 72,30
6,00 79,00 6,50 77,00
6,90 62,00 6,90 56,90
5,90 74,70 6,60 67,40
7,00 85,00 7,00 59,10
6,30 62,90 6,50 72,00
6,50 65,10 6,70 55,00
5,90 80,30 6,00 68,10
6,80 56,00 7,00 58,30
6,80 47,00 7,00 72,40
7,10 73,00 7,50 59,20
6,80 23,00 7,00 62,10
6,80 52,40 6,60 66,80
6,50 87,00 6,40 88,70
6,60 63,00 7,30 48,30
6,60 64,22 6,20 65,57
D2 = X22 − X12 .
Os nosso dados ficam da seguinte maneira:
> X_11=c(600,600,690,590,700,630,650,590,680,680,710,680,680,650,660,660)/100
> X_12=c(5300,7900,6200,7470,8500,6290,6510,8030,5600,4700,7300,2300,5240,8700,6300,
+ 6422)/100
>
> X_21=c(660,650,690,660,700,650,670,600,700,700,750,700,660,640,730,620)/100
>
> X_22=c(7230,7700,5690,6740,5910,7200,5500,6810,5830,7240,5920,6210,6680,8870,4830,
+ 6557)/100
>
> dad=cbind(X_11,X_12,X_21,X_22);dad
X_11 X_12 X_21 X_22
[1,] 6.0 53.00 6.6 72.30
[2,] 6.0 79.00 6.5 77.00
[3,] 6.9 62.00 6.9 56.90
[4,] 5.9 74.70 6.6 67.40
[5,] 7.0 85.00 7.0 59.10
[6,] 6.3 62.90 6.5 72.00
[7,] 6.5 65.10 6.7 55.00
26
[8,] 5.9 80.30 6.0 68.10
[9,] 6.8 56.00 7.0 58.30
[10,] 6.8 47.00 7.0 72.40
[11,] 7.1 73.00 7.5 59.20
[12,] 6.8 23.00 7.0 62.10
[13,] 6.8 52.40 6.6 66.80
[14,] 6.5 87.00 6.4 88.70
[15,] 6.6 63.00 7.3 48.30
[16,] 6.6 64.22 6.2 65.57
>
> D_1=X_21-X_11;D_2=X_22-X_12
> dad_t=cbind(D_1,D_2);dad_t
D_1 D_2
[1,] 0.6 19.30
[2,] 0.5 -2.00
[3,] 0.0 -5.10
[4,] 0.7 -7.30
[5,] 0.0 -25.90
[6,] 0.2 9.10
[7,] 0.2 -10.10
[8,] 0.1 -12.20
[9,] 0.2 2.30
[10,] 0.2 25.40
[11,] 0.4 -13.80
[12,] 0.2 39.10
[13,] -0.2 14.40
[14,] -0.1 1.70
[15,] 0.7 -14.70
[16,] -0.4 1.35
>
>
>
> db=matrix(c(apply(dad_t,2,mean)),ncol=1);db
[,1]
[1,] 0.206250
[2,] 1.346875
>
> S_d=cov(dad_t);S_d
D_1 D_2
27
D_1 0.09929167 -0.4289792
D_2 -0.42897917 281.9398229
>
>
> IS_d=solve(S_d);IS_d
D_1 D_2
D_1 10.13798167 0.015425217
D_2 0.01542522 0.003570326
> ###Queremos testar:H_0: mu_d=(0,0)’
>
> delta_0=matrix(c(0,0),ncol=1);delta_0
[,1]
[1,] 0
[2,] 0
>
>
> n=nrow(dad_t);n
[1] 16
>
> p=ncol(dad_t);p
[1] 2
> T2_cal=n*t(db-delta_0)%*%IS_d%*%(db-delta_0)
> T2_cal
[,1]
[1,] 7.140914
>
>
> #####Transformar na F
>
>
> gl1=p;gl2=n-p;gl1;gl2
[1] 2
[1] 14
>
> aux=(n-p)/(p*(n-1));aux
[1] 0.4666667
> F_cal=aux*T2_cal;F_cal;round(F_cal,3)
[,1]
[1,] 3.332426
[,1]
[1,] 3.332
> alfa=0.05
> F_tab=qf(1-alfa,gl1,gl2);F_tab
28
[1] 3.738892
>
> T2_tab=(1/aux)*F_tab;T2_tab
[1] 8.011911
>
>
>
> nd=pf(F_cal,gl1,gl2,lower.tail=F);nd;round(nd,4)
[,1]
[1,] 0.06550434
[,1]
[1,] 0.0655
>
Como o nível descritivo obtido é maior que o nível de significância dado não temos
evidências significativas de que haja efeito relevante do exercício físico intenso sobre o
estresse oxidativo.
Fazendo pelo pacote rrcov temos:
> require(rrcov)
> T2.test(dad_t)
data: dad_t
T2 = 7.1409, F = 3.3324, df1 = 2, df2 = 14, p-value = 0.0655
alternative hypothesis: true mean vector is not equal to (0, 0)’
sample estimates:
D_1 D_2
mean x-vector 0.20625 1.346875
>
29
enviadas para dois laboratórios para testes. Metade de cada amostra foi enviada para o
Laboratório estadual de higiene de Wisconsin, e metade foi enviada para um laborató-
rio comercial privado rotineiramente utilizado no programa de monitoramento. Foram
obtidas medidas de demanda biológica de oxigênio (SB) e sólidos suspensos (SS), para
divisões da amostra n=11, dos dois laboratórios.
>
> #### Verificação da diferença de médias com observações emparelhadas.
>
> COM.BOD=c(6,6,18,8,11,34,28,71,43,33,20)
> COM.SS=c(27,23,64,44,30,75,26,124,54,30,14)
> EST.BOD=c(25,28,36,35,15,44,42,54,34,29,39)
> EST.SS=c(15,13,22,29,31,64,30,64,56,20,21)
> tab6.1=cbind(COM.BOD,COM.SS,EST.BOD,EST.SS);tab6.1
COM.BOD COM.SS EST.BOD EST.SS
[1,] 6 27 25 15
[2,] 6 23 28 13
[3,] 18 64 36 22
[4,] 8 44 35 29
[5,] 11 30 15 31
[6,] 34 75 44 64
[7,] 28 26 42 30
[8,] 71 124 54 64
[9,] 43 54 34 56
[10,] 33 30 29 20
[11,] 20 14 39 21
>
> ####Testar se há diferença entre labs
>
> ## H_0: µ1= µ2
>
> ttab6.1 = transform(tab6.1, D.BOD = COM.BOD - EST.BOD, D.SS = COM.SS - EST.SS)
>
> ttab6.1
COM.BOD COM.SS EST.BOD EST.SS D.BOD D.SS
1 6 27 25 15 -19 12
2 6 23 28 13 -22 10
3 18 64 36 22 -18 42
4 8 44 35 29 -27 15
5 11 30 15 31 -4 -1
6 34 75 44 64 -10 11
7 28 26 42 30 -14 -4
8 71 124 54 64 17 60
30
9 43 54 34 56 9 -2
10 33 30 29 20 4 10
11 20 14 39 21 -19 -7
> n = nrow(ttab6.1[, c("D.BOD", "D.SS")]);n
[1] 11
> p = ncol(ttab6.1[, c("D.BOD", "D.SS")]);p
[1] 2
>
> dbar = matrix(colMeans(ttab6.1[, c("D.BOD", "D.SS")]),ncol = 1);dbar
[,1]
[1,] -9.363636
[2,] 13.272727
> Sd = cov(ttab6.1[, c("D.BOD", "D.SS")]);Sd
D.BOD D.SS
D.BOD 199.25455 88.30909
D.SS 88.30909 418.61818
>
>
> #######################Calcular a estatística T2:################################
>
> ISd=solve(Sd);ISd
D.BOD D.SS
D.BOD 0.005536320 -0.001167908
D.SS -0.001167908 0.002635186
>
> T2_cal = n * t(dbar) %*% solve(Sd) %*% dbar;T2_cal
[,1]
[1,] 13.63931
> alfa = 0.05
> T2_tab = (p * (n - 1)/(n - p)) * qf(0.05, p, n -p, lower.tail = FALSE);val.crit
[1] 9.458877
> T2cal > T2_tab
[,1]
[1,] TRUE
> F_cal=(n-p)*T2_cal/((n-1)*p);F_cal
[,1]
[1,] 6.13769
> F_tab=qf(1-alfa, p, n -p);F_tab
[1] 4.256495
>
> nd=1-pf(F_cal,p, n -p);nd
[,1]
[1,] 0.02082779
31
>
> nd < alfa
[,1]
[1,] TRUE
>
> ####Logo rejeitamos a hipótese de igualdade de médias entre os laboratórios.
>
>
> ### Uma forma alternativa é usar a função T2.Hotteling:
>
> #Função para o teste T2 de Hotelling:
>
>
> mu0=matrix(c(0,0),ncol=1);mu0
[,1]
[1,] 0
[2,] 0
>
> T2.Hotteling = function(mu0, data) {
+ S = cov(data)
+ n = nrow(data)
+ p = ncol(data)
+ xbar= colMeans(data)
+ T2 = n * mahalanobis(mu0, xbar, S)
+ T2.f = ((n - p)/((n - 1) * p)) * T2
+ pvalor = 1 - pf(T2.f, p, (n - p))
+ return(list(estat = T2, p.value = pvalor))
+ }
>
> T2.Hotteling(c(0, 0), ttab6.1[, c("D.BOD", "D.SS")])
$estat
[1] 13.63931
$p.value
[1] 0.02082779
>
> T2.Hotteling(c(0, 0), ttab6.1[, c("D.BOD", "D.SS")])$estat
[1] 13.63931
>
> T2.Hotteling(c(0, 0), ttab6.1[, c("D.BOD", "D.SS")])$p.value
[1] 0.02082779
>
32
>
>
> #####O teste poderia ser feito diretamente através do R:
>
> tab6.1.lm = lm(cbind(D.BOD, D.SS) ~ 1, data = ttab6.1)
>
> anova(tab6.1.lm, test = "Wilks")
Analysis of Variance Table
33
+ limsup <- t(a) %*% xbar + comp
+ c(liminf, limsup)
+ }
>
>
>
>
>
>
>
>
> Simul.Int(c(1, 0), ttab6.1[, c("D.BOD", "D.SS")])
[1] -22.45327 3.72600
> Simul.Int(c(0, 1), ttab6.1[, c("D.BOD", "D.SS")])
[1] -5.700119 32.245574
>
>
> #####Observe que o teste rejeita e todos os intervalos simultâneos contem o 0. Esse
> #####resultados não são contraditórios. Deve haver intervalo de
> ######confiança para alguma combinação linear das diferenças de médias que não
> ### contem 0.
>
>
>
> #################################################################################
>
>
X ∼ Np (µ, Σ),
em que
µ = (µ1 , µ2 , . . . , µp )> .
Queremos testar
H0 : µ1 = µ2 = . . . = µp .
34
Vamos reescrever a hipótese nula em forma matricial
µ1 − µ2 = 0
µ1 + µ2 − 2µ3 = 0
µ1 + µ2 + µ3 − 3µ4 = 0
µ1 + µ2 + µ3 + . . . − (p − 1)µp = 0
Colando em forma matricial temos:
H0 : Cµ = 0,
em que C é uma matriz de ordem (p − 1) × p de posto p − 1 dada por:
1 1 1 ... 1 −(p − 1)
1 1 1 . . . −(p − 2) 0
C=
... ... ... ... ... ...
1 1 −2 ... 0 0
1 −1 0 ... 0 0
Considere a transformação
Y = CX.
Assim a distribuição do vetor Y é dada por:
H0 : µY = 0
é dada por: Se H0 é verdade
35
Como
SY = CSC > ,
cuja inversa é dada por:
−1
SY−1 = CSC > .
Finalmente temos:
−1
T 2 = nC X̄ > C > CSC > C > X̄,
que é bem mais interessante já que não precisamos transformar os dados originais.
Só utilizamos o vetor de médias amostrais e a matriz de covariâncias amostral.
A transformação para a distribuição F é dada por:
n−p+1
F = T 2.
(p − 1)(n − 1)
36
Menino X1 X2 X3 X4
1 47.8 48.8 49.0 49.7
2 46.4 47.3 47.7 49.7
3 46.3 46.8 47.8 48.5
4 45.1 45.3 46.1 47.2
5 47.6 48.5 48.9 49.3
6 52.5 53.2 53.3 53.7
7 51.2 53.0 54.3 54.5
8 49.8 50.0 50.3 52.7
9 48.1 50.8 52.3 54.4
10 45.0 47.0 47.3 48.3
11 51.2 51.4 51.6 51.9
12 48.5 49.2 53.0 55.5
13 52.1 52.8 53.7 55.0
14 48.2 48.9 49.3 49.8
15 49.6 50.4 51.2 51.8
16 50.7 51.7 52.7 53.3
17 47.2 47.7 48.4 49.5
18 53.3 54.6 55.1 55.3
19 46.2 47.5 48.1 48.4
20 46.3 47.6 51.3 51.8
H0 : µ1 = µ2 = µ3 = µ4
que é equivalente a
H0 : µ1 − µ2 = 0; µ1 + µ2 − 2µ3 = 0 µ1 + µ2 + µ3 − 3µ4 = 0
A matriz C é dada por:
1 1 1 −3
C = 1 1 −2 0
1 −1 0 0
> C=matrix(c(1,1,1,1,1,-1,1,-2,0,0,0,-3),ncol=4);C
[,1] [,2] [,3] [,4]
[1,] 1 1 1 0
[2,] 1 1 -2 0
37
[3,] 1 -1 0 -3
>
> postoC=qr(C)$rank;postoC
[1] 3
>
> Xb=matrix(colMeans(dad),ncol=1);Xb
[,1]
[1,] 48.655
[2,] 49.625
[3,] 50.570
[4,] 51.450
> S=cov(dad);round(S,4)
t1 t2 t3 t4
t1 6.3300 6.1891 5.7770 5.5482
t2 6.1891 6.4493 6.1534 5.9234
t3 5.7770 6.1534 6.9180 6.9463
t4 5.5482 5.9234 6.9463 7.4647
>
> R=cor(dad);round(R,4)
t1 t2 t3 t4
t1 1.0000 0.9687 0.8730 0.8071
t2 0.9687 1.0000 0.9212 0.8537
t3 0.8730 0.9212 1.0000 0.9666
t4 0.8071 0.8537 0.9666 1.0000
>
> Yb=C%*%Xb;Yb
[,1]
38
[1,] -5.50
[2,] -2.86
[3,] -0.97
>
> S_Y=C%*%S%*%t(C);S_Y
[,1] [,2] [,3]
[1,] 12.611579 6.6542105 0.6300000
[2,] 6.654211 5.1077895 0.6334737
[3,] 0.630000 0.6334737 0.4011579
>
Calcule o T 2 de Hotelling:
>
> T2_cal=n*t((C%*%Xb))%*%solve(C%*%S%*%t(C))%*%(C%*%Xb);T2_cal
[,1]
[1,] 79.59491
>
> aux= (n-p+1)/((p-1)*(n-1));aux
[1] 0.2982456
>
> F_cal= aux*T2_cal;F_cal
[,1]
[1,] 23.73883
>
> alfa=0.05
>
> F_tab=qf(1-alfa,p-1,n-p+1);F_tab
[1] 3.196777
> T2_tab=(1/aux)*F_tab;T2_tab
[1] 10.7186
>
> nd=1-pf(F_cal,p-1,n-p+1);nd
[,1]
[1,] 2.606909e-06
>
39
As médias ao longo do tempo não são iguais.
Faça a transformação nos dados. Calcule diretamente
o vetor de médias amostrais e a matriz de covariâncias amostral. Veja a saída do R.
>
> dad_Y=dad%*%t(C)
> rownames(dad_Y)=c("Y1","Y2","Y3","Y4","Y5","Y6","Y7","Y8","Y9","Y10",
+ "Y11","Y12","Y13","Y14","Y15","Y16","Y17","Y18","Y19","Y20")
>
>
> dad_Y
[,1] [,2] [,3]
Y1 -3.5 -1.4 -1.0
Y2 -3.8 -1.7 -0.9
Y3 -4.6 -2.5 -0.5
Y4 -5.1 -1.8 -0.2
Y5 -2.9 -1.7 -0.9
Y6 -2.1 -0.9 -0.7
Y7 -5.0 -4.4 -1.8
Y8 -8.0 -0.8 -0.2
Y9 -12.0 -5.7 -2.7
Y10 -5.6 -2.6 -2.0
Y11 -1.5 -0.6 -0.2
Y12 -15.8 -8.3 -0.7
Y13 -6.4 -2.5 -0.7
Y14 -3.0 -1.5 -0.7
Y15 -4.2 -2.4 -0.8
Y16 -4.8 -3.0 -1.0
Y17 -5.2 -1.9 -0.5
Y18 -2.9 -2.3 -1.3
Y19 -3.4 -2.5 -1.3
Y20 -10.2 -8.7 -1.3
>
>
> matrix(colMeans(dad_Y),ncol=1);Yb
[,1]
[1,] -5.50
[2,] -2.86
[3,] -0.97
[,1]
[1,] -5.50
[2,] -2.86
[3,] -0.97
40
>
> cov(dad_Y);S_Y
[,1] [,2] [,3]
[1,] 12.611579 6.6542105 0.6300000
[2,] 6.654211 5.1077895 0.6334737
[3,] 0.630000 0.6334737 0.4011579
[,1] [,2] [,3]
[1,] 12.611579 6.6542105 0.6300000
[2,] 6.654211 5.1077895 0.6334737
[3,] 0.630000 0.6334737 0.4011579
>
>
> n=nrow(dad_Y);n
[1] 20
> p=ncol(dad_Y);p ###### ( só temos 3 variáveis agora)
[1] 3
>
>
> T2_cal=n*t(Yb)%*%solve(S_Y)%*%(Yb);T2_cal
[,1]
[1,] 79.59491
>
> aux= (n-p)/(p*(n-1));aux
[1] 0.2982456
>
> F_cal= aux*T2_cal;F_cal
[,1]
[1,] 23.73883
>
> alfa=0.05
>
> F_tab=qf(1-alfa,p,n-p);F_tab
[1] 3.196777
> T2_tab=(1/aux)*F_tab;T2_tab
[1] 10.7186
>
> nd=1-pf(F_cal,p,n-p);nd
[,1]
[1,] 2.606909e-06
>
41
H0 : µ1 = µ2 , µ1 = µ3 , µ1 = µ4 .
A matriz C1 é dada por:
1 −1 0 0
C= 1 0 −1 0
1 0 0 −1
O posto de C1 é 3. Veja a saída do R.
>
> C_1=matrix(c(1,1,1,-1,0,0,0,-1,0,0,0,-1),ncol=4);C_1
[,1] [,2] [,3] [,4]
[1,] 1 -1 0 0
[2,] 1 0 -1 0
[3,] 1 0 0 -1
>
> postoC_1=qr(C_1)$rank;postoC_1
[1] 3
>
>
X1 ∼ Np (µ1 , Σ1 = Σ).
e
X21 , X22 , . . . , X2n2 uma amostra aleatória de
X2 ∼ Np (µ2 , Σ2 = Σ),
e
Xk1 , Xk2 , . . . , Xknk 2 uma amostra aleatória de
Xk ∼ Np (µk , Σk = Σ),
com X1 , X2 , . . . , Xk independentes. Seja c = (c1 , c2 , . . . , ck ) um vetor de constantes
fixo.
Queremos testar:
k
X
H0 : cj µj = µ0
j=1
42
versus
k
X
H1 : cj µj 6= µ0 .
j=1
nj
k X k
X X
0
A= (Xji − X̄j ) (Xji − X̄j ) ∼ Wp ( (nj − 1) , Σ) = Wp (n − k, Σ).
j=1 i=1 j=1
Note que
k
X
A= (nj − 1)Sj .
j=1
Assim
A = (n − k)Sp .
Um estimador não viciado de
k
X
θ= cj µj ,
j=1
é dado por
k
X
θ̂ = cj X̄j ,
j=1
43
Se H0 é verdade
θ̂ ∼ Np (µ0 , Cov(θ̂)).
A estatística do teste é dada por:
k
!−1 k
!> k
!
X c2j X X
T2 = cj X̄j − µ0 Sp−1 cj X̄j − µ0 .
n
j=1 j j=1 j=1
v1 = p e v2 = n − k − p + 1.
n−k−p+1 2
F = T ∼ F (v1 , v2 ).
n−k
44