Simulación Monter Carlo de Comportamiento de la SCE

Vamos a simular el comportamiento de la función de SCE en el caso de la RL simple.

x=1:30
y=3+(5*x)+rnorm(n = 30,mean = 0,sd = 5)
datos=data.frame(x,y)
head(datos)
x y
1 11.16623
2 17.13500
3 23.21119
4 26.79806
5 30.94789
6 30.94846

A continuación graficamos la relación entre x,y:

require(ggplot2)
ggplot(datos,aes(x=x,y=y))+geom_point()+theme_bw()

Vamos ahora por medio de simulación Monte Carlo a calcular varios modelos y su respectivo valor de SCE y graficamos:

#simulamos parametros
beta0=seq(0,5,by = 0.2)
beta1=seq(0,10,by = 0.2)

modelos=expand.grid(beta0,beta1)
names(modelos)=c("beta0","beta1")

#calculamos la SCE

plot(x,y)

SCE=array(NA,1326)
for(i in 1:1326){
y_mod=modelos$beta0[i]+(modelos$beta1[i]*x)
lines(x,y_mod,col="red")
SCE[i]=sum((y-y_mod)^2)
}

resultados=data.frame(modelos,SCE)

head(resultados)
beta0 beta1 SCE
0.0 0 253527.2
0.2 0 252559.6
0.4 0 251594.4
0.6 0 250631.6
0.8 0 249671.3
1.0 0 248713.3
require(plotly)
plot_ly(x=resultados$beta0,y=resultados$beta1,z=resultados$SCE)