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 15.87126
2 12.18040
3 17.73192
4 22.02351
5 27.76828
6 30.78512

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 252186.7
0.2 0 251225.9
0.4 0 250267.4
0.6 0 249311.3
0.8 0 248357.6
1.0 0 247406.4
require(plotly)
plot_ly(x=resultados$beta0,y=resultados$beta1,z=resultados$SCE)