Está en la página 1de 12

Guía básica de R para Pronósticos* 

PARTE 1 
 
Introducción 
R  es  un  entorno  y  lenguaje  de  programación con enfoque al análisis estadístico. Es uno de los lenguajes más utilizados 
en  investigación  por  la  comunidad  científica.  Proporciona  un  amplio  abanico  de  herramientas  gráficas  y  estadísticas 
(modelos  lineales  y  no  lineales,  tests  estadísticos,  análisis  de  series  temporales,  algoritmos  de  clasificación  y 
agrupamiento,  etc.).  Además,  al  tratarse  de  un  lenguaje  de  programación,  permite  que  los  usuarios  lo  extiendan 
definiendo y compartiendo sus propias funciones. 

R  es  parte  de  la  Fundación  de  Software  Libre  (Free  Software  Foundation)  y  es  distribuido  bajo  la  licencia  GPL  del 
proyecto  GNU.  Esto  implica  que  R  es  gratis  y  además  de  código  abierto,  es  decir,  cualquiera  puede  ver  "qué  hay 
adentro".  En  este  sentido  está  en  contraposición  con  el  modelo  estándar  del  software  comercial,  en  el  que  cada 
programa  es  como  una  "caja  negra"  que  produce  salidas  (outputs)  a  partir  de  entradas  (inputs)  sin  mostrar  los  pasos 
intermedios.  En  la  práctica  esto  se  traduce  en un software construido en colaboración por una lista siempre creciente 
de contribuyentes. 

Trabajaremos  con  RStudio,  un  entorno  de  desarrollo  integrado  (Integrated  Development  Environment,  IDE)  que  ofrece 
una  interfaz  gráfica  más  amigable  y  que  facilita  la  interacción  con  R.  Está  disponible  en  dos  versiones:  una  de código 
abierto  y  otra  comercial.  Ambas  se  pueden  ejecutar  localmente  (descargando  la  aplicación  RStudio  Desktop  para 
Windows,  Mac  o  Linux)  o  directamente  desde  un  navegador  conectado  al  servidor  RStudio  Server  (solo  disponible 
para plataformas Linux). 

Objetos y Clases 
R  es  un  lenguaje  de  programación  orientado  a  objetos  (OOP).  Variables,  tablas,  vectores,  números,  funciones,  etc., 
todos  son  objetos,  y  cada  clase  de  objeto  tiene  diferentes  atributos  que  determinan  la  forma en que trabajan dentro 
de  R.  Algunas  de  las  clases  más  comunes  de  objetos  son:  'integer',  'numeric',  'character',  'logical',  'matrix',  'data.frame', 
'list',  'function',  'ts'  (serie  de  tiempo).  Es  importante  estar  atento a los tipos de objetos con los que estamos trabajando 
ya que de esto dependen las operaciones o funciones que podemos aplicarles. 

Los  vectores  son  una  de  las unidades básicas de trabajo en R. Un vector es una colección unidimensional de uno o más 


elementos  del  mismo  tipo.  Las  clases  posibles  de  los  vectores  son  5:  integer  (entero),  numeric  (decimal),  character, 
logical y complex.  

Para  crear  un  vector  llamado  x  que  contenga  los  números  10.4,  5.6,  3.1,  6.4  y  21.7,  podemos  usar  la  función  c()  del 
siguiente modo:  
> x <- c(10.4, 5.6, 3.1, 6.4, 21.7) 
Para acceder al tercer elemento del vector (el número 3.1), podemos escribir: 
> x[3] 

Los vectores son el tipo básico de objeto en R, pero existen otras clases de objetos:  

● las  matrices,  que  son  colecciones  bidimensionales  de  datos  del  mismo  tipo. Para seleccionar el elemento que 
está en la intersección de la fila 2 y la columna 1 de la matriz llamada mi_matriz: 
> mi_matriz[2,1] 
Si  las  filas  y  columnas  tienen  nombre,  se  puede  acceder  a  los  elementos  indicando  entre  corchetes  dichos 
nombres.  Si  la  fila  o  la  columna  se  omiten,  se  devuelven  todos  los  respectivos  elementos.  Por  ejemplo,  si 
queremos listar todos los elementos de la columna “Melbourne” de la matriz vn del paquete fpp2: 
> vn[ , “Melbourne”] 

