A continuación se genera un caso particular de la función
x=1:30
y=3+(5*x)
beta1=sum(y*(x-mean(x)))/sum((x-mean(x))^2)
beta0=mean(y)-(mean(x)*beta1)
res=data.frame(beta0,beta1)
res
## beta0 beta1
## 1 3 5
Ahora con este caso particular vamos a generalizarlo en una función:
model_lineal_mco=function(x,y){
beta1=sum(y*(x-mean(x)))/sum((x-mean(x))^2)
beta0=mean(y)-(mean(x)*beta1)
res=data.frame(beta0,beta1)
plot(x,y)
y_est=beta0+(beta1*x)
lines(x,y_est,col="red")
return(res)
}
model_lineal_mco(x = x,y = y)
## beta0 beta1
## 1 3 5
Vamos a probar la función con otros datos:
data(cars)
head(cars)
## speed dist
## 1 4 2
## 2 4 10
## 3 7 4
## 4 7 22
## 5 8 16
## 6 9 10
model_lineal_mco(x = cars$speed,y = cars$dist)
## beta0 beta1
## 1 -17.57909 3.932409
A continuación se muestra un ejemplo de MV para el caso del modelo poisson:
x=c(15,16,23,12,18,22)
dpois(x = 15,lambda = 12)
## [1] 0.07239112
prod(dpois(x = x,lambda = 12))
## [1] 5.456965e-11
lambda=1:25
verosim=array(NA,25)
for(i in 1:25){
verosim[i]=prod(dpois(x = x,lambda = i))
}
data.frame(lambda,verosim)
## lambda verosim
## 1 1 1.016658e-96
## 2 2 2.044502e-67
## 3 3 2.346897e-51
## 4 4 1.019139e-40
## 5 5 4.730726e-33
## 6 6 2.899833e-27
## 7 7 8.973581e-23
## 8 8 3.121370e-19
## 9 9 2.045247e-16
## 10 10 3.591475e-14
## 11 11 2.173355e-12
## 12 12 5.456965e-11
## 13 13 6.545873e-10
## 14 14 4.185787e-09
## 15 15 1.556367e-08
## 16 16 3.609023e-08
## 17 17 5.527011e-08
## 18 18 5.861696e-08
## 19 19 4.479737e-08
## 20 20 2.551429e-08
## 21 21 1.114506e-08
## 22 22 3.827140e-09
## 23 23 1.055489e-09
## 24 24 2.381925e-10
## 25 25 4.471059e-11
plot(lambda,verosim,type="b")