Está en la página 1de 22

Formulas capítulo 12 Devore

Modelo de regresión lineal simple 𝑌 = 𝛽0 + 𝛽1 𝑥 + 𝜀


𝜀:Termino de error aleatorio o desviación aleatoria 𝐸(𝜀) = 0, 𝑉(𝜀) = 𝜎 2

Estimación de parámetros de modelo


Estimaciones de mínimos cuadrados 𝛽̂0
𝛽̂1

Recta de mínimos cuadrados 𝑦 = 𝛽̂0 + 𝛽̂1 𝑥

∑(𝑥𝑖 − 𝑥̅ )(𝑦 − 𝑦̅) 𝑆𝑋𝑌


𝑏1 = 𝛽̂1 = =
∑(𝑥𝑖 − 𝑥)2 𝑆𝑋𝑋

(∑ 𝑥𝑖 )(∑ 𝑦𝑖 )
𝑆𝑋𝑌 = ∑ 𝑥𝑖 𝑦𝑖 −
𝑛

(∑ 𝑥𝑖 )2
2
𝑆𝑋𝑥 = ∑ 𝑥𝑖 −
𝑛

∑ 𝑦𝑖 − 𝛽̂1 ∑ 𝑥𝑖
𝑏0 = 𝛽̂0 = = 𝑦̅ − 𝛽̂1 𝑥̅
𝑛

Valores ajustados o pronosticados ̂1 = 𝛽̂0 + 𝛽̂1 𝑥1


𝑦

𝑦
̂ ̂ ̂
𝑛 = 𝛽0 + 𝛽1 𝑥𝑛

Residuos 𝑦1 − 𝑦
̂1 … 𝑦𝑛 − 𝑦
̂𝑛

Suma de los cuadrados debido al error 𝑆𝑆𝐸 = ∑(𝑦𝑖 − 𝑦̂𝑖 )2


2
= ∑ (𝑦𝑖 − (𝛽̂0 − 𝛽1 𝑥𝑖 ))

𝑆𝑆𝐸 = ∑ 𝑦𝑖 2 − 𝛽̂0 ∑ 𝑦𝑖 − 𝛽̂1 ∑ 𝑥𝑖 𝑦𝑖


2
Estimación de 𝜎 2 𝑆𝑆𝐸 ∑(𝑦𝑖 − 𝑦̂)
𝑖
𝜎̂2 = 𝑠 2 = =
𝑛−2 𝑛−2
𝑟 2 :Coeficiente de determinación 𝑆𝑆𝐸 (𝑆𝑆𝑇 − 𝑆𝑆𝐸) 𝑆𝑆𝑅
𝑟2 = 1 − = =
𝑆𝑆𝑇 𝑆𝑆𝑇 𝑆𝑆𝑇

SST: suma total de cuadrados ̅)𝟐


