¿Qué es un proceso estocástico?

Un proceso estocástico es una colección o familia de variables aleatorias ordenadas según el subíndice t que, en general, se suele identificar con el tiempo. Por lo tanto, para cada instante t tendremos una variable aleatoria distinta representada por \(X_{t}\).
Con todo ello, un proceso estocástico puede interpretarse como una sucesión de variables aleatorias cuyas características pueden variar a lo largo del tiempo.

A los posibles valores que puede tomar la variable aleatoria se le denominan estados, por lo que se puede tener un espacio de estados discretos y un espacio de estados continuos. Por otro lado, la variable tiempo puede ser de tipo continuo o discreto.
Por lo tanto, dependiendo de cómo sea el conjunto de subíndices t y el tipo de variable dado por \(X_{t}\), se puede establecer la siguiente clasificación de los procesos estocásticos:

Ejemplos de simulación en R

Variable discreta en tiempo discreto
Supongamos que en un proceso de manufactura la proporción de defectuosos es 0.15. Simular el número de defectuosos por hora en un periodo de 24 horas si se supone que se fabrican 25 unidades cada hora.

Defectuosos<-rbinom(24,25,0.15)
Defectuosos
##  [1] 7 2 0 6 1 4 3 1 3 5 4 5 3 5 8 2 4 2 2 2 3 2 1 7
plot(Defectuosos, main="Número de defectuosos por hora", col="blue", xlab="Horas",type="o")

Sabemos que la variable defectuosos sigue una distribución binomial con probabilidad de ocurrencia de 0.15 (p).
Simulamos dicha variable mediante la función rbinom y obtenemos 24 valores que representamos mediante la función plot.

Variable discreta en tiempo continuo

Supongamos que el número de accidentes que ocurren en una carretera al año tiene una distribución de Poisson de media 3.7. Simula el número anual de accidentes que se producirán en un periodo de 20 años.

Accidentes<-rpois(20,3.7)
Accidentes
##  [1] 3 6 4 1 4 4 4 2 3 9 4 4 4 5 2 4 6 1 6 3
plot(Accidentes, main="Número de accidentes anuales", col="blue", xlab="Años", type="o")

Tendencia no lineal de una serie temporal

Una de las distintas componentes de una serie temporal es la tendencia. Podemos definir la tendencia como la evolución o el comportamiento de una serie temporal a largo plazo.

Además,una serie con tendencia se denomina no estacionaria ya que la media crece o decrece a lo largo del tiempo. Según su tendencia, las series se pueden clasificar en : series con tendencia lineal y series con tendencia no lineal.

Series con tendencia lineal

Son aquellas que presentan una línea recta que se ajusta correctamente a los datos. La tendencia lineal normalmente muestra que la serie aumenta o disminuye a un ritmo constante.

\(X_{t}\) = a + bt + \(W_{t}\)

-Un ejemplo de una serie con tendencia lineal es el siguiente:

Los datos de nuestro fichero corresponden a tres variables medidas en 25 individuos: edad, peso y cantidad de grasas en sangre.

grasas <- read.table("http://www.uam.es/joser.berrendero/datos/EdadPesoGrasas.txt",header = TRUE)

Con el fin de conocer las relaciones existentes entre cada par de variables podemos representar una matriz de diagramas de dispersión:

pairs(grasas, main="Diagrama de dispersión", col="blue")

Podemos observar que existe una relación lineal bastante clara entre la edad y las grasas, pero no entre los otros dos pares de variables.

Para cuantificar el grado de relación lineal podemos calcular la matriz de coeficientes de correlación:

cor(grasas)
##             peso      edad    grasas
## peso   1.0000000 0.2400133 0.2652935
## edad   0.2400133 1.0000000 0.8373534
## grasas 0.2652935 0.8373534 1.0000000

Como podemos ver, la correlación entre las variables edad y grasas es de 0.8374, lo que significa que son las dos variables que presentan mayor relación lineal.

Para calcular la regresión lineal de los datos utlizamos el método de mínimos cuadrados mediante el comando básico lm (linear models). Mediante el comando summary obtenemos un resumen del modelo:

regresion <- lm(grasas ~ edad, data = grasas)
summary(regresion)
## 
## Call:
## lm(formula = grasas ~ edad, data = grasas)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -63.478 -26.816  -3.854  28.315  90.881 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 102.5751    29.6376   3.461  0.00212 ** 
## edad          5.3207     0.7243   7.346 1.79e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 43.46 on 23 degrees of freedom
## Multiple R-squared:  0.7012, Adjusted R-squared:  0.6882 
## F-statistic: 53.96 on 1 and 23 DF,  p-value: 1.794e-07

