#PUNTO 1
#La base de datos danishlc contiene el n´umero de incidentes de c´ancer de pulm´on de 1968 a 1971 en cuatro ciudades danesas, con el registrado por grupo de edad y el n´umero de sujetos en cada grupo de edad. #(a) Ajuste el modelo de regresi´on que permita estimar el n´umero de sujetos con c´ancer de pulm´on. Muestre las meidas de bondad de ajuste. #(b) Estime el n´umero medio hombres con c´ancer de pulm´on en la ciudad de V ejle en un grupo de 1000 hombres de 40 a˜nos. #(c) Muestre los residuos de pearson y la deviance. ¿Existe alg´un dato at´ıpico?
remove(list=ls(all=TRUE))
library(car)
## Warning: package 'car' was built under R version 4.2.3
## Loading required package: carData
library(GLMsData)
library(carData)
library(betareg)
## Warning: package 'betareg' was built under R version 4.2.3
library(AER)
## Warning: package 'AER' was built under R version 4.2.3
## Loading required package: lmtest
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.2.3
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Loading required package: sandwich
## Warning: package 'sandwich' was built under R version 4.2.3
## Loading required package: survival
data("danishlc")
danishlc
table (danishlc$Age)
##
## >74 40-54 55-59 60-64 65-69 70-74
## 4 4 4 4 4 4
table (danishlc$City)
##
## Fredericia Horsens Kolding Vejle
## 6 6 6 6
danishlc$Age40a54 = ifelse(danishlc$Age=="40-54", 1,0)
danishlc$Age55a59 = ifelse(danishlc$Age=="55-59", 1,0)
danishlc$Age60a64 = ifelse(danishlc$Age=="60-64", 1,0)
danishlc$Age65a69 = ifelse(danishlc$Age=="65-69", 1,0)
danishlc$Age70a74 = ifelse(danishlc$Age=="70-74", 1,0)
danishlc$Fredericia = ifelse(danishlc$City=="Fredericia", 1,0)
danishlc$Horsens = ifelse(danishlc$City=="Horsens", 1,0)
danishlc$Kolding = ifelse(danishlc$City=="Kolding", 1,0)
danishlc
danishlc = danishlc[, -(3:4)]
danishlc
mod1 = glm(Cases~.,data=danishlc , family = poisson)
dispersiontest(mod1, trafo = 1)
##
## Overdispersion test
##
## data: mod1
## z = -0.87126, p-value = 0.8082
## alternative hypothesis: true alpha is greater than 0
## sample estimates:
## alpha
## -0.2092929
#No rechace Ho. existe evidencia estadística de que no hay sobredispersión por lo tanto se utilizará el modelo de regresión poisson
#Selección “mejor modelo”
step(mod1)
## Start: AIC=136.83
## Cases ~ Pop + Age40a54 + Age55a59 + Age60a64 + Age65a69 + Age70a74 +
## Fredericia + Horsens + Kolding
##
## Df Deviance AIC
## - Kolding 1 20.496 134.88
## - Age55a59 1 20.603 134.99
## - Pop 1 20.673 135.06
## - Age40a54 1 20.705 135.09
## - Horsens 1 21.122 135.51
## - Age70a74 1 21.186 135.57
## - Fredericia 1 22.023 136.41
## <none> 20.445 136.83
## - Age60a64 1 22.576 136.96
## - Age65a69 1 23.122 137.51
##
## Step: AIC=134.88
## Cases ~ Pop + Age40a54 + Age55a59 + Age60a64 + Age65a69 + Age70a74 +
## Fredericia + Horsens
##
## Df Deviance AIC
## - Age55a59 1 20.615 133.00
## - Pop 1 20.673 133.06
## - Age40a54 1 20.706 133.09
## - Horsens 1 21.267 133.66
## - Age70a74 1 21.315 133.70
## - Fredericia 1 22.227 134.62
## <none> 20.496 134.88
## - Age60a64 1 22.585 134.97
## - Age65a69 1 23.153 135.54
##
## Step: AIC=133
## Cases ~ Pop + Age40a54 + Age60a64 + Age65a69 + Age70a74 + Fredericia +
## Horsens
##
## Df Deviance AIC
## - Pop 1 20.689 131.08
## - Age40a54 1 20.710 131.10
## - Horsens 1 21.293 131.68
## - Age70a74 1 21.334 131.72
## - Fredericia 1 22.458 132.85
## <none> 20.615 133.00
## - Age60a64 1 23.084 133.47
## - Age65a69 1 23.331 133.72
##
## Step: AIC=131.08
## Cases ~ Age40a54 + Age60a64 + Age65a69 + Age70a74 + Fredericia +
## Horsens
##
## Df Deviance AIC
## - Age40a54 1 20.735 129.12
## - Horsens 1 21.293 129.68
## - Age70a74 1 22.058 130.45
## - Fredericia 1 22.678 131.07
## <none> 20.689 131.08
## - Age60a64 1 23.107 131.50
## - Age65a69 1 23.947 132.34
##
## Step: AIC=129.12
## Cases ~ Age60a64 + Age65a69 + Age70a74 + Fredericia + Horsens
##
## Df Deviance AIC
## - Horsens 1 21.340 127.73
## - Age70a74 1 22.097 128.49
## - Fredericia 1 22.724 129.11
## <none> 20.735 129.12
## - Age60a64 1 23.226 129.61
## - Age65a69 1 24.141 130.53
##
## Step: AIC=127.73
## Cases ~ Age60a64 + Age65a69 + Age70a74 + Fredericia
##
## Df Deviance AIC
## - Age70a74 1 22.701 127.09
## - Fredericia 1 22.819 127.21
## <none> 21.340 127.73
## - Age60a64 1 23.830 128.22
## - Age65a69 1 24.745 129.13
##
## Step: AIC=127.09
## Cases ~ Age60a64 + Age65a69 + Fredericia
##
## Df Deviance AIC
## - Fredericia 1 24.180 126.57
## - Age60a64 1 24.429 126.82
## <none> 22.701 127.09
## - Age65a69 1 25.232 127.62
##
## Step: AIC=126.57
## Cases ~ Age60a64 + Age65a69
##
## Df Deviance AIC
## - Age60a64 1 25.908 126.30
## <none> 24.180 126.57
## - Age65a69 1 26.711 127.10
##
## Step: AIC=126.3
## Cases ~ Age65a69
##
## Df Deviance AIC
## - Age65a69 1 27.704 126.09
## <none> 25.908 126.30
##
## Step: AIC=126.09
## Cases ~ 1
##
## Call: glm(formula = Cases ~ 1, family = poisson, data = danishlc)
##
## Coefficients:
## (Intercept)
## 2.234
##
## Degrees of Freedom: 23 Total (i.e. Null); 23 Residual
## Null Deviance: 27.7
## Residual Deviance: 27.7 AIC: 126.1
modfinal1_danish=glm(Cases ~ 1, family = poisson, data = danishlc)
round(exp(modfinal1_danish$coefficients),2)
## (Intercept)
## 9.33
summary(modfinal1_danish)
##
## Call:
## glm(formula = Cases ~ 1, family = poisson, data = danishlc)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.9163 -0.7994 0.2157 0.5304 1.7031
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.23359 0.06682 33.43 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 27.704 on 23 degrees of freedom
## Residual deviance: 27.704 on 23 degrees of freedom
## AIC: 126.09
##
## Number of Fisher Scoring iterations: 4
1-pchisq(27.704-27.704, 23-23)
## [1] 1
library(DescTools)
## Warning: package 'DescTools' was built under R version 4.2.3
##
## Attaching package: 'DescTools'
## The following object is masked from 'package:car':
##
## Recode
PseudoR2(modfinal1_danish,"Nagelkerke")
## Nagelkerke
## 0
par(mfrow=c(1,2))
plot(abs(residuals(modfinal1_danish)))
abline(h=2,col="red")
plot(abs(residuals(modfinal1_danish, type="pearson")))
abline(h=2,col="red")
residuos=data.frame(abs(residuals(modfinal1_danish)),abs(residuals(modfinal1_danish,type="pearson")))
residuos[residuos[,1]>2&residuos[,2]>2,]
influence.measures(modfinal1_danish)
## Influence measures of
## glm(formula = Cases ~ 1, family = poisson, data = danishlc) :
##
## dfb.1_ dffit cov.r cook.d hat inf
## 1 0.1012 0.1012 1.079 0.01350 0.0417
## 2 0.1012 0.1012 1.079 0.01350 0.0417
## 3 0.1012 0.1012 1.079 0.01350 0.0417
## 4 0.0410 0.0410 1.089 0.00216 0.0417
## 5 0.1012 0.1012 1.079 0.01350 0.0417
## 6 0.0410 0.0410 1.089 0.00216 0.0417
## 7 0.2203 0.2203 1.038 0.06535 0.0417
## 8 -0.2277 -0.2277 1.035 0.05401 0.0417
## 9 0.3425 0.3425 0.972 0.15609 0.0417
## 10 0.0410 0.0410 1.089 0.00216 0.0417
## 11 0.1607 0.1607 1.062 0.03457 0.0417
## 12 -0.6714 -0.6714 0.741 0.26141 0.0417 *
## 13 -0.4051 -0.4051 0.931 0.13827 0.0417
## 14 -0.0853 -0.0853 1.083 0.00864 0.0417
## 15 -0.1536 -0.1536 1.065 0.02647 0.0417
## 16 0.1012 0.1012 1.079 0.01350 0.0417
## 17 -0.0208 -0.0208 1.090 0.00054 0.0417
## 18 0.1607 0.1607 1.062 0.03457 0.0417
## 19 -0.3101 -0.3101 0.991 0.09128 0.0417
## 20 -0.1536 -0.1536 1.065 0.02647 0.0417
## 21 0.0410 0.0410 1.089 0.00216 0.0417
## 22 0.2806 0.2806 1.008 0.10586 0.0417
## 23 -0.0853 -0.0853 1.083 0.00864 0.0417
## 24 -0.1536 -0.1536 1.065 0.02647 0.0417
influencePlot(modfinal1_danish)
#Existe una mala explicación del número de incidentes de cáncer de
pulmón por el modelo de regresión poisson para esta base de datos. #La
observación 12 puede considerarse atípica #Ala luz de todos los
criterios no se observan datos que se puedan considerar influyentes
pred=data.frame(Pop = 1000,Age40a54= 1, City= 0 )
predict( modfinal1_danish,pred,type="response")
## 1
## 9.333333
#El número medio de hombres con edad de 40 años en un grupo de 1000 con cáncer de pulmón en la ciudad de V ejle es de 9.33
#PUNTO 2 #2. En la base de datos trout se busca determinar el n´umero de huevos de trucha muertos por una toxina aplicada en los animales. #(a) Ajuste el ”mejor” modelo de regresi´on con para estimar el n´umero de huevos da˜nados como variable de int´eres. Muestre las medidas de bondad de ajuste. #(b) Realice una estimaci´on con Con = 90, When = later y Number = 234. #(c) Existe datos at´ıpicos o influyentes?. Muestre los residuales y las medidas de influencia.
remove(list=ls(all=TRUE))
library(car)
library(GLMsData)
library(carData)
library(betareg)
library(AER)
library(MASS)
## Warning: package 'MASS' was built under R version 4.2.3
data("trout")
head(trout)
trout$ahora=ifelse(trout$When=="Now",1,0)
trout$despues=ifelse(trout$When=="Later",1,0)
trout
trout=trout[,-(2)]
trout
mod2=glm(Dead~., family = poisson,data = trout)
mod2
##
## Call: glm(formula = Dead ~ ., family = poisson, data = trout)
##
## Coefficients:
## (Intercept) Conc Number ahora despues
## 1.0715035 0.0007977 0.0089936 -0.0262859 NA
##
## Degrees of Freedom: 47 Total (i.e. Null); 44 Residual
## Null Deviance: 1538
## Residual Deviance: 383.9 AIC: 597.2
dispersiontest(mod2,trafo=1)
##
## Overdispersion test
##
## data: mod2
## z = 2.9176, p-value = 0.001764
## alternative hypothesis: true alpha is greater than 0
## sample estimates:
## alpha
## 7.807809
#Existe evidencia estadística de que hay sobre dispersión en el modelo de regresión poisson, por lo tanto se utilizará un modelo binomial negativo
mod2.1=glm.nb(Dead~.,data = trout)
#selección del “mejor modelo”
step(mod2.1)
## Start: AIC=368.18
## Dead ~ Conc + Number + ahora + despues
##
##
## Step: AIC=368.18
## Dead ~ Conc + Number + ahora
##
## Df Deviance AIC
## - ahora 1 54.141 366.30
## <none> 54.020 368.18
## - Number 1 59.600 371.76
## - Conc 1 119.993 432.15
##
## Step: AIC=366.3
## Dead ~ Conc + Number
##
## Df Deviance AIC
## <none> 54.031 366.30
## - Number 1 59.487 369.75
## - Conc 1 119.757 430.02
##
## Call: glm.nb(formula = Dead ~ Conc + Number, data = trout, init.theta = 2.012342403,
## link = log)
##
## Coefficients:
## (Intercept) Conc Number
## 0.5933659 0.0008476 0.0123867
##
## Degrees of Freedom: 47 Total (i.e. Null); 45 Residual
## Null Deviance: 135.2
## Residual Deviance: 54.03 AIC: 368.3
modelofinal2= glm.nb(formula = Dead ~ Conc + Number, data = trout, init.theta = 2.012342403,
link = log)
modelofinal2
##
## Call: glm.nb(formula = Dead ~ Conc + Number, data = trout, init.theta = 2.012337563,
## link = log)
##
## Coefficients:
## (Intercept) Conc Number
## 0.5933400 0.0008476 0.0123869
##
## Degrees of Freedom: 47 Total (i.e. Null); 45 Residual
## Null Deviance: 135.2
## Residual Deviance: 54.03 AIC: 368.3
summary(modelofinal2)
##
## Call:
## glm.nb(formula = Dead ~ Conc + Number, data = trout, init.theta = 2.012337563,
## link = log)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.5356 -0.8736 -0.2645 0.3977 2.4899
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.5933400 0.5972457 0.993 0.3205
## Conc 0.0008476 0.0001101 7.700 1.36e-14 ***
## Number 0.0123869 0.0051871 2.388 0.0169 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for Negative Binomial(2.0123) family taken to be 1)
##
## Null deviance: 135.249 on 47 degrees of freedom
## Residual deviance: 54.031 on 45 degrees of freedom
## AIC: 368.3
##
## Number of Fisher Scoring iterations: 1
##
##
## Theta: 2.012
## Std. Err.: 0.480
##
## 2 x log-likelihood: -360.298
1-pchisq(135.249- 54.031,2)
## [1] 0
#Rechace Ho. existe evidencia estadística de que el modelo binimial negativo se ajusta alos datos #Rechace Ho. exisite evidencia estadística de que la variable Conc(concentración de cianato de potasio), influye sobre el número de huevos de trucha muertos #Rechace Ho. exisite evidencia estadística de que la variable Number(número de huevos utilizados), influye sobre el número de huevos de trucha muertos
par(mfrow=c(1,2))
plot(abs(residuals(modelofinal2)))
abline(h=2,col="red")
plot(abs(residuals(modelofinal2,type="pearson")))
abline(h=2,col="red")
residuos=data.frame(abs(residuals(modelofinal2)),abs(residuals(modelofinal2,type="pearson")))
residuos[residuos[,1]>2&residuos[,2]>2,]
#Los datos 38 y 39 se pueden considerar datos qtípicos
library(car)
influence.measures(modelofinal2)
## Influence measures of
## glm.nb(formula = Dead ~ Conc + Number, data = trout, init.theta = 2.012337563, link = log) :
##
## dfb.1_ dfb.Conc dfb.Nmbr dffit cov.r cook.d hat inf
## 1 0.002152 -0.00520 -0.000128 0.00780 1.109 2.54e-05 0.0353
## 2 0.076216 -0.06010 -0.051472 0.11422 1.095 6.93e-03 0.0426
## 3 0.026082 -0.04496 -0.008376 0.06970 1.099 2.38e-03 0.0355
## 4 -0.000357 -0.00274 0.001387 0.00402 1.116 6.69e-06 0.0411
## 5 -0.071023 0.01499 0.062971 -0.07431 1.188 2.02e-03 0.1024
## 6 -0.021911 0.03780 0.006207 -0.06174 1.098 1.31e-03 0.0330
## 7 0.024539 -0.04233 -0.006951 0.06915 1.096 2.35e-03 0.0330
## 8 -0.003355 0.05619 -0.019136 -0.08639 1.093 2.39e-03 0.0351
## 9 -0.048069 0.02683 0.034057 -0.06871 1.101 1.60e-03 0.0366
## 10 -0.040292 0.06120 0.010988 -0.11715 1.067 3.86e-03 0.0286
## 11 0.023041 0.03871 -0.039720 -0.07208 1.108 1.77e-03 0.0423
## 12 0.092953 -0.07283 -0.056359 0.16157 1.047 1.61e-02 0.0318
## 13 -0.334594 0.01281 0.296240 -0.36488 1.001 2.45e-02 0.0632
## 14 -0.242625 0.01544 0.210220 -0.27284 1.034 1.60e-02 0.0534
## 15 0.000687 -0.00634 0.004103 0.02080 1.095 1.89e-04 0.0239
## 16 -0.035089 0.00774 0.026288 -0.05004 1.098 8.83e-04 0.0308
## 17 -0.120220 0.02856 0.137705 0.19019 1.088 2.12e-02 0.0563
## 18 0.026191 0.05749 -0.012550 0.14550 1.042 1.30e-02 0.0264
## 19 0.125030 0.09158 -0.109999 0.22292 1.009 3.42e-02 0.0343
## 20 -0.012514 -0.01519 0.009360 -0.03701 1.097 5.00e-04 0.0279
## 21 0.107827 -0.15244 -0.096544 -0.21575 1.206 1.43e-02 0.1312 *
## 22 0.028425 -0.07948 -0.021953 -0.09794 1.196 3.41e-03 0.1102
## 23 -0.003280 -0.02159 0.005271 -0.02446 1.200 2.37e-04 0.1092 *
## 24 -0.006504 -0.04281 0.010453 -0.04851 1.199 8.99e-04 0.1092
## 25 0.026977 0.05711 -0.047902 -0.08824 1.118 2.61e-03 0.0523
## 26 -0.234750 -0.12117 0.274525 0.29824 1.425 4.50e-02 0.2620 *
## 27 0.029528 0.09641 -0.065269 -0.14437 1.089 5.96e-03 0.0460
## 28 0.073775 0.17087 -0.136564 -0.26177 1.033 1.48e-02 0.0506
## 29 0.013694 -0.04882 0.006162 0.07606 1.094 2.90e-03 0.0333
## 30 0.258476 0.20770 -0.333676 -0.41444 1.073 3.56e-02 0.1006
## 31 0.010683 0.11110 -0.054643 -0.17132 1.056 7.40e-03 0.0374
## 32 -0.224772 0.26763 0.111546 -0.46537 0.750 1.96e-02 0.0343 *
## 33 -0.087191 0.06346 0.055067 -0.14458 1.060 5.52e-03 0.0326
## 34 -0.084883 -0.06334 0.110367 0.13941 1.147 9.94e-03 0.0810
## 35 -0.520389 0.05108 0.477306 -0.53156 1.079 5.33e-02 0.1280
## 36 -0.008051 0.11951 -0.046473 -0.21307 1.001 9.33e-03 0.0303
## 37 0.182151 -0.03666 -0.139105 0.25176 0.972 4.70e-02 0.0320
## 38 0.158065 -0.09078 -0.076686 0.37643 0.753 1.40e-01 0.0236 *
## 39 0.268235 -0.05399 -0.204846 0.37075 0.843 1.24e-01 0.0320
## 40 -0.847424 -0.01304 0.784249 -0.87843 0.778 6.84e-02 0.1029 *
## 41 -0.060836 -0.03887 0.055079 -0.09619 1.095 2.93e-03 0.0385
## 42 0.070452 -0.05882 -0.092225 -0.21256 1.011 9.62e-03 0.0327
## 43 0.136488 -0.06431 -0.165073 -0.28783 0.975 1.51e-02 0.0397
## 44 -0.070997 -0.12853 0.041500 -0.32125 0.859 1.35e-02 0.0267
## 45 0.029076 -0.03779 -0.026328 -0.05498 1.237 1.16e-03 0.1362 *
## 46 0.017748 0.05313 -0.022853 0.06141 1.214 1.67e-03 0.1205 *
## 47 0.039155 -0.05536 -0.035058 -0.07834 1.228 2.27e-03 0.1312 *
## 48 0.009185 0.02580 -0.011676 0.02995 1.218 3.82e-04 0.1224 *
influencePlot(modelofinal2)
coef(modelofinal2)
## (Intercept) Conc Number
## 0.5933399751 0.0008475838 0.0123868569
round(exp(coef(modelofinal2)),2)
## (Intercept) Conc Number
## 1.81 1.00 1.01
round(ifelse(coef(modelofinal2)>0,exp(coef(modelofinal2)),1/exp(coef(modelofinal2))),2)
## (Intercept) Conc Number
## 1.81 1.00 1.01
#Si la concentración de de cianato de potasio se incrementa el número de huevos muertos aumenta a razón de 1 #Si se aument ala cantidad de huevos utilizados el número de huevos muertos aumenta a razón de 1.01
#Multicolinealidad
cor(data.frame(trout[1:5]))
## Conc Number Dead ahora despues
## Conc 1.0000000 0.1584168 0.878001228 0.000000000 0.000000000
## Number 0.1584168 1.0000000 0.308213822 0.181479694 -0.181479694
## Dead 0.8780012 0.3082138 1.000000000 0.002010753 -0.002010753
## ahora 0.0000000 0.1814797 0.002010753 1.000000000 -1.000000000
## despues 0.0000000 -0.1814797 -0.002010753 -1.000000000 1.000000000
#No se onservan correlaciones significativas en el modelo de el número de huevos de trucha muertos
#Predicción #Realice una estimaci´on con Con = 90, When = later y Number = 234.
huevos=data.frame(Conc=90,
despues=1,
Number=234)
predict(modelofinal2,huevos,type="response")
## 1
## 35.45084
#El número de huevos muertos por la toxina en concentración de 90 mg/litro, con aplicación después y utilizando 234 huevos es en promedio de 35.4.
#PUNTO3 #Un grupo de 24 aficionados al ciclismo de nivel principiante se dieron cita en un parque para una carrera de ciclismo que consiste en andar en bicicleta durante 30 minutos a lo largo de un circuito de 1.3 millas. #El ganador es el que pedalea la distancia m´as larga. La informaci´on registrada para cada participante es el g´enero (M/F), si tuvo una experiencia previa en carreras as´ı (s´ı/no), autoevaluaci´on de habilidades para terminar la carrera y hacerlo bien (en una escala de 10 puntos, siendo 10 la confianza m´as alta) y la distancia recorrida en bicicleta (en millas). [?] Los datos se presentan a continuaci´on:
library(readxl)
## Warning: package 'readxl' was built under R version 4.2.3
CICLISTAS <- read_excel("C:/Users/Maira/Desktop/CICLISTAS.xlsx")
View(CICLISTAS)
CICLISTAS$fem=ifelse(CICLISTAS$gender=="F",1,0)
CICLISTAS
CICLISTAS=CICLISTAS[,-(1)]
CICLISTAS
CICLISTAS$exp=ifelse(CICLISTAS$priorexpr=="yes",1,0)
CICLISTAS
CICLISTAS=CICLISTAS[,-(1)]
CICLISTAS
mod3=lm(distance~.,data = CICLISTAS)
mod3
##
## Call:
## lm(formula = distance ~ ., data = CICLISTAS)
##
## Coefficients:
## (Intercept) selfeval fem exp
## 1.5844 0.5740 -0.7378 0.4217
summary(mod3)
##
## Call:
## lm(formula = distance ~ ., data = CICLISTAS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.0607 -0.6091 -0.1115 0.5757 3.4535
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.5844 1.1515 1.376 0.184054
## selfeval 0.5740 0.1299 4.418 0.000265 ***
## fem -0.7378 0.7280 -1.013 0.322987
## exp 0.4217 0.6353 0.664 0.514406
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.453 on 20 degrees of freedom
## Multiple R-squared: 0.6187, Adjusted R-squared: 0.5615
## F-statistic: 10.82 on 3 and 20 DF, p-value: 0.0001941
#coeficiente de correlación lineal simple
sqrt(0.6187)
## [1] 0.7865749
1/0.7378
## [1] 1.355381
#Exisite una buena relación entre la distancia recorrida por los ciclistas y las demás variables #el modelo exoplica el 61.876 de las distancias recorridas por los ciclistas
#Prueba anova
#rechace Ho. exisite evidencia estadística de que el modelo de regresión lineal simple se ajusta a los datos
#Prueba de coeficientes estimados
#Rechace Ho. existe e videncia estadística de que la variable selfeval(autoevaluación) influye sobre la distancia recorrida # No rechace Ho. existe e videncia estadística de que la variable fem(género femenino) no influye sobre la distancia recorrida #No Rechace Ho. existe evidencia estadística de que la variable exp(experiencias previas)no influye sobre la distancia recorrida
#Por cada unidad de autoevaluación el recorrido aumenta a razón de 0.57 millas #Si el ciclista es de género femenino el recorrido disminuye a razón de 1.35millas #si el ciclista tiene experiencias previas en estas carreras el recorrido aumenta a razón de 0.42 millas
#Predicción
carrera=data.frame(selfeval=6,
fem=0,
exp=0)
predict(mod3,carrera,type="response")
## 1
## 5.028669
#La distancia recorrida por un hombre sin experiencia, con una auto evaluación de 6(1-10) durante 30 munutos es de 5 millas en promedio
par(mfrow=c(1,2))
plot(abs(residuals(mod3)))
abline(h=2,col="red")
plot(abs(residuals(mod3,type="pearson")))
abline(h=2,col="red")
residuos=data.frame(abs(residuals(mod3)),abs(residuals(mod3,type="pearson")))
residuos[residuos[,1]>2&residuos[,2]>2,]
library(car)
influence.measures(mod3)
## Influence measures of
## lm(formula = distance ~ ., data = CICLISTAS) :
##
## dfb.1_ dfb.slfv dfb.fem dfb.exp dffit cov.r cook.d hat inf
## 1 -0.020557 0.01948 0.00208 0.0112 -0.02976 1.454 2.33e-04 0.1562
## 2 0.022845 -0.02165 -0.00231 -0.0124 0.03308 1.453 2.88e-04 0.1562
## 3 0.578707 -0.46650 -0.57386 -0.4763 -0.82808 0.897 1.58e-01 0.2006
## 4 0.012949 0.04704 -0.07747 -0.1243 -0.17174 1.391 7.69e-03 0.1480
## 5 -0.101796 0.04236 0.09914 0.0736 -0.11985 1.657 3.77e-03 0.2653 *
## 6 -0.550571 0.52173 0.45835 0.2991 0.68754 1.479 1.18e-01 0.3228
## 7 0.081900 -0.06863 0.00266 -0.0622 0.13925 1.350 5.06e-03 0.1179
## 8 -0.072693 0.04431 -0.02262 0.0881 -0.17164 1.281 7.64e-03 0.0957
## 9 0.039430 0.00630 0.04926 -0.1077 0.19647 1.242 9.95e-03 0.0894
## 10 0.631003 -0.36109 -0.79164 0.3540 1.18698 0.358 2.62e-01 0.1509 *
## 11 -0.003355 0.03022 0.03332 -0.0516 0.09608 1.339 2.42e-03 0.0991
## 12 -0.201725 0.04279 0.33476 -0.1647 -0.55253 0.970 7.30e-02 0.1377
## 13 0.029297 -0.06733 -0.05123 0.0623 -0.12624 1.370 4.17e-03 0.1248
## 14 0.003738 -0.01735 0.01241 0.0253 0.03723 1.486 3.65e-04 0.1749
## 15 0.089256 -0.27593 0.14085 -0.1094 -0.50778 1.224 6.42e-02 0.1943
## 16 0.008340 0.03030 -0.04990 -0.0801 -0.11061 1.420 3.21e-03 0.1480
## 17 -0.006678 0.06015 0.06632 -0.1028 0.19127 1.271 9.46e-03 0.0991
## 18 -0.117159 -0.37632 0.36212 0.4859 -0.78073 1.323 1.49e-01 0.3024
## 19 -0.005841 0.05261 0.05801 -0.0899 0.16729 1.292 7.27e-03 0.0991
## 20 -0.050560 0.04658 0.04359 -0.0159 -0.06449 1.716 1.09e-03 0.2862 *
## 21 0.029297 -0.06733 -0.05123 0.0623 -0.12624 1.370 4.17e-03 0.1248
## 22 -0.276366 0.85436 -0.43611 0.3386 1.57224 0.271 4.23e-01 0.1943 *
## 23 0.000325 -0.00151 0.00108 0.0022 0.00324 1.488 2.76e-06 0.1749
## 24 -0.189654 0.04023 0.31473 -0.1548 -0.51947 1.013 6.52e-02 0.1377
influencePlot(mod3)
#A la luz de todos los criterios para es te conjunto de datos no se observan datos influyentes.
#PUNTO 4
#Los datos siguientes son de un estudio de 60 sujetos: 30 diab´eticos y 30 no diab´eticos que ten´ıa como objetivo determinar el efecto de la obesidad, los antecedentes familiares y practicar alg´un tipo de actividad f´ısica en el desarrollo de la diabetes. IMC hace referencia al ´ındice de masa corporal, ATF hace referencia a realizar (1=si) alg´un tipo de actividad f´ısica y HF hace referencia a los antecedentes familiares de la enfermedad.
remove(list=ls(all=TRUE))
library(readxl)
library(GLMsData)
library(MASS)
library(AER)
library(DescTools)
library(readxl)
library(readxl)
Estudio_diabéticos <- read_excel("C:/Users/Maira/Desktop/bosque/Estudio diabéticos.xlsx")
## New names:
## • `` -> `...1`
View(Estudio_diabéticos)
Estudio_diabéticos=Estudio_diabéticos[-(1)]
Estudio_diabéticos
mod4=glm(HF1~IMC1+ATF1,data = Estudio_diabéticos,family = binomial())
mod4
##
## Call: glm(formula = HF1 ~ IMC1 + ATF1, family = binomial(), data = Estudio_diabéticos)
##
## Coefficients:
## (Intercept) IMC1 ATF1
## -1.94987 0.07033 0.05450
##
## Degrees of Freedom: 29 Total (i.e. Null); 27 Residual
## Null Deviance: 41.05
## Residual Deviance: 40.01 AIC: 46.01
step(mod4)
## Start: AIC=46.01
## HF1 ~ IMC1 + ATF1
##
## Df Deviance AIC
## - ATF1 1 40.009 44.009
## - IMC1 1 40.783 44.783
## <none> 40.006 46.006
##
## Step: AIC=44.01
## HF1 ~ IMC1
##
## Df Deviance AIC
## - IMC1 1 41.054 43.054
## <none> 40.009 44.009
##
## Step: AIC=43.05
## HF1 ~ 1
##
## Call: glm(formula = HF1 ~ 1, family = binomial(), data = Estudio_diabéticos)
##
## Coefficients:
## (Intercept)
## 0.2683
##
## Degrees of Freedom: 29 Total (i.e. Null); 29 Residual
## Null Deviance: 41.05
## Residual Deviance: 41.05 AIC: 43.05
modelofinal4= glm(formula = HF1 ~ 1, family = binomial(), data = Estudio_diabéticos)
modelofinal4
##
## Call: glm(formula = HF1 ~ 1, family = binomial(), data = Estudio_diabéticos)
##
## Coefficients:
## (Intercept)
## 0.2683
##
## Degrees of Freedom: 29 Total (i.e. Null); 29 Residual
## Null Deviance: 41.05
## Residual Deviance: 41.05 AIC: 43.05
#predicción
diabetico=data.frame(HF1=1,
IMC1=26,
ATF1=1)
predict(modelofinal4,diabetico,type="response")
## 1
## 0.5666667
par(mfrow=c(1,2))
plot(abs(residuals(modelofinal4)))
abline(h=2,col="red")
plot(abs(residuals(modelofinal4,type="pearson")))
abline(h=2,col="red")
residuos=data.frame(abs(residuals(modelofinal4)),abs(residuals(modelofinal4,type="pearson")))
residuos[residuos[,1]>2&residuos[,2]>2,]
library(car)
influence.measures(modelofinal4)
## Influence measures of
## glm(formula = HF1 ~ 1, family = binomial(), data = Estudio_diabéticos) :
##
## dfb.1_ dffit cov.r cook.d hat inf
## 1 0.169 0.169 1.04 0.0273 0.0333
## 2 -0.206 -0.206 1.03 0.0466 0.0333
## 3 0.169 0.169 1.04 0.0273 0.0333
## 4 0.169 0.169 1.04 0.0273 0.0333
## 5 0.169 0.169 1.04 0.0273 0.0333
## 6 0.169 0.169 1.04 0.0273 0.0333
## 7 0.169 0.169 1.04 0.0273 0.0333
## 8 0.169 0.169 1.04 0.0273 0.0333
## 9 0.169 0.169 1.04 0.0273 0.0333
## 10 0.169 0.169 1.04 0.0273 0.0333
## 11 -0.206 -0.206 1.03 0.0466 0.0333
## 12 -0.206 -0.206 1.03 0.0466 0.0333
## 13 -0.206 -0.206 1.03 0.0466 0.0333
## 14 -0.206 -0.206 1.03 0.0466 0.0333
## 15 -0.206 -0.206 1.03 0.0466 0.0333
## 16 0.169 0.169 1.04 0.0273 0.0333
## 17 -0.206 -0.206 1.03 0.0466 0.0333
## 18 -0.206 -0.206 1.03 0.0466 0.0333
## 19 -0.206 -0.206 1.03 0.0466 0.0333
## 20 0.169 0.169 1.04 0.0273 0.0333
## 21 0.169 0.169 1.04 0.0273 0.0333
## 22 0.169 0.169 1.04 0.0273 0.0333
## 23 -0.206 -0.206 1.03 0.0466 0.0333
## 24 0.169 0.169 1.04 0.0273 0.0333
## 25 0.169 0.169 1.04 0.0273 0.0333
## 26 -0.206 -0.206 1.03 0.0466 0.0333
## 27 -0.206 -0.206 1.03 0.0466 0.0333
## 28 -0.206 -0.206 1.03 0.0466 0.0333
## 29 0.169 0.169 1.04 0.0273 0.0333
## 30 0.169 0.169 1.04 0.0273 0.0333
influencePlot(modelofinal4)
#PUNTO 5 #El departamento de Administraci´on de la Salud est´a analizando la utilizaci´on de los recursos hospitalarios. Se recuperaron datos sobre 30 hospitales elegidos al azar en EEUU y se est´a analizando el porcentaje de pacientes de la sala de emergencias (ER) que fueron hospitalizados, la ubicaci´on del hospital (urbano o rural), tipo de hospital (p´ublico o privado) y el tama˜no del hospital por n´umero de camas. Los datos son:
remove(list=ls(all=TRUE))
library(car)
library(GLMsData)
library(carData)
library(betareg)
library(AER)
library(readxl)
hospitales <- read_excel("C:/Users/Maira/Desktop/bosque/hospitales.xlsx")
View(hospitales)
head(hospitales)
hospitales$rural=ifelse(hospitales$tip=="public",1,0)
hospitales$public=ifelse(hospitales$loc=="rural",1,0)
hospitales
hospitales=hospitales[,-(2:3)]
hospitales
hospitales$propor=hospitales$percent/hospitales$beds
hospitales$propor
## [1] 0.30357143 0.27083333 0.62295082 0.25806452 0.22727273 0.04244482
## [7] 0.09433962 0.05479452 0.31168831 0.10526316 0.08176101 0.42857143
## [13] 0.15217391 0.19653179 0.49206349 0.04395604 0.07792208 0.16455696
## [19] 0.73214286 1.04651163 0.20312500 0.21761658 0.07713499 0.05166667
## [25] 0.10256410 0.13183280 0.13846154 0.29545455 0.09185804 0.22222222
hospitales[20,5]=0.99999999
hospitales
library(betareg)
mod5=betareg(propor ~ percent + beds + public + rural, data = hospitales)
mod5.1=betareg(propor~1,data = hospitales)
## Warning in betareg.fit(X, Y, Z, weights, offset, link, link.phi, type,
## control): no valid starting value for precision parameter found, using 1
## instead
mod5.2=betareg(propor ~ percent, data = hospitales)
## Warning in betareg.fit(X, Y, Z, weights, offset, link, link.phi, type,
## control): no valid starting value for precision parameter found, using 1
## instead
mod5.3=betareg(propor ~ beds, data = hospitales)
## Warning in betareg.fit(X, Y, Z, weights, offset, link, link.phi, type,
## control): no valid starting value for precision parameter found, using 1
## instead
mod5.4=betareg(propor ~ public, data = hospitales)
## Warning in betareg.fit(X, Y, Z, weights, offset, link, link.phi, type,
## control): no valid starting value for precision parameter found, using 1
## instead
mod5.5=betareg(propor ~ rural, data = hospitales)
## Warning in betareg.fit(X, Y, Z, weights, offset, link, link.phi, type,
## control): no valid starting value for precision parameter found, using 1
## instead
AIC(mod5)
## [1] -32.14938
AIC(mod5.1)
## [1] -9.821081
AIC(mod5.2)
## [1] -13.36709
AIC(mod5.3)
## [1] -12.34189
AIC(mod5.4)
## [1] -10.73227
AIC(mod5.5)
## [1] -8.849339
modelofinal5=betareg(propor ~ percent + beds + public + rural, data = hospitales)
modelofinal5
##
## Call:
## betareg(formula = propor ~ percent + beds + public + rural, data = hospitales)
##
## Coefficients (mean model with logit link):
## (Intercept) percent beds public rural
## -1.843594 0.075885 -0.008097 0.094683 0.496392
##
## Phi coefficients (precision model with identity link):
## (phi)
## 4.217
summary(modelofinal5)
##
## Call:
## betareg(formula = propor ~ percent + beds + public + rural, data = hospitales)
##
## Standardized weighted residuals 2:
## Min 1Q Median 3Q Max
## -1.8983 -0.5022 -0.1803 0.3164 8.5381
##
## Coefficients (mean model with logit link):
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.843594 0.447840 -4.117 3.84e-05 ***
## percent 0.075885 0.014598 5.198 2.01e-07 ***
## beds -0.008097 0.001304 -6.211 5.25e-10 ***
## public 0.094683 0.374890 0.253 0.801
## rural 0.496392 0.348283 1.425 0.154
##
## Phi coefficients (precision model with identity link):
## Estimate Std. Error z value Pr(>|z|)
## (phi) 4.217 1.087 3.879 0.000105 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Type of estimator: ML (maximum likelihood)
## Log-likelihood: 22.07 on 6 Df
## Pseudo R-squared: 0.3087
## Number of iterations: 23 (BFGS) + 1 (Fisher scoring)
summary(mod5.1)
##
## Call:
## betareg(formula = propor ~ 1, data = hospitales)
##
## Standardized weighted residuals 2:
## Min 1Q Median 3Q Max
## -0.8024 -0.5024 -0.2258 -0.0033 6.9605
##
## Coefficients (mean model with logit link):
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.4011 0.2303 -1.742 0.0815 .
##
## Phi coefficients (precision model with identity link):
## Estimate Std. Error z value Pr(>|z|)
## (phi) 1.2021 0.2523 4.764 1.9e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Type of estimator: ML (maximum likelihood)
## Log-likelihood: 6.911 on 2 Df
## Number of iterations: 9 (BFGS) + 1 (Fisher scoring)
#Existe una aceptable explicación de la proporcion de los pacientes hospitalizados por el modelo #Rechace Ho. Exisite evidencia estadística de que el porcentaje de pacientes en sala influye sobre la proporción de pacientes hospitalizados #Rechace Ho. Existe evidencia estadística de que el número de camas no influye sobre la proporción de pacientes hospitalizados #No rechace Ho.Exisite evidencia estadística de que la ubicación del hospital (rural) influye sobre la proporción de pacientes hospitalizados #No rechacce Ho.Exisite evidencia estadística de que eltipo hospital (pblic) influye sobre la proporción de pacientes hospitalizados
par(mfrow=c(1,2))
plot(abs(residuals(modelofinal5)))
abline(h=2,col="red")
plot(abs(residuals(modelofinal5,type="pearson")))
abline(h=2,col="red")
residuos=data.frame(abs(residuals(modelofinal5)),abs(residuals(modelofinal5,type="pearson")))
residuos[residuos[,1]>2&residuos[,2]>2,]
#no se observan datos atípicos para este conjunto de datos
1-pchisq(22.07-6.911,4)
## [1] 0.004382551
#Rechace Ho. Exisit evidencia estadística de que el modelo de regresión beta se ajusta a los datos
exp(coef(modelofinal5))
## (Intercept) percent beds public rural (phi)
## 0.1582476 1.0788380 0.9919353 1.0993108 1.6427835 67.8144203
1/0.9919353
## [1] 1.00813
#La proporción de pacientes hospitalizados aumenta a razón de 1.07 cuando se incrementa el porcentaje de pacientes en sala de emergencias. #Si el el hospital es de menor tamaño medido por su número de camas la proporción de pacientes hospitalizados disminuye e razón de 1.00813 #Si el hospital es de caracter público la cantidad de pacientes hospitalizados aumenta a razón de 1.09 #si el hospital tiene ubicación rural la cantidad de pacientes hospitalizados aumenta a razón de 1.64
#Predicción
paciente=data.frame(beds=50,
public=1,
rural=1,
percent=0)
predict(modelofinal5,paciente,type="response")
## 1
## 0.160113
#La proporción de pacientes hospitalizados en un hospital público con 50 camas y ubicación rural es de 16.01%
#PUNTO 6
#Una persona est´a pensando en comprar un carro nuevo. Realiza una b´usqueda en l´ınea y recopila informaci´on sobre las marcas y modelos que le gustan. Conjetura que las siguientes caracter´ısticas del autom´ovil pueden influir potencialmente en su precio: estilo de carrocer´ıa (cup´e, hatchback o sed´an), pa´ıs de fabricaci´on (EE. UU., Alemania o Jap´on), kilometraje en carretera (en mpg), n´umero de puertas (2 o 4) y si el interior es de cuero o no. [?] Los datos de estas variables y el precio (en d´olares estadounidenses) se dan a continuaci´on para 27 autom´oviles.
remove(list=ls(all=TRUE))
library(GLMsData)
library(MASS)
library(AER)
library(ISLR)
## Warning: package 'ISLR' was built under R version 4.2.3
library(car)
library(carData)
library(readxl)
library(readxl)
AUTOS <- read_excel("C:/Users/Maira/Desktop/bosque/AUTOS.xlsx")
head(AUTOS)
AUTOS$sit=ifelse(AUTOS$CUERO=="YES",1,0)
AUTOS
AUTOS=AUTOS[,-(5)]
AUTOS
AUTOS$paijap=ifelse(AUTOS$PAIS=="JAPAN",1,0)
AUTOS$paigerm=ifelse(AUTOS$PAIS=="GERMANY",1,0)
AUTOS
AUTOS=AUTOS[,-(2)]
AUTOS
AUTOS$estcup=ifelse(AUTOS$ESTILO=="COUPE",1,0)
AUTOS$estsed=ifelse(AUTOS$ESTILO=="SEDAN",1,0)
AUTOS
AUTOS=AUTOS[,-(1)]
AUTOS
mod6=glm(PRECIO~.,data = AUTOS)
mod6
##
## Call: glm(formula = PRECIO ~ ., data = AUTOS)
##
## Coefficients:
## (Intercept) HWY PUERTAS sit paijap paigerm
## 8652.7 152.9 1413.0 10350.9 -2252.7 13.3
## estcup estsed
## 1146.8 6582.3
##
## Degrees of Freedom: 26 Total (i.e. Null); 19 Residual
## Null Deviance: 1.357e+09
## Residual Deviance: 256800000 AIC: 528.5
step(mod6)
## Start: AIC=528.46
## PRECIO ~ HWY + PUERTAS + sit + paijap + paigerm + estcup + estsed
##
## Df Deviance AIC
## - paigerm 1 256841336 526.46
## - estcup 1 260377556 526.83
## - HWY 1 272416014 528.05
## - paijap 1 275180021 528.32
## <none> 256840651 528.46
## - PUERTAS 1 300230384 530.68
## - estsed 1 412212540 539.24
## - sit 1 594834534 549.14
##
## Step: AIC=526.46
## PRECIO ~ HWY + PUERTAS + sit + paijap + estcup + estsed
##
## Df Deviance AIC
## - estcup 1 260619846 524.86
## - HWY 1 273379429 526.15
## <none> 256841336 526.46
## - paijap 1 277765319 526.58
## - PUERTAS 1 302231147 528.86
## - estsed 1 414569884 537.39
## - sit 1 615336350 548.05
##
## Step: AIC=524.86
## PRECIO ~ HWY + PUERTAS + sit + paijap + estsed
##
## Df Deviance AIC
## - HWY 1 273493888 524.16
## - paijap 1 279137426 524.71
## <none> 260619846 524.86
## - PUERTAS 1 305164932 527.12
## - estsed 1 445218368 537.32
## - sit 1 635535536 546.92
##
## Step: AIC=524.16
## PRECIO ~ PUERTAS + sit + paijap + estsed
##
## Df Deviance AIC
## - paijap 1 288853797 523.63
## <none> 273493888 524.16
## - PUERTAS 1 314561004 525.94
## - estsed 1 456876606 536.01
## - sit 1 642825514 545.23
##
## Step: AIC=523.63
## PRECIO ~ PUERTAS + sit + estsed
##
## Df Deviance AIC
## <none> 288853797 523.63
## - PUERTAS 1 334047035 525.56
## - estsed 1 501564304 536.53
## - sit 1 699180648 545.50
##
## Call: glm(formula = PRECIO ~ PUERTAS + sit + estsed, data = AUTOS)
##
## Coefficients:
## (Intercept) PUERTAS sit estsed
## 13885 1402 8835 6361
##
## Degrees of Freedom: 26 Total (i.e. Null); 23 Residual
## Null Deviance: 1.357e+09
## Residual Deviance: 288900000 AIC: 523.6
modelofinal6=glm(formula = PRECIO ~ PUERTAS + sit + estsed, data = AUTOS)
modelofinal6
##
## Call: glm(formula = PRECIO ~ PUERTAS + sit + estsed, data = AUTOS)
##
## Coefficients:
## (Intercept) PUERTAS sit estsed
## 13885 1402 8835 6361
##
## Degrees of Freedom: 26 Total (i.e. Null); 23 Residual
## Null Deviance: 1.357e+09
## Residual Deviance: 288900000 AIC: 523.6
summary(modelofinal6)
##
## Call:
## glm(formula = PRECIO ~ PUERTAS + sit + estsed, data = AUTOS)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -5953.2 -2135.3 -199.7 1894.4 8950.3
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 13885.2 2507.9 5.537 1.24e-05 ***
## PUERTAS 1401.8 738.9 1.897 0.070458 .
## sit 8834.7 1545.6 5.716 8.05e-06 ***
## estsed 6360.9 1545.6 4.115 0.000422 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 12558861)
##
## Null deviance: 1357075463 on 26 degrees of freedom
## Residual deviance: 288853797 on 23 degrees of freedom
## AIC: 523.63
##
## Number of Fisher Scoring iterations: 2
1-pchisq(1357075463 -288853797,3)
## [1] 0
#Rechace Ho exisite evidencia estadística de que el modelo de regresión limeal ajusta a los datos
library(DescTools)
PseudoR2(modelofinal6,"Nagelkerke")
## Nagelkerke
## 0.7871498
#el modelo de regresión explica de manera excelente el comportamiento de la variable de interés
#datos atípicos
par(mfrow=c(1,2))
plot(abs(residuals(modelofinal6)))
abline(h=2,col="red")
plot(abs(residuals(modelofinal6,type="pearson")))
abline(h=2,col="red")
residuos=data.frame(abs(residuals(modelofinal6)),abs(residuals(modelofinal6,type="pearson")))
residuos[residuos[,1]>2&residuos[,2]>2,]
library(car)
influence.measures(modelofinal6)
## Influence measures of
## glm(formula = PRECIO ~ PUERTAS + sit + estsed, data = AUTOS) :
##
## dfb.1_ dfb.PUER dfb.sit dfb.ests dffit cov.r cook.d hat inf
## 1 0.0444 -0.1094 0.0732 0.0732 -0.1940 1.237 0.009679 0.095
## 2 -0.0890 0.2192 -0.1467 -0.1467 0.3888 1.024 0.037090 0.095
## 3 0.2972 -0.2269 -0.0620 -0.0620 0.3285 1.190 0.027260 0.124
## 4 -0.0866 0.2134 -0.1428 -0.1428 0.3785 1.038 0.035262 0.095
## 5 -0.1034 0.2547 -0.1705 -0.1705 0.4518 0.941 0.049027 0.095
## 6 -0.4470 0.3413 0.0932 0.0932 -0.4941 1.008 0.059161 0.124
## 7 -0.3481 0.2658 0.0726 0.0726 -0.3848 1.132 0.036937 0.124
## 8 0.0874 -0.2154 0.1442 0.1442 -0.3821 1.033 0.035888 0.095
## 9 -0.0279 0.0420 0.1103 -0.0874 0.1479 1.438 0.005691 0.184
## 10 -0.4313 0.3294 0.0900 0.0900 -0.4767 1.029 0.055362 0.124
## 11 0.0411 -0.1012 0.0678 0.0678 -0.1796 1.249 0.008312 0.095
## 12 0.0614 -0.0469 -0.0128 -0.0128 0.0679 1.356 0.001202 0.124
## 13 0.0366 -0.0902 0.0604 0.0604 -0.1599 1.263 0.006613 0.095
## 14 -0.0658 0.1622 -0.1086 -0.1086 0.2877 1.147 0.020890 0.095
## 15 -0.0174 0.0429 -0.0287 -0.0287 0.0760 1.307 0.001507 0.095
## 16 0.2048 -0.1962 0.2455 -0.1352 0.3362 1.514 0.029103 0.256
## 17 -0.2574 0.2466 -0.3086 0.1699 -0.4225 1.463 0.045584 0.256
## 18 -0.0266 0.0401 0.1054 -0.0835 0.1413 1.440 0.005199 0.184
## 19 1.2931 -1.2388 -0.8536 1.5503 2.1229 0.248 0.738667 0.256 *
## 20 0.0145 -0.0111 -0.0291 -0.0291 -0.0622 1.405 0.001010 0.153
## 21 0.0385 -0.0294 -0.0773 -0.0773 -0.1653 1.372 0.007095 0.153
## 22 -0.0228 0.0219 0.0151 -0.0274 -0.0375 1.605 0.000368 0.256 *
## 23 -0.0391 0.0298 0.0784 0.0784 0.1678 1.371 0.007308 0.153
## 24 0.1764 -0.2656 0.5533 -0.6984 -0.9361 0.763 0.194608 0.184
## 25 -0.0602 0.0459 0.1208 0.1208 0.2586 1.319 0.017185 0.153
## 26 0.0934 -0.0713 -0.1876 -0.1876 -0.4014 1.203 0.040471 0.153
## 27 0.0343 -0.0517 0.1077 -0.1360 -0.1823 1.425 0.008624 0.184
influencePlot(modelofinal6)
#A la luz de todos los criterios propuestos en la literatura no se observan datos que puedan considerarse influyentes
AUTOS
#Predicicón
pric=data.frame( HWY = 0,
PUERTAS=4,
sit=1,
paijap=1,
estsed=1)
predict(modelofinal6,pric,type="response")
## 1
## 34687.85
#el precio del vehículo cero kilómetros, ensamblado en Japon,cojinería en cuero, estilo sedan, de 4 puertas cuesta en promedio 34687.85 dólares.
#PUNTO 7
#En una cl´ınica infantil se llev´o a cabo un estudio de intervenci´on y control sobre la obesidad infantil. Una cohorte de 36 ni˜nos obesos, de 6 a 16 a˜nos, fueron seguidos durante 9 meses. La intervenci´on consisti´o en sesiones educativas. para padres y actividades de ejercicio vigoroso para ni˜nos. Los participantes del grupo de control recibieron cursos sobre otros estilos de vida activos y saludables. Se tiene las variables g´enero (M/F), edad (en a˜nos), grupo (Tx de intervenci´on o Cx de control) y los IMC pre y post se muestran en la tabla a continuaci´on:
remove(list=ls(all=TRUE))
library(GLMsData)
library(MASS)
library(AER)
library(ISLR)
library(car)
library(carData)
library(readxl)
library(readxl)
OBESIDAD_INF <- read_excel("C:/Users/Maira/Desktop/OBESIDAD INF.xlsx")
View(OBESIDAD_INF)
OBESIDAD_INF
OBESIDAD_INF$GENF=ifelse(OBESIDAD_INF$Gender=="F",1,0)
OBESIDAD_INF
OBESIDAD_INF=OBESIDAD_INF[,-(2)]
OBESIDAD_INF
OBESIDAD_INF$control=ifelse(OBESIDAD_INF$Group=="Cx",1,0)
OBESIDAD_INF
OBESIDAD_INF=OBESIDAD_INF[,-(3)]
OBESIDAD_INF
OBESIDAD_INF=OBESIDAD_INF[,-(1)]
OBESIDAD_INF
mod7=glm(DIF~ Age,data = OBESIDAD_INF,family = inverse.gaussian(link = "log"))
mod7
##
## Call: glm(formula = DIF ~ Age, family = inverse.gaussian(link = "log"),
## data = OBESIDAD_INF)
##
## Coefficients:
## (Intercept) Age
## 0.28885 0.09073
##
## Degrees of Freedom: 35 Total (i.e. Null); 34 Residual
## Null Deviance: 9.857
## Residual Deviance: 9.216 AIC: 164.8
mod7.1=glm(DIF~ Age,data = OBESIDAD_INF,family = Gamma(link = "log"))
sd(OBESIDAD_INF$DIF)/abs(mean(OBESIDAD_INF$DIF))
## [1] 0.9029153
log(logLik(mod7)/ logLik(mod7.1))
## 'log Lik.' -0.001390006 (df=3)
#al se r inferior a 0 se recomienda usar un modelo de regresión Gamma
step(mod7.1)
## Start: AIC=165.06
## DIF ~ Age
##
## Df Deviance AIC
## <none> 22.288 165.06
## - Age 1 24.361 165.95
##
## Call: glm(formula = DIF ~ Age, family = Gamma(link = "log"), data = OBESIDAD_INF)
##
## Coefficients:
## (Intercept) Age
## 0.37590 0.08255
##
## Degrees of Freedom: 35 Total (i.e. Null); 34 Residual
## Null Deviance: 24.36
## Residual Deviance: 22.29 AIC: 165.1
modelofinal7=glm(formula = DIF ~ Age, family = Gamma(link = "log"), data = OBESIDAD_INF)
modelofinal7
##
## Call: glm(formula = DIF ~ Age, family = Gamma(link = "log"), data = OBESIDAD_INF)
##
## Coefficients:
## (Intercept) Age
## 0.37590 0.08255
##
## Degrees of Freedom: 35 Total (i.e. Null); 34 Residual
## Null Deviance: 24.36
## Residual Deviance: 22.29 AIC: 165.1
round(exp(modelofinal7$coefficients),2)
## (Intercept) Age
## 1.46 1.09
library(DescTools)
PseudoR2(modelofinal7,"Nagelkerke")
## Nagelkerke
## 0.09455913
summary(modelofinal7)
##
## Call:
## glm(formula = DIF ~ Age, family = Gamma(link = "log"), data = OBESIDAD_INF)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.6412 -0.7383 -0.3533 0.1797 1.6385
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.37590 0.52676 0.714 0.480
## Age 0.08255 0.04591 1.798 0.081 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for Gamma family taken to be 0.7162977)
##
## Null deviance: 24.361 on 35 degrees of freedom
## Residual deviance: 22.288 on 34 degrees of freedom
## AIC: 165.06
##
## Number of Fisher Scoring iterations: 5
1-pchisq(24.361 -22.288,1)
## [1] 0.1499264
#No rechace HO. exisite evidencia estadística de que el mmodelo de regresión Gamma no se ajusta a los datos
par(mfrow=c(1,2))
plot(abs(residuals(modelofinal7)))
abline(h=2,col="red")
plot(abs(residuals(modelofinal7,type="pearson")))
abline(h=2,col="red")
residuos=data.frame(abs(residuals(modelofinal7)),abs(residuals(modelofinal7,type="pearson")))
residuos[residuos[,1]>2&residuos[,2]>2,]
OBESIDAD_INF
estimacion=data.frame(Age=10,
control=1 )
predict(modelofinal7,estimacion,type="response")
## 1
## 3.324685
#la diferencia esperada para una niña de 10 años es de 3.32 en promedio