Está en la página 1de 9

Regresion Lineal Simple

Sindy Diaz
21/11/2019

Graficar la variable dependiente contra la variable independiente


La regresiob exige que la relacion entre la variable independiente (X) y la dependiente (Y) sea lineal, ya que
la ecuacion que se propone es del tipo aditiva en sus parametros

Y = β0 + β1 X + 

que equivale a un ajuste lineal con los parametros β0 y β1 En la grafica se podra ver si se cumple la relacion
lineal, si no es asi, es necesario realizar transformaciones, por lo tanto seria una regresion no lineal( la
herramienta para corregir esto es realizar transformaciones matematicas en las variables para volver la relacion
no lineal a una relacion lineal entre las variables dependiente e independiente)

Ejemplo
Suponga los siguientes datos que relacionan las ganacias y los gastos de publicidad a traves del tiempo de
determinada empresa:
publicidad=c(5,10,7,4,2,3,6,8,9,4)
ganancia=c(15,24,18,13,9,11,16,21,22,12)
datos=cbind(publicidad,ganancia)
datos

## publicidad ganancia
## [1,] 5 15
## [2,] 10 24
## [3,] 7 18
## [4,] 4 13
## [5,] 2 9
## [6,] 3 11
## [7,] 6 16
## [8,] 8 21
## [9,] 9 22
## [10,] 4 12

Paso 1 Hacemos un grafico


scatter.smooth(x=publicidad, y=ganancia, main="ganancia ~ publicidad")

1
ganancia ~ publicidad
20
ganancia

15
10

2 4 6 8 10

publicidad

Luego que realizamos el grafico, sabemos que tienen una tendencia lineal. Ahora hallamos los coeficientes:

Paso 2 Hallamos los coeficientes


reg_lin <- lm(ganancia ~ publicidad)
reg_lin

##
## Call:
## lm(formula = ganancia ~ publicidad)
##
## Coefficients:
## (Intercept) publicidad
## 5.138 1.890
Tenemos que la ecuacion que estima la recta quedaria:

y = 1.890 ∗ publicidad + 5.138

Graficamos la linea de ajuste:


plot(publicidad,ganancia)
abline(reg_lin)

2
20
ganancia

15
10

2 4 6 8 10

publicidad

Prueba global del modelo de regresion


Al tratar de pronosticar la variable dependiente se intenta captar el comportamiento de dicha variable por
medio de una ecuacion; este debe ser normal. La siguiente prueba de hipotesis estariamos utilizando la el
estadistico F de Fisher el cual se estaria probando si el modelo es estadisticamente significativo. Esto equivale
a probar:\
H0 : β1 = 0 es decir que Ŷ = Ȳ
H1 : β1 6= 0 es decir que Ŷ 6= Ȳ

anova(reg_lin)

## Analysis of Variance Table


##
## Response: ganancia
## Df Sum Sq Mean Sq F value Pr(>F)
## publicidad 1 227.17 227.170 1050.8 8.94e-10 ***
## Residuals 8 1.73 0.216
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
En la hipotesis nula H0 se prueba que β1 = 0, si se acepta entonces cualquier valor qye se le asigne a la
variable independiente se nulificara. La ecuacion de regresion es:

Ŷ = β0

Es decir no importa el valor que se le asigne a la X, el termino se volvera cero, eso quiere decir que dicha
variable no causa efecto en Y, por lo que X debera eliminarse de la ecuacion y por lo tanto el analisis

3
se termina, dado lo que segun lo que escribimos en la hipotesis nula, el mejor pronostico de la variable
dependiente es su promedio ya que:
α̂ = Ȳ − 0(X) = Ȳ
Si la hipotesis nula (H0 ) es rechazada, se prueba que β1 =
6 0, si esto sucede entonces cualquier valor que se le
asigne a la variable dependiente no se nulificara, sino que el valor de la variable dependiente se incrementara
o se disminuira segun el valor de β1 y de X, por lo que X debera quedarse en la ecuacion. ## Prueba
individual para cada coeficiente Tambien podemos probar si cada beta es significativamente distinto de cero.
Esto equivale a probar las siguientes hipotesis: ### Con respecto a β1

H0 : β1 = 0

H1 : β1 6= 0
### Con respecto a α
H0 : α = 0
H1 : α 6= 0
Para realizar lo anterior, usaremos una distribucion t. Por lo tanto
reg_lin <- lm(ganancia ~ publicidad)
summary(reg_lin)

##
## Call:
## lm(formula = ganancia ~ publicidad)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.69811 -0.31289 0.02201 0.27437 0.74214
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.1384 0.3687 13.94 6.81e-07 ***
## publicidad 1.8899 0.0583 32.42 8.94e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.465 on 8 degrees of freedom
## Multiple R-squared: 0.9924, Adjusted R-squared: 0.9915
## F-statistic: 1051 on 1 and 8 DF, p-value: 8.94e-10
Es claro que se rechaza la hipotesis nula, por lo cual los coeficientes son significativamente distinto de cero.
## Intervalos de confianza para cada uno de los coeficientes Podemos obtener intervalos de confianza, de
distintos niveles para cada uno de los coeficientes.
confint(reg_lin,level=0.95)

## 2.5 % 97.5 %
## (Intercept) 4.288041 5.988689
## publicidad 1.755489 2.024385
Si la confianza es del 99% entonces nos quedaria:
confint(reg_lin,level=0.9)

## 5 % 95 %
## (Intercept) 4.452669 5.824061
## publicidad 1.781519 1.998355

