#Construcción de la Base de Datos

y = c(35, 63, 103, 121.8, 163.8, 373.0)
x1 = c(0.00,4.00,10.00,10.72,16.00,21.00)
x2 = c(13.0, 9.0, 20.0, 10.0, 17.0, 19.0)
x3= c(220,120,120,120,120,118)

datos=data.frame(y,x1,x2,x3)
pairs(ChickWeight)# diagramas de dispersion

Estadistica descriptiva

summary(ChickWeight)
##      weight           Time           Chick     Diet   
##  Min.   : 35.0   Min.   : 0.00   13     : 12   1:220  
##  1st Qu.: 63.0   1st Qu.: 4.00   9      : 12   2:120  
##  Median :103.0   Median :10.00   20     : 12   3:120  
##  Mean   :121.8   Mean   :10.72   10     : 12   4:118  
##  3rd Qu.:163.8   3rd Qu.:16.00   17     : 12          
##  Max.   :373.0   Max.   :21.00   19     : 12          
##                                  (Other):506

###• El promedio de datos para la variable peso es de 121.8 • El promedio de datos para la variable tiempo es de 10.27

Correlación

cor(datos) # Correlacion
##             y         x1         x2         x3
## y   1.0000000  0.9051452  0.5519687 -0.4542933
## x1  0.9051452  1.0000000  0.6088234 -0.6691901
## x2  0.5519687  0.6088234  1.0000000 -0.1829205
## x3 -0.4542933 -0.6691901 -0.1829205  1.0000000
##            y        x1        x2         x3

Y con y correlaion perfecta • Y con X1 correlacion buena de 0.9,van variando conjuntamente, indicando que el peso del polluelo cambia con el tiempo • Y con x2 correlacion de 0.55 no presenta buena correlación indicando que el peso del pollo no depende del polluelo • Y con X3 correkacion de -0.45

Ajuste de un Modelo Lineal (lm)

modelo=lm(y~x1+x2+x3,datos=data.frame)
## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'datos' will be disregarded
summary(modelo)
## 
## Call:
## lm(formula = y ~ x1 + x2 + x3, datos = data.frame)
## 
## Residuals:
##       1       2       3       4       5       6 
##   1.165  36.867  -3.834 -27.799 -64.648  58.250 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)
## (Intercept) -136.3429   186.1096  -0.733    0.540
## x1            18.8078     7.3456   2.560    0.125
## x2            -2.9223     9.0894  -0.322    0.778
## x3             0.9462     1.1068   0.855    0.483
## 
## Residual standard error: 69.72 on 2 degrees of freedom
## Multiple R-squared:  0.8677, Adjusted R-squared:  0.6691 
## F-statistic: 4.371 on 3 and 2 DF,  p-value: 0.1918
## 
## Call:
## lm(formula = y ~ x1, y ~ x2, y ~ x3)

El modelo de programación lineal indica que • Para aumentar el peso del pollo debo tomar un tiempo 18.8 según lo obtenido como coeficiente, La hipótesis de 0.12 me indica que puedo confiar en los datos obtenidos

• El coeficiente de -2.92 me indica que no hay una relación directa entre el tipo de polluelo y el peso y una hipótesis superior a 0.5 indica que no es confiable

4)La nube de puntos y la recta: visualizacion de los residuales

modelo <- lm(y ~ x1 + x2 + x3, data = datos)
res <- residuals(modelo)
res_std <- rstandard(modelo)
plot(modelo$fitted.values, res,
     xlab = "Valores ajustados",
     ylab = "Residuales",
     main = "Residuales vs Ajustados")
abline(h = 0, col = "red")

###✔ Los residuales no están distribuidos aleatoriamente ✔ Existe heterocedasticidad ✔ Hay puntos muy influyentes que distorsionan el modelo ✔ El supuesto de linealidad está en duda ✔ El modelo de regresión no es adecuado en su forma actual

hist(res, main = "Histograma de residuales")

qqnorm(res)
qqline(res, col = "red")

Los residuales NO siguen una distribución normal

Esto se ve porque:

Los puntos de los extremos (cuantiles bajos y altos) se alejan bastante de la línea. La línea roja sube de manera suave, pero los puntos están desplazados hacia arriba o abajo.

Indica falta de normalidad.

shapiro.test(res)
## 
##  Shapiro-Wilk normality test
## 
## data:  res
## W = 0.98025, p-value = 0.9528
plot(modelo, which = 1)  # Residuales vs ajustados

plot(modelo, which = 2)  # QQ plot

plot(modelo, which = 3)  # Escala-local (homocedasticidad)

plot(modelo, which = 5)  # Cocientes de apalancamiento
## Warning in sqrt(crit * p * (1 - hh)/hh): Se han producido NaNs
## Warning in sqrt(crit * p * (1 - hh)/hh): Se han producido NaNs

plot(modelo, which = 4)

###El Q‑Q plot muestra que los residuales se desvían claramente de la normalidad debido a un valor extremadamente influyente; por lo tanto, el supuesto de normalidad no se cumple y el modelo lineal no es confiable.

cooks.distance(modelo)
##            1            2            3            4            5            6 
## 3.578011e+03 4.193598e-01 6.121791e-02 8.245977e-02 1.174208e-01 9.315763e-01

Un valor típico considerado riesgoso es:

Cook’s Distance > 1 → observación influyente

La observación 1 tiene Cook’s D ≈ 3578, lo cual es absurdamente alto y confirma que:

El modelo no es confiable Los coeficientes están sesgados por ese valor Las predicciones serán inestables Los intervalos de confianza enormes que viste son consecuencia de este problema

5) Prediccion con intervalo de confianza

modelo <- lm(y ~ x1 + x2 + x3, data = datos)

nuevo <- data.frame(
  x1 = 15,
  x2 = 10,
  x3 = 120
)

predict(modelo, newdata = nuevo, interval = "confidence")
##        fit       lwr      upr
## 1 230.0965 -62.07223 522.2653

###lwr = –62.07223 Este es el límite inferior del intervalo de confianza al 95%. Significa que, con 95% de confianza, el valor esperado de la media de y podría ser tan bajo como −62.07.

🔹 upr = 522.2653 Este es el límite superior del intervalo de confianza al 95%. Con 95% de confianza, el valor esperado de la media de y podría ser tan alto como 522.27.