- Medidas Estadísticas de Dispersión Relativa - junio 11, 2024
- Modelos SARIMA(Arima Estacionales).¿Qué son y cómo usarlos para Predecir? - enero 4, 2024
- ¿Qué es el RUIDO BLANCO ? Econometría en R - junio 21, 2023
La regresión polinómica o polinomial es un tipo de modelo de regresión de carácter no lineal. Lo que busca es añadir curvatura al modelo añadiendo predictores que conseguimos elevando a distintas potencias todos o algunos de esos esos predictores.
Hay otras formas de hacer regresiones no lineales como las splines,las regresiones locales, los modelos aditivos generalizados etc etc . Hoy en este vídeo haré una introducción al ya citado método polinomial usando R.
También abajo puedes copiar el código usado en el vídeo.
Codigo R
## REGRESIÓN NO LINEAL — POLINÓMICA
# Polinómica
# Step Functios
# Regresion Splines
# Regresión local etc
# Modelos aditivos generalizados
## PARTE 1 — CREACIÓN DEL MODELO LINEAL
#install.packages(«quantmod»)
library(quantmod)
#install.packages(«tseries»)
library(tseries)
#install.packages(«forecast»)
library(forecast)
#install.packages(«TSA»)
library(TSA)
#install.packages(«Quandl»)
library(Quandl)
#install.packages(«fImport»)
library(«fImport»)
#1. Descargamos las variables que vamos a usar
getSymbols(«INDPRO»,src=»FRED») #Industrial Production Index
getSymbols(«UMCSENT»,src=»FRED») #University of Michigan: Consumer Sentiment
getSymbols(«FEDFUNDS»,src=»FRED») #tasa interes fondos federales
getSymbols(«CCRETT01USM661N»,src=»FRED») #Tipo de cambio efectivo IPC
getSymbols(«M2NS»,src=»FRED») #Stock de dinero M2
getSymbols(«PAYEMS»,src=»FRED») # Des trabajadores no rurales
getSymbols(«BOPGSTB»,src=»FRED») #Balance cuenta, Diferencia entre exp e imp
getSymbols(«EXUSEU»,src=»FRED») #EUR mensual
## Predecir GBPUSD — 1 mes
###2. Dividimos lso datos en 2 muestras
## IN SAMPLE y OUT SAMPLE
prod= INDPRO[«2001-01::2020-11»]
sent= UMCSENT[«2001-01::2020-11»]
Fedfunds=FEDFUNDS[«2001-01::2020-11»]
EUR=EXUSEU[«2001-01::2020-11»]
credit=CCRETT01USM661N[«2001-01::2020-11»]
pay=PAYEMS[«2001-01::2020-11»]
money=M2NS[«2001-01::2020-11»]
trade=BOPGSTB[«2001-01::2020-11»]
######################
#creamos una tabla
forex=data.frame(merge(sent,Fedfunds,EUR,credit,pay,money,trade))
plot(Fedfunds,type=»l»)
plot(EUR,type=»l»)
ggplot(forex, aes(EUR,Fedfunds))+ geom_point () + stat_smooth()
ggplot(forex, aes(money,Fedfunds))+ geom_point () + stat_smooth()
ggplot(forex, aes(EUR,money))+ geom_point () + stat_smooth()
#Creamos el modelo de Regresión lineal
#Relación EURUSD _ fondos federales
lineal<-lm(EUR~Fedfunds,data=forex)
summary(lineal)
res<-residuals(lineal)
residuals.lm(lineal)
plot(res[,1],type=»l»)
### Modelo con Regresión polinómica
model_2<-lm(EUR~Fedfunds+I(Fedfunds^2)+I(Fedfunds^3),data=forex)
summary(model_2)
model_3<-lm(EUR~Fedfunds+I(Fedfunds^2)+I(Fedfunds^3)+I(Fedfunds^4),data=forex)
summary(model_3)
#res<-residuals(model_2)
#res_2<-residuals.lm(model_2)
model_4 <-lm(EUR~poly(Fedfunds,3,raw=TRUE),data= forex)
summary(model_4)
#coef(model_2)
#lm(EUR~poly(money,3,raw=FALSE),data= forex)
#ggplot(forex, aes(GBPUSD,EURGBP))+ geom_point () + stat_smooth()