Você está na página 1de 44

1 Introdução

Este material foi escrito para a disciplina CC0293-Análise Multivariada , ministrado


em 2020.0, pelo professor João Maurício Araújo Mota.

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

tem distribuição de Wishart com parâmetros n e Σ e usamos a notação:

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.

Teorema 1: Seja l0 = [l1 , . . . , lp ] fixo, então,

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

Teorema 2: Se A1 ∼ Wp (n1 , Σ) e A2 ∼ Wp (n2 , Σ) e forem independentes, então

A1 + A2 ∼ Wp (n1 + n2 , Σ).

Prova:
n1
X n2
X
A1 + A2 = Xi Xi0 + Xj Xj0 .
i=1 j=1

Vamos reescrever o somatório em j de uma outra maneira.

2
n1
X nX
1 +n2 nX
1 +n2

A1 + A2 = Xi Xi0 + Xi Xi0 = Xi Xi0 .


i=1 i=n1 +1 i=1

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̄ − µ)(X̄ − µ)0 ∼ Wp (1, Σ).


Agora considere:

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:

B = (n − 1)S + n(X̄ − µ)(X̄ − µ) = (n − 1)S + V


pois,
n
X
(Xi − X̄) = 0.
i=1

Como S e X são independentes em população normal multivariada e lembrando


que

B ∼ W ∼ Wp (n, Σ) e V ∼ Wp (1, Σ),


temos o resultado. Isto é,
n
X
(n − 1)S = (Xi − X̄) (Xi − X̄)0 ∼ Wp (n − 1, Σ).
i=1

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

Usando novamente a definição da distribuição de Wishart temos:

C A C > ∼ Wq (n , C Σ C > ).
A densidade da Wishart será apresentada a seguir.

2.2 Função densidade da Wishart


|A|(n−p−1) exp (−tr(Σ−1 A))/2)
f (A) = p .
2np/2 πp(p−1)/4 Y
|Σ|n/2 Γ(n + 1 − i)
i=1

para a variação onde A seja positiva definida.

Nota:
p p
X X
tr(Σ−1 A) = σ ij aij ,
i=1 j=1

em que de σ ij é o elemento da i-ésima linha e da j-ésima coluna da inversa da matriz


Σ.
Exemplo: Considere p = 1 , n = 1 e Σ = σ11 = σ 2 .
A nossa matriz A = X12 = Y. A f.d.p. de Y é dada por:
1  y 
f (y) = √ y −1/2 exp − 2 I(0,∞) (y),
2 Γ(1/2)σ 2σ
Assim

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

T 2 = ab (Y − µ)0 A−1 (Y − µ),


tem uma distribuição de Hotelling .
Anderson(1958) provou que:
b−p+1 2
F = T ∼ F (p, b − p + 1).
bp

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

e além de serem independentes.


Logo, com a = n e b = n − 1 temos:

T 2 = ab (X̄ − µ0 )0 A−1 (X̄ − µ0 ) = n(n − 1)(X̄ − µ0 )0 A−1 (X̄ − µ0 ),


Mas

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

Fcal > Ftab ,


com Ftab sendo o percentil de ordem 100(1 − α) de uma distribuição F de parâmetros
p e n − p.
Podemos voltar e trabalhar com a distribuição T 2

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 (µ , Σ)

e que as pessoas normais tem o vetor de médias

H0 : [µ1 , µ2 , µ3 ]> = [4, 50, 10]> .

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

Solução: Queremos testar as hipóteses:


1. Hipóteses:
H0 : [µ1 , µ2 , µ3 ]> = [4, 50, 10]> .

H1 : [µ1 , µ2 , µ3 ]> 6= [4, 50, 10]> .


2. Estatistica do Teste: Usaremos a estatistica

T 2 = n(X̄ − µ0 )> S −1 (X̄ − µ0 ),


e que se H0 é verdade tem distribuição T 2 de Hotelling. Sabemos que
e

