Quebras nas suposicoes (Regressão Linear - R code)

download Quebras nas suposicoes (Regressão Linear - R code)

If you can't read please download the document

Transcript of Quebras nas suposicoes (Regressão Linear - R code)

# O codigo abaixo tem por objetivo ajudar na compreensao das hipoteses utilizadas no curso.# Com este proposito em mente, iremos simular modelos com e sem falhas nas suposicoes.# Iremos investigar as hipoteses de homocedasticidade, autocorrelacao, exogeneidade# dos regressores, multicolinearidade e normalidade.

# O codigo contem comentarios que visam facilitar o entendimento dos passos simulados.# Para cada uma das simulacoes, procuramos analisar a media das estimativas geradas# (media das 10000) para verificar possiveis vieses. Tambem calculamos intervalos# de confianca e testamos se eles contem o verdadeiro valor dos parametros# em 95% dos experimentos (isto afeta as nossas inferencias).

# Tipos de dados: http://www.statmethods.net/input/datatypes.html

# O comando paste(print(i)) mostra em que simulacao o software esta.

#### Heterocedasticidade ##### Sob heterocedasticidade, os estimadores continuam nao-viesados, porem menos eficientes.# Porem, os intervalos de confianca e testes usando as estatisticas t e F nao sao mais confiaveis estritamente.

# Simulacoes ### Sob homocedasticidade, simularemos 1e4 (10000) regressoes e verificaremos em quantas delas o intervalo### de confianca nao contem o verdadeiro parametro.### Sob heterocedasticidade, simularemos 1e4 (10000) regressoes e verificaremos em quantas delas o intervalo### de confianca nao contem o verdadeiro parametro.

errotipo1homo=0 # inicializandoerrotipo1hetero=0 # inicializandobetahomo=vector() # cria um vetor logicobetahetero=vector()beta=vector()beta[1] = 8 # b0beta[2] = 6 # b1n=300sigma = 5seq=as.matrix(seq(1,3,length=n)) # sequencia de 300 valores entre 1 e 3# sera utilizado para dar uma 'dinamica' a variancia.# 1e4= 10000for(i in 1:1e4){ x = 1:n y = beta[1] + beta[2]*x + rnorm(n,mean=0,sd=5) m = lm(y~x) # betahomo[i] = m$coef[2] if(confint(m)[2,1]>beta[2] || confint(m)[2,2]beta[2] || confint(m)[2,2]beta[2] || confint(m)[2,2]beta[2] || confint(m)[2,2]beta[2] || confint(m)[2,2]beta[2] || confint(m)[2,2]beta[2] || confint(m)[2,2]beta[2] || confint(m)[2,2]