Rozdział 6 - Testy permutacyjne

Idź do spisu treści

Menu główne:

Rozdział 6


Kod 6.1. Test permutacyjny dla porównania średnich zmian

t=1:10
y1=c(20,25,32,36,42,48,53,60,68,64)
y2=c(30,33,35,38,41,43,46,49,52,55)
i1=y1[-1]/y1[-10];i2=y2[-1]/y2[-10]
i12=c(i1,i2)
id=c(rep(0,9),rep(1,9))
T0=prod(i1)-prod(i2)
N=1000
T=c()
for (i in 1:N)
{
      ids=sample(id)
      i1s= ids*i12; i2s=(1-ids)*i12
      T=c(T,prod(i1s[i1s>0])-prod(i2s[i2s>0]))
}
sum(T>=T0)/N

Kod 6.2. Permutacyjny obszar ufności dla trendu liniowego

n=30
t=1:n
y=1.2*t+rnorm(n)+3
plot(t,y,type='l')
b=lm(y~t)$coefficients[1]
a=lm(y~t)$coefficients[2]
res=lm(y~t)$residuals
N=1000
yboot=matrix(NA,N,n)
for (i in 1:1000)
{
      yboot[i,]=a*t+b+sample(res)
}
ci.d=apply(yboot,2,quantile,0.025)
ci.g=apply(yboot,2,quantile,0.975)
for (i in 1:5)
{
      lines(t,a*t+b+sample(res),type='l')
}
lines(t,ci.d,type='l',lwd=2)
lines(t,ci.g,type='l',lwd=2)

 
 
Wróć do spisu treści | Wróć do menu głównego