___________________________________
* Material preparado por Marcos L. De Vito, adscripto a la cátedra de Investigación Operativa II, Escuela de Ingeniería
Industrial, Facultad de Ciencias Exactas, Ingeniería y Agrimensura, Universidad Nacional de Rosario. 2018.
● Los  objetos  de  clase  "factor"  son  objetos que sirven para trabajar con variables categóricas, como pueden ser 
franjas etarias, nombres de especies o lugares. 

● las  hojas  de  datos  (data.frame),  que  son  objetos  bidimensionales  similares  a  las  matrices  pero  en  los  que  las 
columnas son vectores que pueden ser de distinto tipo. 

● las  listas,  que  son  una  forma  generalizada  de  vector  cuyos  componentes  pueden  ser  de  distinto  tipo  y  a 
menudo son vectores, matrices o incluso otras listas. Son sucesiones de objetos. 

● los  objetos  serie  de  tiempo  (time  series)  son  similares  a  los  vectores  pero  incluyen  además  un  índice  de 
tiempo para cada observación, la frecuencia de la muestra y el incremento de tiempo entre observaciones. Por 
ejemplo,  el  objeto  serie  de  tiempo  gas  (del  paquete  forecast)  muestra  la  producción  mensual  de  gas  en 
Australia  entre  enero  de  1956  y  agosto  de  1995  (a  cada  observación  le  corresponde  un  índice  de  tiempo 
formado por un año y un mes): 
>  gas 
Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec 
1956  1709  1646  1794  1878  2173  2321  2468  2416  2184  2121  1962  1825 
1957  1751  1688  1920  1941  2311  2279  2638  2448  2279  2163  1941  1878 
1958  1773  1688  1783  1984  2290  2511  2712  2522  2342  2195  1931  1910 
… 
1993 37059 37963 31043 41712 50366 56977 56807 54634 51367 48073 46251 43736 
1994  39975  40478  46895  46147  55011  57799  62450  63896  57784  53231  50354  38410 
1995  41600  41471  46287  49013  56624  61739  66600  60054 

La  cantidad  de  clases  de  objetos  es  muy  grande  y  crece  permanentemente,  acompañando  la  creación  de  nuevos 
paquetes  de  R.  Casi  en  cada  paquete  existen  funciones  que  devuelven  objetos  de  clases  únicas  que  sólo  esa  función 
puede  generar  y  cuya  interpretación  y  funcionalidad  es  específica  del  paquete  en  cuestión  o  de  otros  creados 
posteriormente  y  que  dependen  del  mismo.  Por  ejemplo  las  clases  "igraph"  o  "markovchain"  de los paquetes igraph y 
markovchain definen objetos asociados a trabajo con grafos y Cadenas de Markov, respectivamente. 

Cada  objeto  pertenece  a una clase. La clase de un objeto determina cómo será tratado por las funciones genéricas que 


se  le  apliquen.  Por  ejemplo,  la  función  genérica  plot()  arrojará  diferentes  resultados  según  sea  la  clase  de  sus 
argumentos: 
- Si x e y son vectores, plot(x,y) produce un diagrama de dispersión. 
- Si m es una matriz con dos columnas, plot(m) grafica también un diagrama de dispersión. 
- Si ts es un objeto de clase serie de tiempo, plot(ts) produce un gráfico temporal. 
- Si cm es una Cadena de Markov, plot(cm) realiza el diagrama de transición de estados. 
- Si  f  es  un  factor,  plot  (f)  produce  un  gráfico  de  barras;  y  si  y  es  un  vector  numérico  plot(f,y)  produce  un 
diagrama de cajas de y para cada nivel de f. 
Cuando  se  ejecuta  una  función,  R  primero  verifica  a  qué  clase  pertenece  el  objeto y luego usa la versión de la función 
adecuada para esa clase. 
Ejemplo:  > plot(gas)  #gas es un objeto serie de tiempo. 

