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)