(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

P (T 2 > 8, 18) = 0, 10.

Assim, se T 2 obs > 8, 18 devemos rejeitar H0 .


Para calcular o valor da estatística devemos calcular o vetor de médias e a matriz
de variâncias-covariâncias através do R.

3.1.2 Duas Populações Multivariadas Independentes com a Mesma Matriz


de Covariâncias.
Considere X11 , X12 , . . . , X1n1 uma amostra aleatória de

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:

(n1 − 1)S1 + (n2 − 1)S2


Sp = .
n1 + n2 − 2
Vamos justificar a distribuição da estatística do teste.
Sabemos que

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

Da independência segue que:


1 1
X̄1 − X̄2 ∼ Np ( µ1 − µ2 , Σ+ Σ),
n1 n2
ou
1 1
X̄1 − X̄2 ∼ Np ( µ1 − µ2 , ( + ) Σ),
n1 n2
ou
 
n1 + n2
X̄1 − X̄2 ∼ Np ( µ1 − µ2 , Σ .
n1 n2
Além disso

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,

T 2 = ab(X̄1 − X̄2 )(A1 + A2 )−1 (X̄1 − X̄2 ),


ou
n1 n2 1
T2 = (n1 + n2 − 2) (X̄1 − X̄2 ) Sp−1 (X̄1 − X̄2 )0 ,
n1 + n2 n1 + n2 − 2
finalmente,
n1 n2
T2 = (X̄1 − X̄2 ) Sp−1 (X̄1 − X̄2 )0 .
n1 + n2
Daí
b−p+1 2
F = T ∼ F (p, b − p + 1),
bp
Como b = n1 + n2 − 2 temos que:
n1 + n2 − p − 1 2
F = T ∼ F (p, n1 + n2 − p − 1).
(n1 + n2 − 2); p

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

Tabela 1: Amostras retiradas de duas diferentes temperaturas

X2 =altura da planta (m) foram mensuradas. Os resultados obtidos estão na tabela a


seguir:
Teste, usando α = 5%, que os vetores de médias das populações são iguais. Qual
o nível descritivo do teste? Que suposições você fez para fazer o teste proposto? Que
variáveis são responsáveis por tal diferença entre os vetores de médias? Existe evidência
estatística que as matrizes de covariâncias das populações sejam iguais? Analisando pelo
R temos:

> ###CC0293-Análise Multivariada-


>
> ##Professor: Mauricio--------Monitor:Ramon
>
> ##Exemplo do Daniel Ferreira-páginas 302 e 303
>
> ####POP_1=Variedade de milho A, POP_2=Variedade de milho B
>
> g=2##### Duas populações Independentes.
>
> ###X_1=(X11,X12)~N_2(mu_1,Sigma_1) X_2=(X21,X22)~N_2(mu_2,Sigma_2)
>
> p=2 ####Número de variáveis.
>
>
> ###hipótese adicional: Sigma_1=Sigma_2=Sigma
>
> #####Amostra da populaçao 1
>
>
> X11=c(57,89,62,58,68,62)/10
> X12=c(210,190,198,192,200,201)/100
>
> X1=cbind(X11,X12);X1

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

Vamos usar agora o pacote Hotelling:

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
>

Note que é uma saída muito econômica. A estatística dada é a F e não a T 2 de


Hotelling.

Exemplo 03 Vamos usar um exemplo com um conjunto de dados do R chamado


hemophilia.

>
> ###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

Two-sample Hotelling test

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!!!!!!!!!!!!!!!!
>
>

Analisando o conjunto de dados com o comando help encontramos:

3.1.3 Duas Populações Multivariadas Independentes com Diferentes Ma-


trizes de Covariâncias.
3.1.4 Duas Populações Multivariadas Dependentes.
Vamos começar com o Exemplo 7.1 do livro do Daniel Ferreira página 286.
Exemplo 04 Testar a hipótese de que exercícios físicos intensos não têm efeitos
sobre o estresse oxidativo(estresse causado pelo aumento de radicais livres no plasma
de mulheres da terceira idade ). Para isso, um estudo em que n = 16 mulheres da
terceira idade avaliadas antes e após o tratamento foi realizado no laboratório de Bi-
oquímica Clínica do Departamento de Análises Clínicas da Universidade Federal de
Alfenas(UNIFAL). O tratamento consistia em submeter as mulheres ao exercício físico
durante 4 semanas. Foram avaliadas duas variáveis, proteínas em g/dl e peróxidos em
nmol/g de proteína. Os resultados obtidos estão apresentados na tabela a seguir:
Considere as variáveis:

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

Tabela 2: Dados Emparelhados Multivariados.

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

Vamos continuar a nossa análise:

>
> 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)

One-sample Hotelling test

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

>

Fazendo pelo pacote Hotelling

Exemplo 05- Exemplo 6.1 do Johnson-Wichern-páginas 294 -295.


As estações municipais de tratamento de águas residuais são necessárias por lei para
monitorar suas descargas em rios e córregos regularmente.
A preocupação com a confiabilidade dos dados de um desses programas de auto-
monitoramento levou a um estudo no qual amostras de efluentes foram divididas e

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

Df Wilks approx F num Df den Df Pr(>F)


(Intercept) 1 0.42302 6.1377 2 9 0.02083 *
Residuals 10
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>
>
> ####Veja o nível descritivo. Wilks---vai começar a entrar na nossa vida!!!!!!
>
> round(nd,5)
[,1]
[1,] 0.02083
>
> ###Vamos agora obter intervalos de confiança simultâneos para as diferenças de
> ## médias das variáveis componentes:
>
>
>
> Simul.Int = function(a, data, alfa = 0.05, large.samp = FALSE) {
+ n = nrow(data)
+ p = ncol(data)
+ xbar = colMeans(data)
+ S = cov(data)
+ a = matrix(a, ncol = 1)
+ xbar = matrix(xbar, ncol = 1)
+ var.lin = t(a) %*% cov(data) %*% a
+ if (large.samp) {
+ liminf = t(a) %*% xbar - sqrt(qchisq(alfa, p, lower.tail = FALSE) * sqrt(var.lin/n)
+ limsup = t(a) %*% xbar + sqrt(qchisq(alfa,+ p, lower.tail = FALSE) * sqrt(var.lin/n
+ return(c(liminf, limsup))
+ }
+ cte = (p * (n - 1))/(n * (n - p))
+ comp = sqrt(cte * var.lin * qf(alfa, p, (n -+ p), lower.tail = FALSE))
+ liminf = t(a) %*% xbar - comp

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

3.1.5 Teste entre as médias de uma População Normal Multivariada


Seja X1 , X2 , . . . , Xn uma amostra aleatória de

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:

Y ∼ Np−1 (Cµ, CΣ C > ).


Seja Y1 , Y2 , . . . , Yn uma amostra aleatória de Y .
A estatística do teste T 2 de Hotelling para testar

H0 : µY = 0
é dada por: Se H0 é verdade

T 2 = nȲ > SY−1 Ȳ .


Mas

X̄ − µ = C X̄,

35
Como

Cov(Y ) = CΣC > ,


e é estimada por:

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)

Exemplo 4 Elston e Grizzle (1962) estudaram o comprimento do osso em grupo de


20 meninos em 4 diferentes idades: (t1 ) 8 anos (idade 1), (t2 ) 8 anos e meio (idade 2),
(t3 ) 9 anos (idade 3), (t4 ) 9 anos e meio (idade 4.) Seja Xi o comprimento do osso na
idade i = 1, 2, 3, 4. Os dados obtidos foram:

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

Seja X = (X1 , X2 , X3 , X4 )0 ∼ N4 (µ, Σ),com µ = (µ1 , µ2 , µ3 , µ4 ).

Usando α = 0.05 teste se

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

O posto de C é 3. Veja a saída do R.

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

Estime o vetor de médias de X. Veja a saída do R.

> Xb=matrix(colMeans(dad),ncol=1);Xb
[,1]
[1,] 48.655
[2,] 49.625
[3,] 50.570
[4,] 51.450

As médias vão crescendo ao longo do tempo.


Estime a matriz de covariâncias de X. Veja a saída do R.

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

Estime a matriz de correlações de X. Veja a saída do R.

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

Estime o vetor de médias de Y usando a matriz C. Veja a saída do R.

> Yb=C%*%Xb;Yb
[,1]

38
[1,] -5.50
[2,] -2.86
[3,] -0.97
>

Estime a matriz de covariâncias de Y usando a matriz C. Veja a saída do R.

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

Faça o mesmo teste usando outra matriz de constrastes C1 .

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

3.1.6 Teste de uma Combinação Linear de Médias numa ANOVA


Considere X11 , X12 , . . . , X1n1 uma amostra aleatória de

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

Sabemos que para j = 1, 2, . . . , k:


1
Xj ∼ Np (µj , Σ),
nj
e

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

Um estimador não viciado para Σ é dado por:


k
X k
X
(nj − 1)Sj (nj − 1)Sj
j=1 j=1 A
Sp = = = .
k
X n−k n−k
(nj − 1)
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

A matriz de covariâncias de θ̂ é dada por:


k
X c2j
Cov(θ̂) = Σ.
n
j=1 j

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

Vamos transformar para uma distribuição F com parâmetros

v1 = p e v2 = n − k − p + 1.

n−k−p+1 2
F = T ∼ F (v1 , v2 ).
n−k

44

Você também pode gostar