2
Paquetes (Packages). Instalación y carga. 
Todas  las  funciones,  conjuntos  de  datos  y  documentación  de  R  están  almacenados  en  paquetes.  Algunos  paquetes 
básicos  ya  vienen  preinstalados  y  cargados  y  contienen  funcionalidades  elementales  (por  ejemplo  los  operadores 
aritméticos  suma,  resta,  multiplicación  y  división),  conjuntos  de  datos  y  funciones  gráficas  y  estadísticas  estándar. 
Para  expandir  estas  funcionalidades  básicas  hay  miles  de  paquetes  específicos  (por  ejemplo  el  paquete  forecast  que 
incluye  funciones  para  pronóstico  de  Series  de  tiempo)  que  están  disponibles  y  pueden  descargarse  desde  CRAN 
(https://CRAN.R-project.org/) o directamente en el menú Herramientas de RStudio. 

Muy  importante:  un  paquete tiene que estar instalado y luego debe ser cargado (activado) para que su contenido esté 


disponible. 

Para instalar un paquete (por ejemplo, el paquete forecast) escribir en la Consola la instrucción: 
> install.packages("forecast") 
o en RStudio, en el menú Herramientas (Tools) seleccionar Instalar Paquetes (Install Packages). 

Para cargar un paquete (previamente instalado) escribir en la Consola: 


> library("forecast") 
o  en  la  pestaña  Packages  del  panel  de  “Archivos,  Gráficos,  Paquetes,  Ayuda”  tildar  la  casilla  correspondiente  a  la 
función que se desea cargar: 

Funciones 
Para llevar a cabo una acción específica sobre algún objeto, R dispone de las funciones. En general, una función acepta 
argumentos de entrada y devuelve como salida uno o más valores (o ninguno). 

Esquemáticamente: 

Por ejemplo, la función sd() aplicada al vector vect_valores (argumento de entrada de la función) devuelve la desviación 
estándar de los valores de dicho vector (valor de salida). 

Sintaxis de una función: se escribe el nombre de la función y a continuación y entre paréntesis sus argumentos. Por 
ejemplo: 
>  vect_valores <- c(1,5,6,7) 
>  sd(vect_valores) 

3
En la Consola veremos el valor de salida: 
[1]  2.629956 

Para obtener información de una función podemos escribir: 


> ?nombre_de_la_funcion 
o bien: 
> help(nombre_de_la_funcion) 

En el panel de ayuda encontraremos una descripción de la función, el listado de sus argumentos, qué tipo de valores de 
salida genera, ejemplos, referencias bibliográficas, etc. 

Por  ejemplo,  para  saber  más  de  la  función  sd()  escribimos  ?sd  en  la  consola  y  en  el  panel  de  Ayuda  encontraremos, 
entre otra información, la sintaxis de la función: 

sd( x , na.rm = FALSE ) 

Como  podemos  ver, los argumentos de la función sd() son dos: x (el objeto que contiene el conjunto de valores sobre el 


que se calcula el desvío estándar) y na.rm (valor lógico para indicar si se remueven valores faltantes). 

Los argumentos de una función pueden ser obligatorios u opcionales.  


● Los  argumentos  opcionales  asumen  un  valor  por  defecto  y  los identificamos porque luego de su nombre hay 
un  signo  “=”  seguido  del  valor  que  asume  ese  argumento  por  defecto  (si  se  pretende  que  tengan  un  valor 
diferente  al  valor  por  defecto,  debe  indicarse  dicho  valor). En el caso de la función sd() el argumento na.rm es 
opcional y asume por defecto el valor lógico FALSE. 
● Los  argumentos  obligatorios  exigen  que  sus  valores  sean especificados; no tienen valores por defecto. De no 
especificar  el  valor  de  un  argumento  obligatorio,  típicamente  recibiremos  un  mensaje  de  error  al  ejecutar  la 
función. En la función sd(), x es un argumento obligatorio. 

Cuando  escribimos  los  valores  de  los  argumentos  de  una  función,  R  los  asigna  a  los  respectivos  argumentos con tres 
criterios: 
● Por nombre, cuando se explicita el nombre del argumento y luego el valor que asume. 
> sd ( x=vect_valores , na.rm=FALSE ) 
● Por posición. 
> sd ( vect_valores , FALSE ) 
En  este  caso  R  asigna  el  valor  vect_valores  al  primer  argumento  (x)  y  el  valor  FALSE  al  segundo 
argumento (na.rm). 
● Por nombre y/o posición. 
> sd ( vect_valores , na.rm=FALSE )  
En este caso R asigna al primer argumento por posición y al segundo por nombre. 
Cualquiera de las tres formas dará el mismo resultado. 

Importar datos de Excel 


Si  tenemos  una  tabla  con  datos  en  Excel,  podemos  importarla  a  R  muy  fácilmente.  Una forma es utilizando la función 
read_excel()  del  paquete  readxl.  También  se  puede  hacer  manualmente  desde  el  panel  Environment,  seleccionando 
Import dataset, y luego el origen de los datos (para nuestro caso, From Excel). 

4
En la ventana que se abre, hacer clic en el botón Browse y seleccionar el directorio donde está el archivo a importar.  

Ajustando  las  opciones  de  importación  se  puede  elegir  la  hoja  de  la  planilla,  el  rango  a  importar,  el  nombre  que  se  le 
quiere  dar  al  conjunto  de  datos,  etc.  Es  interesante  ver  el  código  resultante  de  esos  ajustes  en  la  ventana  “Code 
Preview”. 

Al  hacer  clic  en  el  botón  Import  se  ejecuta  el  código  y  se  crea  así  un  objeto  tipo  tibble  (data.frame) con los datos de la 
planilla  Excel  y  cuyo  nombre  es  el  que  se  asignó  en  las  opciones  de  importación  .  Para  poder  utilizar  las funciones de 
análisis de serie de tiempo y pronóstico es necesario transformarlo en objeto de clase ts (time series).   

5
Análisis de series de tiempo en R 
Comúnmente,  la  tarea  de  pronosticar  involucra  como  primer  paso  un  análisis  exploratorio  preliminar  de  los  datos.  A 
través de gráficos y diferentes pruebas se intenta detectar outliers e identificar patrones y relaciones entre variables. 

Crear objetos Serie de Tiempo  


Para  poder  utilizar  la  amplia  variedad  de  métodos  y  funciones  específicamente  diseñados  para  analizar  series  de 
tiempo y pronosticar, es recomendable que los objetos con los que trabajemos sean del tipo Serie de Tiempo. 

Dado  un  objeto  que  no  sea  del  tipo  time  series,  se  le  puede  aplicar  la función ts() para crear un objeto serie de tiempo. 
Analicemos en detalle algunos de sus argumentos de mayor utilidad: 
ts ( data = NA , start = 1 , frequency = 1 , … ) 
Es  el  vector  o  matriz  de  los  valores  observados  de  la  serie,  sin  las  fechas.  Es  un  argumento  opcional  que  por 
data  defecto  asume el valor NA (“Not Available”, que se interpreta como valor ausente o vacío). Si no se asigna ningún 
valor a este argumento, se crea un objeto serie de tiempo con un valor NA como única observación. 

Información de la primera observación. Puede ser un número o un vector con dos enteros. También es opcional y 
por  defecto  asume  el  valor 1, que significa que a la primera observación le asigna este índice y a las sucesivas los 
start  valores  2, 3, 4… Si quisiéramos que los índices estén relacionados a años y períodos específicos hay que indicarlo 
mediante  un  vector  de  la  forma  c(año,período).  Por  ejemplo,  si  los  datos  corresponden  a  observaciones 
mensuales desde marzo de 2008, deberíamos escribir start=c(2008,3). 

Es  el  ciclo  estacional  (M);  es decir, la cantidad de observaciones por unidad de tiempo. Si los datos son mensuales 


y  la  unidad  de  tiempo  es  el  año,  frequency=12  (12  observaciones  por  año,  una  por  cada  mes).  Para  datos 
frequency  trimestrales,  frequency=4  (4  observaciones por año, una por cada trimestre). Para datos anuales, frequency= 1, 
que es el valor por defecto. 

Por  ejemplo,  creemos  un  vector  llamado  vector_datos_demanda   con  los  valores  registrados  de  las  ventas  anuales,  en 
miles de unidades, de un producto durante 8 años, comenzando en 2010: 
> vector_datos_demanda <- c(10, 6, 11, 8, 10, 3, 6, 9) 
Podemos crear el objeto serie de tiempo a partir de ese vector usando la función ts(): 
> ts_datos_demanda <- ts ( data=vector_datos_demanda , start=2010 ) 
 
Grafiquemos  ambos  objetos  (recordar  que  la  función  genérica  plot() da diferentes salidas según sea la clase de objeto 
que se pretende graficar): 
> plot(vector_datos_demanda)  

> plot(ts_datos_demanda) 

6
Gráficos y tests de hipótesis para analizar la serie de tiempo e identificar patrones 

Gráficos de Series de Tiempo. Funciones plot() y autoplot(). 


Los gráficos permiten visualizar las características de la serie de tiempo. En R disponemos de muchas funciones para 
graficar los datos y que nos brindarán distintos tipo de información sobre los patrones, outliers, etc. Las funciones 
plot() y autoplot() son las más comunes para comenzar. Veamos algunos argumentos que nos permitirán personalizar 
los gráficos1: 

plot ( x, main = NULL, sub = NULL, xlab = NULL, ylab = NULL, type= “l”, pch= “1”, col= 1, lty= 1, lwd= 1, …) 

x  El objeto serie de tiempo a graficar. El único argumento obligatorio. 

main  Título principal del gráfico. 

sub  Subtítulo. 

xlab  Leyenda del eje horizontal. 

ylab  Leyenda del eje vertical. 

type  Tipo de gráfico: “p” (puntos), “l” (líneas; valor por defecto), “o” (overplotted, puntos y líneas), “h” (histograma), etc. 

pch2  Tipo de punto. pch=1 es el valor que asume por defecto. Otros tipos de puntos: 

col  Color. Puede especificarse de muchas maneras. Una es con el nombre del color, en inglés: col=”red”, col=”blue” o 
col=”green”. Otra es con un número entero: col=1 (negro; valor por defecto), col=2(rojo), col=3 (verde), col=4 (azul), 
etc. 

lty  Tipos de línea. Pueden especificarse como enteros (1=sólido; valor por defecto, 2=línea de trazos, 3=línea de 
puntos, 4=punto y trazo, 5=trazo largo, 6=trazo largo y corto) o como texto ("solid", "dashed", "dotted", 
"dotdash","longdash" o "twodash", respectivamente) 

lwd  Espesor de la línea. valor por defecto: ldw=1. lwd=2 significa doble de espesor que el espesor por defecto, lwd=3 el 
triple, etc. 

> plot(ts_datos_demanda, main="Ventas anuales", ylab="Ventas [miles de unidades]", type="o", pch=16, col=4, lty=2, 
lwd=2) 

1
Para más detalles de los parámetros gráficos, consultar la función par().
2
Válido solo si en type se especificó un tipo de gráfico con puntos. Para más información y otros estilos de puntos:
help(points)
7
Gráfico estacional. Función ggseasonplot(). 
Es  similar  al  gráfico  de  la  función  plot()  excepto  que ahora los datos de cada estación están superpuestos. Este tipo de 
gráfico  permite  que  el  patrón  estacional  sea  identificado  más  claramente,  y  es  especialmente  utilizado  para detectar 
posibles  cambios  del  patrón  a  lo  largo  del  tiempo.  Si  hay suficientes datos, también sirve para identificar la tendencia. 
Veamos  un ejemplo con la serie AirPassangers (cantidad de pasajeros de una aerolínea entre 1949 y 1960, en miles de 
pasajeros) del Paquete datasets.  

plot(AirPassengers) 

ggseasonplot(AirPassengers,  main="Grafico estacional: Pasajeros aerolinea", xlab="Meses", ylab="miles de pasajeros", 
year.labels = TRUE)

   

8
Una variante interesante de este tipo de gráfico utiliza coordenadas polares. Al definir el argumento polar=TRUE 
obtenemos el siguiente gráfico: 

ggseasonplot(AirPassengers, main="Grafico estacional: Pasajeros aerolinea", xlab="Meses", ylab="miles de pasajeros", 


polar=TRUE) 

Un gráfico alternativo que enfatiza el patrón estacional se obtiene con la función ggsubseriesplot(), en el que los datos 
de cada período se agrupan y grafican en pequeños gráficos. 

ggsubserieslot(AirPassengers, xlab="Meses", ylab="miles de pasajeros") 

Las líneas horizontales indican las medias para cada mes.  

   

9
Correlogramas. Funciones acf() y ggAcf(). 
Un gráfico también muy utilizado para analizar las características de la serie de tiempo es el correlograma, que grafica 
los coeficientes de autocorrelación en función del rezago k. 

ggAcf(AirPassengers, main="Correlograma serie AirPassengers", lag.max = 48, xlab="k", ylab="rk") 


# el argumento lag.max especifica la cantidad máxima de rezagos a graficar. 

El listado de los coeficientes de autocorrelación se puede obtener con la función acf(), del siguiente modo: 

> acf(AirPassengers, lag.max = 48)$acf 


  
En la Consola veremos: 
[,1] 
[1,] 1.00000000 → atención: este valor corresponde a k=0. 
[2,] 0.94804734 
[3,] 0.87557484 
[4,] 0.80668116 
... 
[47,] 0.10386958 
[48,] 0.12393082 
[49,] 0.13263456 

La  función  acf()  tiene  como  salida  los  valores:  lag,  acf  (los  coeficientes  de  correlación),  type  (tipo  de  correlación), 
n.used,  series  y  snames.  El  símbolo  $  luego  de  la función se utiliza para indicar que solo queremos que nos devuelva la 
salida especificada; en nuestro caso, los coeficientes de correlación.  

Función gglagplot() 
ts_AUTOCORR <- ts(data=c(82,110,117,152,86,112,130,174,88,119,128,181,91,134,141,196),frequency = 4) 
gglagplot(ts_AUTOCORR,lags = 9, do.lines = FALSE,diag = FALSE) 

   

10
Ruido blanco - Tests de hipótesis  
Aplicaremos  las diferentes pruebas al Ejemplo 2-1 del apunte de teoría. Los datos correspondientes fueron guardados 
en un objeto de serie de tiempo llamado ts_Ejemplo2_1. 

a- Test para la autocorrelación 


Además  del  correlograma,  se  puede  utilizar  la  función  Box.test()  para  analizar  formalmente  el  conjunto  de  las 
autocorrelaciones de los primeros m rezagos, con los estadísticos de Box-Pierce o Ljung-Box. 

Box.test ( x, lag = 1, type = c("Box-Pierce", "Ljung-Box"), fitdf = 0 ) 

x  El objeto serie de tiempo (o vector numérico). El único argumento obligatorio. 

lag  Cantidad de rezagos (m) a incluir en el cálculo de los estadísticos QBP y QLB. Por defecto, lag=1. 

type  Estadístico a utilizar: Box-Pierce o Ljung-Box. 

fitdf  Cantidad de grados de libertad (p) a sustraer si la serie analizada es una serie de residuos. p es el número de 
parámetros del método aplicado. 

Para nuestro ejemplo: 


> Box.test(x=ts_Ejemplo2_1, type = "Ljung-Box", lag=24) 
Salida en la Consola: 
Box-Ljung test 
data: ts_Ejemplo2_1 
X-squared = 19.324, df = 24, p-value = 0.7345 

Las salidas de la función Box.test() son: 


statistic  El valor del estadístico de prueba QBP o QLB.  X-squared = 19.324 

2
parameter  Grados de libertad de la distribución 𝟀 del estadístico de prueba.  df=24 

p.value  Valor p de la prueba.  p-value=0.7345 

method  Tipo de prueba que se realizó.  Ljung-Box 

data.name  El nombre del objeto analizado.  data: ts_Ejemplo2_1 

Si quisiéramos como salida obtener solamente el valor p de la prueba, escribiríamos: 

> Box.test(x=ts_Ejemplo2_1, type = "Ljung-Box", lag=24)$p.value 


Salida en la Consola: 
[1] 0.7345202 

b- Test para la normalidad 


Visualmente, se puede verificar la normalidad creando Gráfico Q-Q Normal con las funciones qqnorm() y qqline(). 
qqnorm(ts_Ejemplo2_1) 
qqline(ts_Ejemplo2_1) 

   
11
Si se desean aplicar test estadísticos formales, se pueden utilizar las funciones:  
Función  Prueba  Paquete 

jarque.bera.test()  Jarque-Bera  tseries 

ad.test()  Anderson-Darling  nortest 

ks.test()  Kolmogorov-Smirnov  stats 

shapiro.test()  Shapiro-Wilk  stats 

En nuestro ejemplo, para obtener el valor del estadístico JB del contraste de Jarque-Bera, escribimos: 

> jarque.bera.test(ts_Ejemplo2_1)$statistic 

Y en la Consola obtenemos: 1.762803 


El valor p de la prueba lo obtenemos escribiendo: jarque.bera.test(ts_Ejemplo2_1)$p.value (salida Consola: 0.414202) 

c- Test para la media 


Para  verificar  que  la media es nula podemos aplicar a los datos una Prueba-t utilizando la función t.test(). Para nuestro 
ejemplo, donde la hipótesis nula es que la media μ=0 y para un nivel de confianza del 95%, escribimos:  

t.test(x=ts_Ejemplo2_1, mu=0 , conf.level=0.95) 

Y en la Consola obtenemos: 
t = -0.803, df = 99, p-value = 0.4239 
alternative hypothesis: true mean is not equal to 0 
95 percent confidence interval: 
-1.4321311 0.6069311 
sample estimates: 
mean of x  
-0.4126 

d- Verificación de varianza constante 


No aplicaremos ninguna prueba estadística, solo observaremos la dispersión en el gráfico de la serie. 

   

12

También podría gustarte