4
Evaluacion del modelo
Una vez que ya se probo la ecuacion en forma global y posteriormente de modo individual, se procede a
evaluar lo adecuado del modelo , esto se relizara para calcular:
• Coeficiente de correlacion
• Coeficiente de determinacion
• Coeficiente de determinacion ajustado
• Error estandar

Coeficiente de correlacion multiple


Indica que tanto la variable independiente (X)afecta a la dependiente (Y)
cor(publicidad, ganancia)

## [1] 0.9962149
Un valor cercano a cero implica que la variable X(independiente)no explica casi nada por lo que no esta
asociada o no tiene relacion lineal con la variable dependiente (Y), un valor cercano a 1 indica que hay
una fuerte asociacion o relacion lineal entre (X) y la (Y). En nuestro caso la asociacion entre las variables
publicidad y ganancia es del 99.62% ## Coeficiente de determinacion Este coeficiente indica en terminos
porcentuales, indica cuanta de toda la variabilidad o el comportamiento que tiene la variable dependiente se
capta o se explica por la ecuacion de regresion. En nuestro caso: el R cuadrado esta dado por
summary(reg_lin)$r.squared

## [1] 0.992444
Esto significa que del 100% de la variacion o del comportamiento que tiene la variable dependiente 99.24%
fue captada por la ecuacion y queda sin explicar 0.76% Esto significa que el ajuste es casi perfecto. ## Error
estandar del estimado Un valor cercano a cero indica que no existe casi nada de dispersion a traves de la
linea de regresion; es decir, casi todos los valores estan por encima de la linea de regresion , un valor muy
grande significa que estan muy dispersos. En nuestro caso nos quedaria:
summary(reg_lin)$sigma

## [1] 0.4649677
Algo muy importante que se debe cumplir son los supuestos de los errores. ##Supuestos de los errores
Los supuestos que debemos mostrar si cumplen los errores( toda la teoria se fundamenta en esto) son los
siguientes:
• Normalidad
• Independencia
• Promedio cero
• Homogeneidad
##Normalidad de los errores Cuando la normalidad no se cumple se dice que este supuesto es violado; si
esto ocurre entonces no puede usarse la prueba global(por medio de la F) y las pruebas individuales ( por la
t-student). Este supuesto se puede verificar de muchas maneras, aqui solo se veran algunas:
plot(reg_lin,2)

5
Normal Q−Q
2

8
Standardized residuals

1
0
−1

10

−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5

Theoretical Quantiles
lm(ganancia ~ publicidad)
Tenemos que en efecto los puntos caen sobre una linea por lo cual se puede inferir que los errores tienen una
distribucion normal.
Tambien se puede usar kolmogorov-smirnov y shapiro-wilk ## Independencia de los errores Los errores
deben comportarse aleatoriamente, para ello hacemos la grafica de los errores y verificamos
plot(reg_lin,1)

6
Residuals vs Fitted

8
0.5
Residuals

0.0
−0.5

10

10 15 20

Fitted values
lm(ganancia ~ publicidad)
No sigue ningun patron lineal o no lineal por lo que se concluye que si hay independencia ## Media cero El
supuesto de media cero, se debe cunmplir para usar minimos cuadrados.
mean(summary(reg_lin)$residuals)

## [1] -1.387779e-18
Se da por sentado este supuesto. ## Homocedasticidad Indica que existe homogeneidad en las varianzas,
es decir que las varianzas sean constantes, cuando no lo son se dice que existe heteroscedasticidad. Esto es
cuando se grafica los residuales en el eje Y y los datos reales de X.
library(car)

## Loading required package: carData


plot(reg_lin,3
)

7
Scale−Location
8
10
0.0 0.2 0.4 0.6 0.8 1.0 1.2
Standardized residuals

10 15 20

Fitted values
lm(ganancia ~ publicidad)
leveneTest(publicidad,ganancia)

## Warning in leveneTest.default(publicidad, ganancia): ganancia coerced to


## factor.
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 9
## 0
Se concluye que los errores tienen homocedasticidad, por lo que este supuesto se cumple ##Pronosticos
puntuales Un uso paricular de regresion lineal, es poder garantizar la ´prediccion dado ciertos valores:
predict(reg_lin, data.frame(publicidad = c(5,10,7,4,2,3,6,8,9,4)))

## 1 2 3 4 5 6 7
## 14.588050 24.037736 18.367925 12.698113 8.918239 10.808176 16.477987
## 8 9 10
## 20.257862 22.147799 12.698113

Prediccion de confianza para la media


newpublicidad<-c(2.8,3.3,6.7,7.9)
newpub<-as.data.frame(newpublicidad)
# Intervalo de confianza para la media de Y
reg_lin$df

## [1] 8

8
predict(reg_lin,newpub,se.fit=T,interval=c("confidence"),level=.95)

## Warning: 'newdata' had 4 rows but variables found have 10 rows


## $fit
## fit lwr upr
## 1 14.588050 14.232334 14.943766
## 2 24.037736 23.379078 24.696394
## 3 18.367925 17.992432 18.743417
## 4 12.698113 12.281541 13.114685
## 5 8.918239 8.305062 9.531416
## 6 10.808176 10.301537 11.314815
## 7 16.477987 16.137858 16.818117
## 8 20.257862 19.807913 20.707811
## 9 22.147799 21.600016 22.695582
## 10 12.698113 12.281541 13.114685
##
## $se.fit
## 1 2 3 4 5 6 7
## 0.1542564 0.2856274 0.1628327 0.1806466 0.2659046 0.2197042 0.1474974
## 8 9 10
## 0.1951207 0.2375463 0.1806466
##
## $df
## [1] 8
##
## $residual.scale
## [1] 0.4649677

También podría gustarte