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.979002
2 12.318224
3 21.406169
4 7.114488
5 26.445712
6 28.209631

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 248227.8
0.2 0 247276.5
0.4 0 246327.6
0.6 0 245381.1
0.8 0 244437.0
1.0 0 243495.3
require(plotly)
plot_ly(x=resultados$beta0,y=resultados$beta1,z=resultados$SCE)