- Medidas de Forma : Asimetría - enero 3, 2025
- 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
La prueba F es un estadistico relacionado como su nombre indica con la distribución F de Fisher o Snedecor, que es extremadamente usada en probabilidad,estadística y econometría normalmente para hacer pruebas de hipotesis en modelos de regresión y en definitiva para compara varianzas de diferentes poblaciones.
Cuando se realiza una prueba F, se obtendrá como resultado un valor o estadístico F. Para determinar si los resultados de la prueba F son estadísticamente significativos, puede comparar la estadística F con un valor crítico F. En este tutorial veremos como calcular con Rstudio esos valores críticos y también el pvalue de la distribución F.
Abajo tienes el código R del video.
Codigo R del Vídeo
#DISTRIBUCION F EN R
# CALCULAR LOS VALORES CRITICOS
# Usaremos la función q(f) que es la función cuantil
# Dependiendo de si buscamos los valores criticos, la probabilidad acumulada
#o el pvalue pues elegimos una función. En este cso usamos la función cuantil
qf(p, df1, df2. lower.tail=TRUE)
?qf
#p: El nivel de significación a utilizar
#df1: Los grados de libertad del numerador
#df2: Los grados de libertad del denominador
#lower.tail=TRUE o False
# SI TRUE se devuelve la probabilidad a la izquierda de p en la distribución F
# SI FALSE se devuelve la probabilidad de la derecha
# EJEMPLo
# Imagina que quieres encotrar el valor critico F para un nivel de
#significancia de 0.05, con gl del numerador 1 y denominador = 8
qf(p=0.05, df1=1, df2=8, lower.tail=FALSE)
#qf(p=0.95, df1=1, df2=8, lower.tail=TRUE)
# Por tanto el valor critico de F para una significancia de 5%, con
# 1 gl en numerador y 8 gl en denominador es 5.317655 ~ 5.32
# Entonces con ese 5.3176 si estamos haciendo alguna prueba de hipotesis
#ya podríamos comparar el estadístico de la prueba F con ese valor critico 5.317
# SI estadistico F > 5.317655 los resultados son significativos
#☻AHora mismo ejemplo al 0.01
qf(p=0.01, df1=1, df2=8, lower.tail=FALSE)
#Lógicamente al ser más restrictivo con el valor de la probabilidad( alfa más pequeño)
# el valor crítico F aumenta, ya que nos desplazamos mas a la derecha
#ejemplo con alfa 0.02
qf(p=0.02, df1=1, df2=8, lower.tail=FALSE)
#nivel significancia # valor critico
# 0.05 5.317655
# 0.02 8.389477
# 0.01 11.25862
####################################################################
# 2. Cómo calcular el valor P de un estadistico F en R
# Para encontrar el valor p asociado con una estadística F en R, puede usar el siguiente comando:
#pf(valor_esta_f, df1, df2, lower.tail = FALSE) Es decir, la función de distribución
#valor_esta_f = q = valor del F estadistico
# EJEMPLO
#Encontrar el pvalue asociado con un estadstico F = 5.317655
# con gl 1 en numerador y gl=8 en denominador
pf(q=5.317655, df1=1, df2=8, lower.tail=FALSE)
pf(q=8.389477, df1=1, df2=8, lower.tail=FALSE)
pf(q=11.25862, df1=1, df2=8, lower.tail=FALSE)
#EJEMPLO CON MODELO DE REGRESIÓN LINEAL
# — 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)
#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(«EXUSUK»,src=»FRED») #GBP mensual
## Predecir GBPUSD — 1 mes
prod= INDPRO[«2001-01::2019-12»]
sent= UMCSENT[«2001-01::2019-12»]
Fedfunds=FEDFUNDS[«2001-01::2019-12»]
GBP=EXUSUK[«2001-01::2019-12»]
credit=CCRETT01USM661N[«2001-01::2019-12»]
pay=PAYEMS[«2001-01::2019-12»]
money=M2NS[«2001-01::2019-12»]
trade=BOPGSTB[«2001-01::2019-12»]
plot(GBP,type=»l»)
#creamos una tabla
t_varibles=data.frame(merge(sent,Fedfunds,GBP,credit,pay,money,trade))
#creamos el modelo
Mod_Macro = lm(EXUSUK~UMCSENT+FEDFUNDS+CCRETT01USM661N+PAYEMS+M2NS+BOPGSTB,data=t_varibles)
summary(Mod_Macro)
# pARA BUSCAR EL P VALUE pondremos
pf(q=342.3, df1=6, df2=221, lower.tail=FALSE)
Mod_Macro_2 = lm(EXUSUK~UMCSENT,data=t_varibles)
#+CCRETT01USM661N+PAYEMS+M2NS+BOPGSTB
summary(Mod_Macro_2)
pf(q=20.65, df1=1, df2=226, lower.tail=FALSE)