La ecuación de la recta de mínimos cuadrados que relaciona la cantidad de grasas en la sangre en función del peso es:

y = 102.575 + 5.321 x

Además, vemos que el valor del coeficiente de determinacion es 0.701. Este coeficiente se encarga de medir la bondad del ajuste de la recta a los datos.

A continuación, mediante el comando plot vamos a representar la nube de puntos y vamos a añadir la representación gráfica de la recta de mínimos cuadrados (comando abline aplicado al objeto generado por lm):

plot(grasas$edad, grasas$grasas, xlab = "Edad", ylab = "Grasas", main=)
abline(regresion, col="blue")

Series con tendencia no lineal

Son aquellas donde existen relaciones arbitrarias entre las variables independientes y las dependientes y cuya evolución no sigue una línea recta. Para encontrar un modelo que se ajuste a las variables se utilizaran modelos de regresión no lineal.

A diferencia de la regresión lineal, la ecuación no lineal puede adoptar diferentes formas como:exponencial, polinómica,logarítmica, etc.

Un ejemplo de una serie con tendencia exponencial que sigue la ecuación \(X_{t}\) = a + bt + \(W_{t}\) es el siguiente:

Se quiere estudiar la variación del contenido de humedad de arcillas con la profundidad en dos sondeos en la costa este de Luisiana. Para ello, ajustamos la variación de humedad en ambas muestras con la profundidad a una función exponencial.

library(readxl)
## Warning: package 'readxl' was built under R version 3.3.2
datos<-read_excel("datos.xlsx")
tras<-log(datos$H_1)
reg<-lm(tras~X,data=datos)
summary(reg)
## 
## Call:
## lm(formula = tras ~ X, data = datos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.22407 -0.12773 -0.01417  0.14457  0.22567 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.594609   0.120580  38.104 2.18e-08 ***
## X           -0.054346   0.005765  -9.427 8.10e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1868 on 6 degrees of freedom
## Multiple R-squared:  0.9368, Adjusted R-squared:  0.9262 
## F-statistic: 88.87 on 1 and 6 DF,  p-value: 8.1e-05
plot(datos$X,datos$H_1,xlab='X(m)',ylab='H_1(%)',main='Ajuste exponencial')
curve(exp(reg$coefficient[1])*exp(reg$coefficient[2]*x),add=T,col="blue")

En primer lugar transformarmos la variable H_1 mediante un logaritmo y aplicamos el modelo de regresión lm con los datos ya transformados. Dibujamos la nube de puntos mediante el comando plot, y finalmente dibujamos la curva exponencial que se ajusta al modelo.

Con todo ello, podemos observar que el R-squared es 0.9368, por lo que el ajuste es bastante adecuado.

Existen diferentes series temporales que tienen un claro límite superior en su evolución. Algunos de los modelos matemáticos usados para estas series temporales son: la curva de Gompertz y la curva logística.

Curva de Gompertz

La curva de Gompertz es una función sigmoidea de orden logarítimico. Esta curva es una de las más usadas para describir el crecimiento de los individuos o para medir el impacto del mercado en las finanzas.

En ella, podemos destacar algunos parámetros como :

-Tasa máxima de ganancia: que corresponde al valor de la primera derivada (razón de cambio instantánea) en el punto de inflexión.

-El punto de inflexión: para encontrar el punto donde cambia la concavidad de la función se obtiene la segunda derivada, la cual corresponde a la aceleración del crecimiento.

Curva logística

La curva logística modela la función sigmoidea de crecimiento y aparece en diferentes modelos de crecimiento de poblaciones y propagación de enfermedades epidémicas.

El estado inicial de crecimiento es aproximadamente exponencial;al cabo de un tiempo, la tasa de crecimiento disminuye y finalmente, en la madurez, este se detiene.

Esta representación gráfica de la función se puede observar a través de varios ejemplos, como es el desarrollo embrionario. En el desarrollo de un embrión el óvulo comienza a dividirse y el número de células comienza a crecer rápidamente(este es un crecmiento exponencial). Pero el feto solo puede crecer hasta un tamaño que el útero pueda soportar y la tasa de crecimiento disminuye. Finalmente el número de células se estabiliza por lo que se ha alcanzado la madurez en la que el crecimiento del niño se detiene.