𝑺𝑺𝑻 = 𝑺𝒀𝒀 = ∑(𝒚𝒊 − 𝒚
(∑ 𝒚̅𝒊 )𝟐
= ∑ 𝒚𝒊 𝟐 −
𝒏

𝑆𝑆𝑇 = 𝑆𝑆𝐸 + 𝑆𝑆𝑅 ⇒ 𝑆𝑆𝑅


= ∑(𝑦̂𝑖 − 𝑦̅)2 = 𝑆𝑆𝑇 − 𝑆𝑆𝐸

Inferencias sobre el parámetro de pendiente 𝛽1 ∑(𝑥𝑖 − 𝑥̅ )(𝑌𝑖 − 𝑌̅)


𝛽̂1 =
∑(𝑥𝑖 − 𝑥)2
(los estimadores 𝛽̂1 , 𝛽̂0 se obtienen haciendo una
∑ 𝑌𝑖 − 𝛽̂1 ∑ 𝑥𝑖
sustitución de 𝑦𝑖 = 𝑌𝑖 en las formulas, 𝑌𝑖 aleatorias ) 𝛽̂0 =
𝑛
∑(𝑌 ̂ 2
𝑖 − 𝑌𝑖 )
̂2
𝜎 =𝑆 = 2
𝑛−2
𝑆𝑆𝐸 = ∑ 𝑌𝑖 − 𝛽0 ∑ 𝑌𝑖 − 𝛽̂1 ∑ 𝑥𝑖 𝑌𝑖
2 ̂

∑(𝑥𝑖 − 𝑥̅ )𝑌𝑖
Otra manera de escribir 𝛽̂1 𝛽̂1 = = ∑ 𝑐𝑖 𝑌𝑖
𝑆𝑥𝑥

(𝑥𝑖 − 𝑥̅ )
𝑑𝑜𝑛𝑑𝑒 𝑐𝑖 =
𝑆𝑥𝑥

Valor medio de 𝛽̂1


(Estimador insesgado) 𝐸(𝛽̂1 ) = 𝜇𝛽̂1 = 𝛽1

Varianza y desviación estándar para 𝛽̂1


Variable estandarizada T, tiene una distribución t con
n-2 gl

Intervalo de confianza de 100(1-α)% para 𝛽̂1

Tabla ANOVA para regresión lineal simple

Origen de la Grados de Suma de Media f

variación libertad cuadrados cuadrática

Regresión 1 SSR SSR 𝑆𝑆𝑅


𝑆𝑆𝐸/(𝑛 − 2)

Error n-2 SSE 𝑆𝑆𝐸


𝑠2 =
𝑛−2

Total n-1 SST

Procedimientos de prueba de hipótesis

Hipótesis nula: 𝑯𝟎 : 𝜷𝟏 = 𝜷𝟏𝟎

𝜷𝟏 −𝜷𝟏𝟎
Valor de la estadística de prueba: 𝒔𝜷𝟏

Hipótesis alternativa Región de rechazo para la prueba de

nivel 𝜶

𝑯𝒂 : 𝜷𝟏 > 𝜷𝟏𝟎 𝒕 ≥ 𝒕𝜶,𝒏−𝟐

𝑯𝒂 : 𝜷𝟏 < 𝜷𝟏𝟎 𝒕 ≤ −𝒕𝜶,𝒏−𝟐

𝑯𝒂 : 𝜷𝟏 ≠ 𝜷𝟏𝟎 𝒕 ≥ 𝒕𝜶,𝒏−𝟐 o 𝒕 ≤ −𝒕𝜶,𝒏−𝟐


12.4 Inferencias sobre 𝜇𝑦⋅𝑥 * y la predicción de valores futuros de y
̂0 + 𝛽
𝑦̂ = 𝛽 ̂1 𝑥 * , 𝑥 * 𝑓𝑖𝑗𝑜

̂0 + 𝛽
𝐸(𝑦̂) = 𝐸(𝛽 ̂1 𝑥 * ) = 𝛽0 + 𝛽1 𝑥 *

̂0 + 𝛽
𝛽 ̂1 𝑥 * 𝑒𝑠𝑢𝑛𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜𝑟𝑝𝑎𝑟𝑎𝛽0 + 𝛽1 𝑥 *

1 (𝑥 * − 𝑥̅ )2
2
𝑣(𝑦̂) = 𝜎 [ + ]
𝑛 𝑆𝑥𝑥

𝜎𝑦̂ = √𝜎𝑦2̂

1 (𝑥 * −𝑥̅ )2
𝑆𝑦̂ = √𝑛 + , ̂0 + 𝛽
𝑆𝑦̂ = 𝐷𝑒𝑠𝑣𝑖𝑎𝑐𝑖𝑜𝑛𝑒𝑠𝑡𝑎𝑛𝑑𝑎𝑟𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑎𝑑𝑒𝛽 ̂1 𝑥 *
𝑆𝑥𝑥

𝑦̂𝑡𝑖𝑒𝑛𝑒𝑑𝑖𝑠𝑡𝑟𝑖𝑏𝑢𝑐𝑖𝑜𝑛𝑛𝑜𝑟𝑚𝑎𝑙
𝐼𝑛𝑡𝑒𝑟𝑒𝑛𝑐𝑖𝑎𝑠𝑠𝑜𝑏𝑟𝑒𝜇𝑦⋅𝑥 *

̂0 + 𝛽
𝛽 ̂1 𝑥 * − (𝛽0 + 𝛽1 𝑥 * ) 𝑦̂ − (𝛽0 + 𝛽1 𝑥 * )
𝑇= =
𝑆𝛽̂0 +𝛽̂1 𝑥* 𝑆𝑦̂

Intervalo de confianza de 100(1 − 𝛼)% para 𝜇𝑦⋅𝑥 * , el valor esperado de y cuando

x=𝑥 *

𝑦̂ ± 𝑡𝛼⁄2,𝑛−2 ⋅ 𝑆𝑦̂

Intervalo de predicción para un valor futuro de y


̂0 + 𝛽
𝑦 − (𝛽 ̂1 𝑥 * )
𝑇=
1 (𝑥 * − 𝑥̅ )2
𝑆√1 + 𝑛 + 𝑆 𝑥𝑥

Un intervalo de predicción de 100(1 − 𝛼)% para una observación y futura cuando x =𝑥 * es

1 (𝑥 * − 𝑥̅ )2
̂0 + 𝛽
𝛽 ̂1 𝑥 * ± 𝑡𝛼⁄2,𝑛−2 ⋅ 𝑆√1 + +
𝑛 𝑆𝑥𝑥

=𝑦̂ ± 𝑡𝛼⁄2,𝑛−2 ⋅ √𝑆 2 + 𝑆𝑦2̂


12.5 CORRELACION

Coeficiente de correlación muestral de r


𝑛 𝑛
(∑𝑛𝑖=1 𝑥𝑖 )(∑𝑛𝑖=1 𝑦𝑖 )
𝑆𝑥𝑦 = ∑(𝑥𝑖 − 𝑥̅ )(𝑦𝑖 − 𝑦̅) = ∑ 𝑥𝑖 𝑦𝑖 −
𝑛
𝑖=1 𝑖=1

El coeficiente de correlación muestral para los n pares


𝑆𝑥𝑦 𝑆𝑥𝑦
𝑟= = −1 ≤ 𝑟 ≤ 1
√∑𝑛 2 𝑛 ̅)2 √𝑆𝑥𝑥 √𝑆𝑦𝑦
𝑖=1(𝑥𝑖 −𝑥̅ ) √∑𝑖=1(𝑦𝑖 −𝑦

El coeficiente de relación al cuadrado es igual al coeficiente de determinación


(𝑟)2 = 𝑟 2

𝑦̂𝑖 − 𝑦̅ = 𝛽̂1 (𝑥𝑖 − 𝑥̅ )


𝑛

∑(𝑦̂𝑖 − 𝑦̅)2 = (𝑟)2 𝑆𝑆𝑇


𝑖=1

𝑆𝑆𝑇 = 𝑆𝑆𝐸 + (𝑟)2 𝑆𝑆𝑇

El coeficiente de correlación de la población 𝜌 e inferencias sobre la correlación


𝐶𝑜𝑣(𝑋, 𝑌)
𝜌 = 𝜌(𝑋, 𝑌) =
𝜎𝑥 𝜎𝑦

∑ ∑(𝑥 − 𝜇𝑋 )(𝑦 − 𝜇𝑌 )𝑓(𝑥, 𝑦) (𝑋, 𝑌) 𝑑𝑖𝑠𝑐𝑟𝑒𝑡𝑜


𝐶𝑜𝑣(𝑋, 𝑌) = { ∞ ∞
∫ ∫ (𝑥 − 𝜇𝑋 )(𝑦 − 𝜇𝑌 )𝑓(𝑥, 𝑦)𝑑𝑥𝑑𝑦 (𝑋, 𝑌) 𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑜𝑢𝑠
−∞ −∞

Estimador de 𝜌
∑(𝑋𝑖 − 𝑋̅)(𝑌𝑖 − 𝑌̅)
𝜌̂ = 𝑅 =
√∑(𝑋𝑖 − 𝑋̅)2 √∑(𝑌𝑖 − 𝑌̅)2

Pruebas para la ausencia de correlación

Cuando 𝐻𝑜 : 𝜌 = 0 es verdadera, el estadístico de prueba


𝑅√𝑛 − 2
𝑇=
√1 − 𝑅 2
Tiene una distribución 𝑡 con 𝑛 − 2 grados de libertad.

Hipótesis alternativa Región de rechazo para una prueba a nivel 𝛼

𝐻𝑎 : 𝜌 > 0 𝑡 ≥ 𝑡𝛼,𝑛−2

𝐻𝑎 : 𝜌 < 0 𝑡 ≤ 𝑡𝛼,𝑛−2

𝐻𝑎 : 𝜌 ≠ 0 𝑡 ≥ 𝑡𝛼,𝑛−2 𝑜 𝑡 ≤ −𝑡𝛼,𝑛−2
2 2

Un valor P basado en 𝑛 − 2 grados de libertad puede ser calculado como


previamente se describió.

Nótese que 𝐻𝑎 : 𝜌 ≠ 0

𝛽̂
𝑇=
𝑠2

𝑆𝑥𝑥

12.6 Evaluación de la adecuación del modelo


Residuos

Residuos 𝑒𝑖 = 𝑦𝑖 − 𝑦̂𝑖

Si la ecuación de la línea de regresión estimada 𝑦 = 𝛽̂0 + 𝛽̂1 𝑥 es correcta entonces el


residuo i-ésimo es 𝑒𝑖 = 𝑦𝑖 − (𝛽̂0 + 𝛽̂1 𝑥𝑖 )

Si 𝑒𝑖 = 𝑌𝑖 − 𝑌̂𝑖 entonces

𝐸(𝑌𝑖 − 𝑌̂𝑖 ) = 0

1 (𝑥𝑖 − 𝑥̅ )2
𝑉(𝑌𝑖 − 𝑌̂𝑖 ) = 𝜎 2 [1 − − ]
𝑛 𝑆𝑥𝑥

Residuos Estandarizados

𝑖 = 1, … , 𝑛
Códigos
#agregar vectores con datos
datos=data.frame(x,y)
regr=lm(y~x,data=datos)
summary(regr)
#tabla anova
anova(regr)
nota: con este código podemos obtener los valores del estimador de beta1 y sbeta1

Intervalo del 100(1-⍺)% de confianza para beta1 es

betha1<-( )
sb<-( )
alpha<-( )
n<-( )
betha1-qt(1- (alpha/2),n-2)*sb
betha1+qt(1- (alpha/2),n-2)*sb

betha1<-( )
sb<-( )
b10<-( )
alpha<-( )
n<-( )
t<-(betha1-b10)/sb
talfamedis=-qt(alpha,n-2)

betha1<-( )
sb<-( )
t<-(betha1)/sb

Encontrar el intervalo del a% de confianza para un vector dado, con cierto


incremento

i= #valor de incremento
#vectores con datos
y1<-i*y
regresion<-lm(y1~x,data=datos)
confint(regresion,level=.(a/100))

Intervalo de confianza para la pendiente de regresión lineal


#vectores con datos
datos<-data.frame(x,y)
regresion<-lm(y~x,data=datos)
confint(regresion,level=0.95)

Intervalo de confianza para el estimador de Y, cuando x=x*

#vectores con datos


nuevo <- data.frame(x=x*)
predict(object=regresion, newdata=nuevo, interval="confidence", level=0.95)

Un IC del 100(1 - ⍺)% para una observación Y futura que se realizará cuando x=x*

#vectores con datos


nuevo <- data.frame(x=x*)
predict(object=regresion, newdata=nuevo, interval="prediction", level=0.95)

Coeficiente de correlación
#vectores con datos
datos<-data.frame(x,y)
cor(datos)

Diagrama de dispersión
#vectores con datos
plot(x, y)

Para verificar la normalidad, usamos los residuos


x<-c() #Escribir el primer vector
y<-c() #Escribir el segundo vector
datos<-data.frame(x,y)
regresion<-lm(y ~ x, data = datos) #Se realiza la regresión correspondiente
residuos <- rstandard(regresion) #Se obtienen los residuos
qqnorm(residuos) #Grafica qq
qqline(residuos) #línea de normalidad

Prueba de hipótesis sobre los 𝜷𝒋


x<-c() #Escribir el primer vector
y<-c() #Escribir el segundo vector
datos<-data.frame(x,y)
regresion<-lm(y ~ x, data = datos) #Se realiza la regresión correspondiente
beta_test(object=regresion, parm='x', ref.value=0, alternative='two.sided')

Obs: Para usar esto se necesita instalar ( if (!require('devtools'))


install.packages('devtools') devtools::install_github('fhernanb/model', force=TRUE) y
library(model))

#Otra forma de hacerlo: calcular el valor de T y compararlo con su correspondiente


región de rechazo
#vectores con datos
n=length(x)
data=data.frame(x,y)
regresion=lm(y ~ x, data)
summary(regresion)

yp=mean(y)
xp=mean(x)
a=(x-xp)^2
b=(y-yp)^2
R=sum((x-xp)*(y-yp))/(sqrt(sum(a))*sqrt(sum(b)))
T=R*sqrt(n-2)/sqrt(1-R^2)

alfa=a
n=
qt(1-alfa/2,n-2)

Para estandarizar los residuos dado un s=c


x<-c() #Escribir el primer vector
y<-c() #Escribir el segundo vector
s=c
datos<-data.frame(x,y)
regresion<-lm(y ~ x, data = datos) #Hacer una regresión correspondiente
residuos <- rstandard(regresion) #Obtener los residuos
residuos1<-residuos/s #generar un nuevo vector con
valores.ajustados <- fitted(regresion) #Ajustar valores
plot(valores.ajustados, residuos1)#Grafico de dispersion
abline(0,0)

#Otra forma de hacerlo


Cálculo de los residuos y residuos estandarizados
#vectores con datos
s <- a #valor dado
n <- length(x)

yi<-c()

for(i in 1:n){
yi[i] = b - c*x[i] #recta de mínimos cuadrados
}
e <- (y - yi)
es <- e/s

### Grafica de Residuos ###


xseq=seq(-300, 300, 0.01)
yseq = xseq -xseq
plot(x, e, main='Grafica de Residuos', xlab = 'x', ylab= 'e', col = 'cornflowerblue', pch = 16,
panel.first = grid() )
lines(xseq, yseq)

### Grafica de Residuos de Estandarizacion ###


plot(x, es, main='Grafica de Residuos de Estandarizacion', xlab = 'x', ylab= 'e', col =
'cornflowerblue', pch = 16, panel.first = grid() )
lines(xseq, yseq)

### Grafica normal de Residuos de Estandarizacion ###


par( mfrow= c(1, 2) ) # Parte la pantalla en 2
qqnorm(es, main='Diagrama de normal de Residuos de Estandarizacion')
qqline(es)
hist(es, freq=F, main='Histograma normal de Residuos de Estandarizacion')
curve(dnorm(x, mean(es), sd(es)), add=TRUE)
APÉNDICE A:

Intervalos de bootstrap
library(boot)
boot.ci(bootobject, conf=, type= ) donde

bootobject: funcion bootstrap


conf: el nivel de confianza que queremos
type:El tipo de intervalo de confianza que queremos, los comunes son "norm",
"basic", "stud", "perc", "bca" and "all" (default: type="all")

Normalidad de un bootstrap
qqnorm(bootstrap$t, datax=T)
qqline(bootstrap$t, datax=T,col = “green”)

ANOVA
anova<-aov( lm(y ~ x) )
-2 vías con un dato
anova<-aov( lm(y ~ x1+x2) )
-2 vías con varios datos
anova<-aov( lm(y ~ x1*x2) )

Regresión con matrices


x1<-c()
x2<-c()
y<-c()
datos<-data.frame(x1,x2,y)
Para obtener a la matriz X y el vector y
form <- formula(y ~ x1 + x2)
X <- model.matrix(object=form, data=datos)
X
mf <- model.frame(y ~ x1 + x2, data=datos)
y <- model.extract(mf, "response")
y
Ecuaciones normales serán
> b<-t(X)%*%y
> M<-t(X)%*%X
>M
>b
M=b
vector
solve(M,b)
Determinando ŷ = Xβ̂, y- ŷ tendremos
betha<-solve(M,b)
y1<-X%*%betha
y1
y-y1
Dado MSE and c11 to get a 95% confidence interval for β1.
C<-solve(t(X)%*%X)
C
El intervalo de confianza está dado por j ±t/2,n-k-1(s√cjj) por lo tanto el
intervalo de confianza será
b1(abs(qt(alpha/2,n-k-1))*s*sqrt(c1))

Matriz de sombrero
y<-c()
x1<-c()
x2<-c()
datos<-data.frame(y,x1,x2)
mod<-lm(y~x1+x2,data=datos)
summary(mod)
X <- cbind(1, x1, x2)
H <- X %*% solve(t(X) %*% X) %*% t(X)
H
diag(H)
Examinacion de los residuos
ei <- w - fitted(regresion)
Tabla de frecuencias
tabla1<-table(x)
Intervalos
chisq.cont.test(datos, distribution = "norm", nestpar = 2, mean=mean(datos),
sd=sd(datos))

Pruebas de hipotesis para 2 grupos


mfo <- matrix(c(), ncol = n, byrow = TRUE)
mfo
fo <- as.data.frame(mfo)
chisq.test(fo)
12.7 - REGRESIÓN MÚLTIPLE

La ecuacion general del modelo de regresión múltiple


𝑌 = β0 + β1𝑥1 +... + β𝑘𝑥𝑘 + ε

2
[ ]
𝐸 𝑥1, …, 𝑥𝑛 = µ𝑌,𝑥 ,…,𝑥 = β0 + β1𝑥1 + … + β𝑘𝑥𝑘
1 𝑛
𝑉𝑎𝑟(𝑌) = σ

Supon que tenemos k variables independientes o predictoras, entonces en cada


observacion consistira de k+1 numeros. Los valores de los predictores en una observacion
individual son denotados como
𝑥𝑖𝑗 = el valor del j-esimo predictor 𝑥𝑗 in la i-esima observacion

Principio de minimos cuadrados


𝑛
2
𝑔(𝑏0, 𝑏1, ... , 𝑏𝑘) = ∑ [𝑦𝑖 − (𝑏0 + 𝑏1𝑥𝑖1 +... + 𝑏𝑘𝑥𝑖𝑘)]
𝑖=1

la solucion de las k+1 ecuaciones, obtienes la ecuacion normal y los estimadores de


β1 , ... , β
𝑘

CODIGO:

x1=c() #Ingresar datos 1ra columna


x2=c() #Ingresar datos de la 2da columna
#…
xk=c() # ingresar datos de la k columna
y=c() #ingrese valores de y

#codigo para las sumatorias


xi1=sum(x1)
#…
xik=sum(xk)
yi=sum(y)
#codigo para la multiplicacion de entrada por entrada de cada vector
#el producto de la entrada i-esima del vector xi con la entrada i-esima del vector xj
#modificar en el ciclo for las i y las j dependiendo lo requerido
d=c(0,0,....,0) #crear un vector con N ceros
N= length(d)
for(i in 1:N){
d[i]=xi[i]*xj[i]
}
print(sum(d))
#sumas de xik*yi
d=c(0,0,....,0) #crear un vector con N ceros
N= length(d)
for(i in 1:N){
d[i]=xi[i]*y[i]
}
print(sum(d))

^ 𝑛
2 𝑆𝑆𝐸 ^
Estimación de σ = 𝑠² = 𝑛−(𝑘+1)
= 𝑀𝑆𝐸, donde 𝑆𝑆𝐸 = ∑ (𝑦𝑖 − 𝑦𝑖)²
𝑖=1
𝑛
𝑆𝑆𝐸
El coeficiente de determinación múltiple es 𝑅² = 1 − 𝑆𝑆𝑇
, donde 𝑆𝑆𝑇 = ∑ (𝑦𝑖 − 𝑦)²
𝑖=1

El coeficiente de determinación múltiple ajustado


𝑆𝑆𝐸
2 𝑀𝑆𝐸 [𝑛−(𝑘+1)] 𝑛−1 𝑆𝑆𝐸
𝑅𝑎 = 1 − 𝑀𝑆𝑇
=1− 𝑆𝑆𝑇 =1− 𝑛−(𝑘+1) 𝑆𝑆𝑇
(𝑛−1)

Prueba de Hipotesis

Hipótesis Nula 𝐻0: β1 = β2 = … = β𝑘 = 0


Hipótesis Alternativa: 𝐻𝑎: 𝑎𝑙 𝑚𝑒𝑛𝑜𝑠 𝑢𝑛 β𝑖≠0 , 𝑖 = 1,..., 𝑘

Valor de la estadistica de prueba:


2
𝑅 𝑆𝑆𝑅
𝑘 𝑘 𝑀𝑆𝑅
𝑓= (1−𝑅 )
2 = 𝑆𝑆𝐸 = 𝑀𝑆𝐸
[𝑛−(𝑘+1)] [𝑛−(𝑘+1)]

donde SSR= regresión suma de cuadrados = SST-SSE


Rechaza la región para la prueba de nivel α: 𝑓≥ 𝐹α,𝑘,𝑛−(𝑘+1)

Comando para R para encontrar 𝐹α,𝑘,𝑛−(𝑘+1) → qf(α, k, n-(k+1))

INFERENCIAS EN LA REGRESIÓN MÚLTIPLE

Intervalos de confianza
1. un intervalo con 100(1-α)% de confianza para β𝑖, el coeficiente de 𝑥𝑖 en la funcion de
regresion es

^
β𝑖 ± 𝑡α/2 , 𝑛−(𝑘+1) ( 𝑠 ^ ) , donde * 𝑠 ^ = 𝑆 𝑐𝑗𝑗
β𝑖 β𝑖
codigo para R:

2. Prueba de hipótesis
𝐻0: β𝑗 = β𝑗0
𝐻𝑎: β𝑗 ≠ β𝑗0
^ ^
β𝑗−β𝑗0
𝑇= ~𝑡𝑛−(𝑘+1)
𝑆 𝑐𝑗𝑗

Rechazamos 𝐻0 a favor de 𝐻𝑎 a nivel de α si |𝑇| > 𝑡α/2,𝑛−(𝑘+1)


𝑇 −1
[
Nota: 𝑋 𝑋 ] = 𝐶 = [𝑐𝑖𝑗]

3. Un intervalo con 100(1-α)% de confianza para µ * * es


𝑌. 𝑥1, ... ,𝑥𝑘

^
𝑦 ± 𝑡α/2 , 𝑛−(𝑘+1)* 𝑠 ^
𝑌
4. Un intervalo de 100(1-α)% de predicción para un valor futuro de y es

^ 2
𝑦 ± 𝑡α/2 , 𝑛−(𝑘+1) 𝑠² + 𝑠 ^
𝑌

12.7 MODELOS DE REGRESIÓN MULTIPLE


Regresión Polinomial
2
𝑌 = β0 + β1𝑥 + β2𝑥 + ε
2 𝑛
𝑥1 = 𝑥, 𝑥2 = 𝑥 ,...., 𝑥𝑛 = 𝑥
Regresión con interacción
Ejemplo:
𝑌 =− 4500 + 75𝑥! + 60𝑥2 − 𝑥1𝑥2 + ε
Vamos variando el valor de 𝑥1
𝑀𝑒𝑑𝑖𝑎 𝑦 𝑣𝑎𝑙𝑜𝑟 𝑐𝑢𝑎𝑛𝑑𝑜 𝑥1 = 100 => 3000 − 40𝑥2
𝑀𝑒𝑑𝑖𝑎 𝑦 𝑣𝑎𝑙𝑜𝑟 𝑐𝑢𝑎𝑛𝑑𝑜 𝑥1 = 95 => 2625 − 35𝑥2
𝑀𝑒𝑑𝑖𝑎 𝑦 𝑣𝑎𝑙𝑜𝑟 𝑐𝑢𝑎𝑛𝑑𝑜 𝑥1 = 100 => 2250 − 30𝑥2

12.8 - REGRESIÓN CON MATRICES


Supongamos que tenemos n observaciones, cada una de las cuales consta de un valor
de y y valores de los k predictores
La ecuación normal en forma de matriz es

^ 𝑇 −1 𝑇 ^ ^
[
β= 𝑏 = 𝑋 𝑋 ] 𝑋 𝑦 𝑦 = 𝑋β

CODIGO:

#para calcular beta estimador


vx1=c() #ingrese entradas de la primera fila de la matriz X

vxk=c() #ingrese entradas de la k-esima fila de la matriz X
X=rbind(vx1, ... ,vxk) #Forma la matriz X von los vectores anteriores

XT=t(X) # calcula la traspuesta de X

vy1=c() #ingrese entrada de la primera fila de y



vyk=c() #ingrese entradas de la k-esima fila de y
y=rbind(vy1,vy2,vy3,vy4) #forma el vector columna y
𝑇
I =solve(XT%*%X) #obtiene la matriz inversa de 𝑋 𝑋
B=(I)%*%XT%*%y #hace el producto de matrices para obtener beta estimador

Codigo para obtener y estimador


y=X%*%B
𝑇 −1 𝑇 ^
Si consideramos 𝐻 = 𝑋 𝑋 [ ] 𝑋 . Tenemos que un residuo 𝑦𝑖 − 𝑦𝑖, por lo que el vector de n
^
residuos es 𝑦 − 𝑦 = 𝑦 − 𝐻𝑦 = (𝐼 − 𝐻)𝑦
^ 𝑇 ^ ^ 2
(
El error de la suma de los cuadrados es 𝑆𝑆𝐸 = 𝑦 − 𝑦 (𝑦 − 𝑦) = ‖𝑦 − 𝑦‖ )
^
2 2 𝑆𝑆𝐸
σ = 𝑀𝑆𝐸 = 𝑆 = [𝑛−(𝑘+1)]
^ 2
𝑆𝑆𝑅 = ‖𝑦 − 𝑦‖
SST= SSE + SSR

2
𝑅

F-razon es 𝐹 = 𝑘
(1−𝑅 )
2

[𝑛−(𝑘+1)]

COVARANCIA DE MATRICES
U es vector columna de variables aleatorias 𝑈1, …, 𝑈𝑛

Código para sacar covarianza de matrices:


#Introducir en una variable X a la matriz
cov(X[,1:k]) #Matriz de covarianzas para las columnas de la matriz de la 1 a la k-esima

Teorema:
𝑇
Si A es una matriz con entradas constantes y 𝑉 = 𝐴𝑈, entonces 𝐶𝑜𝑣(𝑉) = 𝐴𝐶𝑜𝑣(𝑈)𝐴

^ −1 −1 𝑇
[ 𝑇 ] 𝑋𝑇𝑌 y 𝐴 = [𝑋𝑇𝑋]
Si β = 𝑋 𝑋 𝑋 y 𝑈 = 𝑌 entonces
^ 𝑇 2 𝑇 −1
𝐶𝑜𝑣(β) = 𝐴𝐶𝑜𝑣(𝑌)𝐴 = σ [𝑋 𝑋]
^
𝐸[β] = β
^ 𝑇 2
𝐶𝑜𝑣(𝑌) = 𝐻𝐶𝑜𝑣(𝑌)𝐻 = σ 𝐻
^ 2
𝐶𝑜𝑣(𝑌 − 𝑌) = σ (𝐼 − 𝐻)
Prueba de bondad Chi-Cuadrada
𝑘
(𝑦𝑖 − 𝑛𝑝𝑖0 )2
𝑞𝑘−1 =∑
𝑛𝑝𝑖0
𝑖=1

Si usamos m estimadores
𝑘
(𝑦𝑖 − 𝑛𝑝̂ 𝑖0 )2
𝑞𝑘−1 = ∑
𝑛𝑝̂ 𝑖0
𝑖=1

Código en R

#Calcula 𝑞𝑘−1
sum((y-n*p)^2/(n*p))

En caso de querer comprobar una distribución


𝑝𝑖0 = 𝑃 (𝑋 ∈ 𝐴𝑖 )
Donde 𝐴𝑖 es una partición del conjunto donde esté definida la distribución.

#Ejemplo con una distribución normal, donde estan dadas la media y la


desviacion estandar
#Se parte el dominio de la distribución en k partes de igual probabilidad
#m=media dada
#sd=desviacion estandar
q=qnorm(c(0:k)/k,m,sd)
x=c() #Vector de datos

#Cuenta valores dentro del intervalo


Y<-rep(0,k) #vector de frecuencias
for(i in 1:k){
y[i]=sum(q[i]&lt;=x)-sum(q[i+1]&lt;x)}
y
#Calcula q_(k-1)
#P es un vector de probabilidades, en este caso es 1/k
p=1/k
sum((y-n*p)^2/(n*p))

Tablas de contingencia
● Prueba de homogeneidad
Con parámetros especificados
Grupo 𝐴1 𝐴2 ... 𝐴𝑘 Totales

𝐺1 𝑌11 𝑌21 ... 𝑌𝑘1 𝑛1

𝐺2 𝑌12 𝑌22 ... 𝑌𝑘2 𝑛1

𝑌11 + 𝑌12 𝑌21 + 𝑦22 ... 𝑌𝑘1 + 𝑌𝑘2 𝑛1 + 𝑛2

ℎ 𝑘 2
(𝑌𝑖𝑗 − 𝑛𝑗 𝑝𝑖𝑗 ) 2
𝑄𝑘−1 = ∑∑ ∼ 𝜒𝑘−1
𝑛𝑗 𝑝𝑖𝑗
𝑗=1 𝑖=1

Usando estimadores
ℎ 𝑘 2
(𝑌𝑖𝑗 − 𝑛𝑗 𝑝̂ 𝑖 ) 2
𝑄𝑘−1 = ∑∑ ∼ 𝜒𝑘−1
𝑛𝑗 𝑝̂ 𝑖
𝑗=1 𝑖=1

Donde

∑ℎ𝑗=1 𝑌𝑖𝑗
𝑝̂ 𝑖 =
∑ℎ𝑗=1 𝑛𝑗

La prueba de hipótesis es
𝐻0 : 𝑝𝑖1 = 𝑝𝑖2 = ⋯ . = 𝑝𝑖ℎ = 𝑝𝑖 = 𝑝𝑖
#Se definen tantos vectores gh's como grupos en el problema
g1<-c() #Frecuencias en el grupo 1, sin contar los totales
g2<-c() #Frecuencias en el grupo 2, sin contar los totales
#gh<-c() #Frecuencias en el grupo h

#Se definen tantas n's como g's


n1 = sum(g1)
n2=sum(g2)
#nh=sum(gh)

n<-c(n1,n2) #Se deben incluir todas las n's que se definan


N=sum(n)
k=ncol(freq)
h=nrow(freq)
freq<-rbind(g1,g2) #Se deben incluir todas las g's que se definan
p<-rep(0,length(g1))
for(i in 1:k){
for(j in 1:h){
p[i]=p[i]+freq[j,i]
}
p[i]=p[i]/N
}
p

Q=0
for(i in 1:h){
for(j in 1:k){
Q=Q+((freq[i,j]-n[i]*p[j])^2/(n[i]*p[j]))
}
}
Q

● Prueba de independencia
Con parámetros especificados
Hipótesis
𝐻0 : 𝑝𝑖𝑗 = 𝑝𝑖. 𝑝.𝑗 𝑖 = 1, . . . , 𝑘 𝑗 = 1, . . . , ℎ

𝑝𝑖. = ∑ 𝑝𝑖𝑗
𝑗=1

𝑝.𝑗 = ∑ 𝑝𝑖𝑗
𝑖=1

𝑌𝑖𝑗 = # 𝑑𝑒 𝑣𝑒𝑐𝑒𝑠 𝑞𝑢𝑒 𝑙𝑜𝑠 𝑣𝑎𝑙𝑜𝑟𝑒𝑠 𝑠𝑒 𝑒𝑛𝑐𝑢𝑒𝑛𝑡𝑟𝑎𝑛 𝑒𝑛 𝐴𝑖 ∩ 𝐵𝑗


ℎ 𝑘 2
(𝑌𝑖𝑗 − 𝑛𝑝𝑖𝑗 ) 2
𝑄𝑘ℎ−1 = ∑∑ ∼ 𝜒𝑘ℎ−1
𝑛𝑝𝑖𝑗
𝑗=1 𝑖=1

Usando estimadores
2
ℎ 𝑘 𝑌𝑖. 𝑌.𝑗
[𝑌𝑖𝑗 − 𝑛 ( 𝑛 ) ( 𝑛 )]
2
𝑄𝑘ℎ−1 = ∑∑ ∼ 𝜒(𝑘−1)(ℎ−1)
𝑛(𝑌𝑖. /𝑛)(𝑌.𝑗 /𝑛)
𝑗=1 𝑖=1

Donde

𝑌.𝑗 = ∑𝑘𝑖=1 𝑦𝑖𝑗 , 𝑌𝑖. = ∑ℎ𝑗=1 𝑦𝑖𝑗

#Cada vector g corresponde a un grupo (fila)


g1<-c() #Llenar vector
g1<-c(g1,sum(g1)) #Hacer lo mismo para cada g que se defina
g2<-c()
g2<-c(g2,sum(g2))

tabla<-rbind(g1,g2) #Incluir todos los vectores g que se hayan declarado

total<-c()
for(i in 1:ncol(tabla)){
total[i]=sum(tabla[,i])
}
tabla<-rbind(tabla,total)

N=tabla[nrow(tabla),ncol(tabla)]
pi.<-c(0,nrow(tabla)-1)
for(i in 1:nrow(tabla)-1){
pi.[i]=tabla[i,ncol(tabla)]/N
}
pi.

p.j<-c()
for(j in 1:ncol(tabla)-1){
p.j[j]=tabla[nrow(tabla),j]/N
}
p.j

exp_num<-matrix(0,nrow=length(pi.),ncol=length(p.j))
for(i in 1:length(pi.)){
for(j in 1:length(p.j)){

exp_num[i,j]=pi.[i]*p.j[j]*N
}
}
exp_num # se obtuvieron los valores p_i*p_j*n

Q=0
for(i in 1:length(pi.)){
for(j in 1:length(p.j)){
Q=Q+(tabla[i,j]-exp_num[i,j])^2/exp_num[i,j]
}
}
Q

También podría gustarte