quinta-feira, 16 de outubro de 2008
Agora sim!!!!
### Agora sim, existe correlação.
set.seed(1133)
x<-rnorm(200)
y<-x^2
dados<-cbind(x,y)
chi.plot<-function(dados,ro){
n<-nrow(dados)
x<-dados[,1]
y<-dados[,2]
H<-c(rep(0,n))
F<-c(rep(0,n))
G<-c(rep(0,n))
S<-c(rep(0,n))
chi<-c(rep(0,n))
lambda<-c(rep(0,n))
for(i in 1:n){
k1<-0
k2<-0
k3<-0
for(j in 1:n){
if(j!=i){
k1<-ifelse((x[j]<=x[i] & y[j]<=y[i]),k1+1,k1)
k2<-ifelse((x[j]<=x[i]),k2+1,k2)
k3<-ifelse((y[j]<=y[i]),k3+1,k3)
}
}
H[i]<-k1/(n-1)
F[i]<-k2/(n-1)
G[i]<-k3/(n-1)
S[i]<-sign((F[i]-0.5)*(G[i]-0.5))
c<-c((F[i]-0.5)^2,(G[i]-0.5)^2)
lambda[i]<-4*S[i]*max(c)
chi[i]<-(H[i]-F[i]*G[i])/sqrt(F[i]*(1-F[i])*G[i]*(1-G[i]))
}
nf <- layout(cbind(c(0,1,1,0), c(0,2,2,0)))
plot(x,y,pch=19,main='Scatterplot')
plot(lambda,chi,pch=19,xlim=c(-1,1),ylim=c(-1,1),
main='Chi-plot, p=0.95',sub=paste('ro=',ro),xlab=expression(lambda),
ylab=expression(chi),las=2)
abline(h=0,lty=2)
abline(v=0,lty=2)
abline(h=-1.78/sqrt(n),lty=2)
abline(h=1.78/sqrt(n),lty=2)
}
chi.plot(dados,0.91)
Será o coeficiente de correlação o melhor? Será que uma associação entre variáveis é sempre linear?
set.seed(1133)
#### CASO 1
x<-rnorm(200)
y<-x
plot(x,y,type="p")
### Possibilidade 1
cor(x,y)
### Possibilidade 2
cor.test(x, y, method = "kendall", alternative = "two.sided")
cor.test(x, y, method = "spearman", alternative = "two.sided")
### CASO 2
y2<-2*x
plot(x,y2,type="p")
cor(x,y2)
cor.test(x, y2, method = "kendall", alternative = "two.sided")
cor.test(x, y2, method = "spearman", alternative = "two.sided")
#### CASO 3
y3<-x^2
plot(x,y3,type="p")
### Possibilidade 1
cor(x,y3)
### Possibilidade 2
cor.test(x, y3, method = "kendall", alternative = "two.sided")
cor.test(x, y3, method = "spearman", alternative = "two.sided")
### CASO 4
y4<-2*x^2
plot(x,y4,type="p")
cor(x,y4)
cor.test(x, y4, method = "kendall", alternative = "two.sided")
cor.test(x, y4, method = "spearman", alternative = "two.sided")
## CASO 5
y5<-x^2+ x^4+rnorm(200,2,1)
plot(x,y5,type="p")
cor(x,y5)
cor.test(x, y5, method = "kendall", alternative = "two.sided")
cor.test(x, y5, method = "spearman", alternative = "two.sided")
### Gerando outliers
xx<-c(x,rnorm(3))
y6<-c(y5,rnorm(3,100,10))
plot(xx,y6,type="p")
cor(xx,y6)
cor.test(xx, y6, method = "kendall", alternative = "two.sided")
cor.test(xx, y6, method = "spearman", alternative = "two.sided")
### Brincando um pouco...
plot(ibov,csn)
cor(csn,ibov)
cor.test(csn, ibov, method = "kendall", alternative = "two.sided")
cor.test(csn, ibov, method = "spearman", alternative = "two.sided"
)
### vale apena dizer, que este é apenas um exemplo,
## até pode ser dado em sala, mas é um caso específico
## Bem, agora estou estudando algo que, até então, só tinha ouvido falar: Cópulas.
#### CASO 1
x<-rnorm(200)
y<-x
plot(x,y,type="p")
### Possibilidade 1
cor(x,y)
### Possibilidade 2
cor.test(x, y, method = "kendall", alternative = "two.sided")
cor.test(x, y, method = "spearman", alternative = "two.sided")
### CASO 2
y2<-2*x
plot(x,y2,type="p")
cor(x,y2)
cor.test(x, y2, method = "kendall", alternative = "two.sided")
cor.test(x, y2, method = "spearman", alternative = "two.sided")
#### CASO 3
y3<-x^2
plot(x,y3,type="p")
### Possibilidade 1
cor(x,y3)
### Possibilidade 2
cor.test(x, y3, method = "kendall", alternative = "two.sided")
cor.test(x, y3, method = "spearman", alternative = "two.sided")
### CASO 4
y4<-2*x^2
plot(x,y4,type="p")
cor(x,y4)
cor.test(x, y4, method = "kendall", alternative = "two.sided")
cor.test(x, y4, method = "spearman", alternative = "two.sided")
## CASO 5
y5<-x^2+ x^4+rnorm(200,2,1)
plot(x,y5,type="p")
cor(x,y5)
cor.test(x, y5, method = "kendall", alternative = "two.sided")
cor.test(x, y5, method = "spearman", alternative = "two.sided")
### Gerando outliers
xx<-c(x,rnorm(3))
y6<-c(y5,rnorm(3,100,10))
plot(xx,y6,type="p")
cor(xx,y6)
cor.test(xx, y6, method = "kendall", alternative = "two.sided")
cor.test(xx, y6, method = "spearman", alternative = "two.sided")
### Brincando um pouco...
plot(ibov,csn)
cor(csn,ibov)
cor.test(csn, ibov, method = "kendall", alternative = "two.sided")
cor.test(csn, ibov, method = "spearman", alternative = "two.sided"
)
### vale apena dizer, que este é apenas um exemplo,
## até pode ser dado em sala, mas é um caso específico
## Bem, agora estou estudando algo que, até então, só tinha ouvido falar: Cópulas.
Assinar:
Postagens (Atom)