MÉTODO DE ESCENARIOS

HISTORIA

“El término ‘Escenario’ proviene del arte dramático y se refiere a un espacio o a un conjunto de directivas para la secuencia de una acción. Según Peter Schwartz, del Global Business Network de California; se puede comparar un escenario con un guión cinematográfico, porque se formulan ideas y desarrollan los caracteres, que son los bloques de construcción de escenarios. En la década del ’50, Herman Kahn de la Rand Corporation, que se ocupaba de estudios militares y estratégicos, introdujo el término escenarios en la técnica del planeamiento.” [1]

CONCEPTO:

Los escenarios constituyen “descripciones exploratorias y provisionales de un futuro probable, o según la definición de uno de los cultivadores conocidos de esta técnica: “…son secuencias hipotéticas de eventos articulados, con el designio de concentrar la atención en procesos causales y en rompimientos factibles”. Una definición de Eduardo Balbi, que vincula las ideas de escenario y ámbito, dice que “un escenario es un conjunto de circunstancias que pueden producirse en un determinado ámbito, dentro del cual operan actores e intereses que se deben analizar con coherencia y unidad de criterio”[2]

Un escenario “es una imagen o visión que describe una situación futura así como la secuencia de eventos que permiten llegar a esa situación. Este método, permite, entonces, transitar desde la situación actual hasta otra situación futura, deseable y posible, describiendo coherentemente dicho tránsito.

La construcción de escenarios debe ser una tarea de equipo y, como tal, implica la utilización consciente de conocimientos de dinámica grupal. Muchas veces, encaramos esa actividad con una actitud puramente técnica, desprovista, de esta manera de cualquier contenido emocional.”[3]

“La elaboración de escenarios representa una parte fundamental de todo ejercicio prospectivo. Los escenarios (pasados, presentes o futuros) son construcciones conceptuales a partir de supuestos: representan “una fotografía” del fenómeno global que se desea analizar. Los escenarios futuros representan visiones hipotéticas de futuro construidas a partir del desarrollo de un conjunto de premisas disponibles en el presente. Estas diferentes imágenes del futuro nos ayudan a comprender cómo las decisiones y las acciones que hoy tomamos pueden influir en nuestro futuro.

Elaborar escenarios es una forma de pensar el futuro. Debe servir para decidir lo que hay que hacer en el presente. No ponderan probabilidades sino que consideran posibilidades, no son la lista de cosas que nos gustaría que ocurriesen o que pensamos que deberían ocurrir, sino un conjunto de relatos sobre el futuro, consistentes, plausibles y que abarcan un amplio abanico de acontecimientos posibles.”[4]

CARACTERÍSTICAS:

Los escenarios poseen ciertas características que a continuación se detalla:

“· Son narraciones dinámicas. Generalmente, se diseñan con el fin de ofrecer una imagen viva y real de una posible situación de futuro. Se enmarca en un contexto concreto, que, además, puede estar basado en estimaciones estadísticas.

· Carácter múltiple. Es frecuente que se generen diversas posibilidades de una misma situación y la ventaja que esto ofrece es el contraste y la amplitud de visión ante una situación futura.

· Presentan una progresión del presente al futuro. Los escenarios no sólo tratan de describir cómo será el futuro, sino que además trazan el camino que tomará la situación presente hasta llegar a ese estadio. Se trata de conectar una serie de acontecimientos interrelacionados que se desarrollan a partir de una secuencia necesaria.”[5]

Los escenarios son un método que cumple varias funciones dentro del proceso de planificación como:

“· Tener en cuenta muchos puntos de vista;

· Preparar estrategias de respuesta para un amplio abanico de contingencias;

· Identificar indicadores que ayuden a la elección de las estrategias a ejecutar.

· Se puede entender con facilidad sin necesidad de recurrir a un vocabulario muy especializado o de métodos estadísticos;

· Utiliza una estructura narrativa muy persuasiva;

· Estimula la creación de un pensamiento futuro amplio en lugar de una visión simple.

Así mismo los escenarios tienen muchas aplicaciones:

· Enriquecer el debate y ampliar la conversación estratégica en la organización. El propósito aquí es traer nuevos conceptos e interpretaciones a los usuarios y, en último término, cambiar los mapas mentales.

· Desencadenar un proceso formal de planeación que incluya la valoración de estrategias y planes existentes”[6]

Pueden elaborarse y aplicarse escenarios a diferentes escalas. “Por ejemplo a nivel internacional (a escala global o continental); dentro de sistemas nacionales (por ejemplo, en Nueva Zelanda y la Federación Rusa); a escala regional o sectorial (en una industria en concreto como el transporte); e incluso a escala de una institución u organización, ya sea de un organismo de la administración pública, una escuela o un instituto.”[7] En cada una de estas escalas las características de los escenarios difieren, y los motivos de dicha diferencia resultan con frecuencia tantos más específicos cuantos más locales sean los parámetros de aplicación de los escenarios.

Series de Tiempo

library(fpp)
library(ggplot2)
beer2 <- window(ausbeer, start=1992)
fit.beer <- tslm(beer2 ~ trend + season)
fcast <- forecast(fit.beer)

autoplot(beer2, xlab="Año", ylab="Millones de Galones") + ggtitle("Despacho de Cerveza en Australia")

# No funciona el uso de titulo del gráfico
#autoplot(fcast  , ggtitle("Despacho de Cerveza")  ,xlab("Year"), ylab("megalitres"))
autoplot(fcast, xlab="Año", ylab="Millones de Galones")

Regresión no lineal

Aunque la relación lineal asumida hasta ahora en este apartado es a menudo adecuada, hay muchos casos en los que una forma funcional no lineal es más adecuada. Para mantener las cosas simples en esta sección asumimos que sólo tenemos un predictor \(X\)

La forma más sencilla de modelar una relación no lineal es transformar la variable de previsión
\(y\) y/o la variable predictora \(X\) antes de estimar un modelo de regresión. Aunque esto proporciona una forma funcional no lineal, el modelo sigue siendo lineal en los parámetros. La transformación más utilizada es el logaritmo (natural) .

Se especifica un formulario funcional log-log como

\[log (y) = \beta_0 + \beta_1 * log (x) + \varepsilon \] En este modelo, la pendiente \(\beta_1\) puede interpretarse como una elasticidad:
Se puede decir que es el cambio porcentual promedio en \(y\) resultado de un
aumento porcentual de \(X\).

También se pueden especificar otras formulas útiles. La formulación log-linear se especifica transformando únicamente la variable de previsión y la formula de registro lineal se obtiene transformando el predictor.

Recuerde que para realizar una transformación logarítmica en una variable, todos sus valores observados deben ser mayores que cero. En el caso de que esa variable
\(X\) contiene ceros, usamos la transformación

\(log (X+1)\) ; Es decir, añadimos uno al valor de la variable y luego tomamos logaritmos. Esto tiene un efecto similar a tomar logaritmos, pero evita el problema de los ceros. También tiene el efecto secundario ordenado de ceros en la escala original ceros aparezcan en la escala transformada como ceros.

Hay casos para los que simplemente transformar los datos no seriá adecuado y puede ser necesaria una especificación más general. Entonces el modelo que usamos será

\[ y=f(x) + \varepsilon\]

Dónde \(F\) es una función no lineal. En regresión estándar (lineal),
$ F (X)=_0+_1 * X$. En la especificación de regresión no lineal que sigue, permitimos
\(F\) para ser una función no lineal más flexible de \(X\) , en comparación con simplemente una transformación logarítmica u otra transformación.

Una de las especificaciones más sencillas es \(F\) lineal por partes . Es decir, introducimos puntos donde la pendiente de
\(F\) puede cambiar. Estos puntos se llaman nodos. Esto se puede lograr dejando que
\(X_{1,t}\) = X , e introducir la variables
$ X_{2,t}$ tal que :

\[x_{2,t} = (x-c) =\]
\[x_{2,t} = (x-c) + =\left\{\begin{array}{l l} x=0 & x < c \\ (x-c) & x \geq c \end{array} \right\} \]

La notación
\((X − C) +\) significa que si el valor
\(X − C\) si es positivo y 0 de lo contrario. Esto obliga a la pendiente a doblarse en el punto \(C\) . Los pliegues adicionales se pueden incluir en la relación añadiendo otras variables la ecuación anterior.

Un ejemplo de esto sería
\(X= T\) y ajustar una tendencia lineal por tramos a una serie temporal.

Las relaciones lineales por partes construidas de esta manera son un caso especial de splines de regresión. En general, se obtiene una spline de regresión lineal utilizando

\[x_1 = x , x_2 =(x - c_1)_+ ... x_k=(x-c_{k-1})_+ \]

Dónde $ C_1, … c_{k-1} son los nodos (los puntos en los que la línea puede doblarse).

Selecciando del número de nudos \((K-1)\) y dónde deben posicionarse puede ser difícil y algo arbitrario. Algunos algoritmos automáticos de selección de nudos están disponibles en algún software, pero aún no son ampliamente utilizados.

Se puede obtener un resultado más suave utilizando expresiones cúbicas a piezas en lugar de líneas por piezas. Estos están limitados para ser continuos (se unen) y suaves (para que no haya cambios repentinos de dirección, como vemos con splines lineales por piezas). En general, una spline de regresión cúbica se escribe como

\[ x_1=x , x_2= x^2 , x_3=x^3 , x_4=(x - c_1), \ldots , x_k = (x-c_{k-3}) \]

Maraton de Boston

La cantidad de energía para una carga a pulso de un camión de 24 palets es equivalente a la que una persona gasta en una maratón. Hoy , con la existencia de carga mecanizada es inhumano pensar en esta alternativa, pero tomemos las datos a ejemplo ilustrativo.

La figura muestra los tiempos ganadores del maratón de Boston (en minutos). Según las estadística, ll curso se alargó (de 24,5 millas a 26,2 millas) en 1924, lo que condujo a un salto en los tiempos del ganadores, por lo que sólo consideramos datos a partir de esa fecha. La serie temporal muestra una tendencia general a la baja a medida que los tiempos de los ganadores han ido mejorando a lo largo de los años. El panel inferior muestra los residuos entre la correlación de una tendencia lineal a los datos y el tiempo verdadero. La gráfica muestra un patrón no lineal obvio que no ha sido capturado por la tendencia lineal. También hay algo de heteroscedasticidad, con variación decreciente con el tiempo.

library(fpp2)
boston_men <- window(marathon, start=1924)
h <- 10
fit.lin <- tslm(boston_men ~ trend)
fcasts.lin <- forecast(fit.lin, h = h)
fit.exp <- tslm(boston_men ~ trend, lambda = 0)
fcasts.exp <- forecast(fit.exp, h = h)

t <- time(boston_men)
t.break1 <- 1950
t.break2 <- 1980
tb1 <- ts(pmax(0, t - t.break1), start = 1924)
tb2 <- ts(pmax(0, t - t.break2), start = 1924)

fit.pw <- tslm(boston_men ~ t + tb1 + tb2)
t.new <- t[length(t)] + seq(h)
tb1.new <- tb1[length(tb1)] + seq(h)
tb2.new <- tb2[length(tb2)] + seq(h)

newdata <- cbind(t=t.new, tb1=tb1.new, tb2=tb2.new) %>%
  as.data.frame()
fcasts.pw <- forecast(fit.pw, newdata = newdata)

fit.spline <- tslm(boston_men ~ t + I(t^2) + I(t^3) +
  I(tb1^3) + I(tb2^3))
fcasts.spl <- forecast(fit.spline, newdata = newdata)

autoplot(boston_men) +
  autolayer(fitted(fit.lin), series = "Linear") +
  autolayer(fitted(fit.exp), series = "Exponential") +
  autolayer(fitted(fit.pw), series = "Piecewise") +
  autolayer(fitted(fit.spline), series = "Cubic Spline") +
  autolayer(fcasts.pw, series="Piecewise") +
  autolayer(fcasts.lin, series="Linear", PI=FALSE) +
  autolayer(fcasts.exp, series="Exponential", PI=FALSE) +
  autolayer(fcasts.spl, series="Cubic Spline", PI=FALSE) +
  xlab("Year") + ylab("Winning times in minutes") +
  ggtitle("Boston Marathon") +
  guides(colour = guide_legend(title = " "))

arriba muestra las líneas y pronósticos ajustados de las tendencias lineales, exponenciales, lineales por tramos y spline cúbicas. Las mejores previsiones parecen provenir de la tendencia lineal por partes, mientras que la spline cúbica da el mejor ajuste a los datos históricos, pero malas previsiones.

Hay una formulación alternativa de splines cúbicas (llamadas splines de suavizado cúbico natural) que impone algunas restricciones, por lo que la función spline es lineal al final, lo que generalmente da pronósticos mucho mejores sin comprometer el ajuste. En la Figura siguiente, hemos utilizado la función splinef() para producir las previsiones de spline cúbica. Esto utiliza muchos más nudos de los que usamos en la Figura 5.21, pero los coeficientes están restringidos para evitar el sobreajuste, y la curva es lineal en ambos extremos. Esto tiene la ventaja añadida de que la selección de nudos no es subjetiva. También hemos utilizado una transformación de registro (lambda=0) para manejar la heteroscedasticidad.

boston_men %>%
  splinef(lambda=0) %>%
  autoplot()

Los residuos trazados a continuación muestran que este modelo ha capturado bien la tendencia, aunque queda algo de heteroscedasticidad. El amplio intervalo de predicción asociado con las previsiones refleja la volatilidad observada en los tiempos históricos de victoria.

boston_men %>%
  splinef(lambda=0) %>%
  checkresiduals()

Árbol de escenario reducido

#Programación estocástica de varias etapas

EL objetivo de este apartado es presentarte el método de gas neural para la reducción de escenarios, y mostrarte cómo utilizar las funciones buildtree y checktree en el paquete de escenarios para construir árboles de escenario con estructuras nodales predefinidas.

para que puedas utilizarlo debes cargar la biblioteca:

  install.packages("scenario")

Muchos problemas de optimización deben permitir el la incorporación de control sobre recursos, o la capacidad del operador para cambiar las decisiones de control conforme la incertidumbre se reduce a través del tiempo (pasos).

Teniendo en cuenta este tipo de programación en estocástica se puede lograr transformando las entradas de escenarios con perturbación en el árbol de escenarios. Una manera de hacer esto es mediante la aplicación del método conocido como gas neural. Este enfoque difiere de otros métodos en que permite la usuario predefinir y establecer la estructura nodal del árbol y mediante la perturbación de las probabilidades agrupar los resultados o escenrio final simplificando el árbol que llamaremos realizaciones.

##¿Qué es un árbol de escenario?

Un árbol de escenarios es una forma reducida de un conjunto de escenarios o realizaciones de un proceso. Los cúmulos de árboles de esas realizaciones se graficon como un conjunto de ramas con probabilidades especificadas de ocurrencia. El árbol está formado por \(S\) escenarios, denotados como \(s_i , (i = 1, 2, . . , S )\). Cada escenario contiene nodos \(t\), denotados \(s_{i,t} , (t = 1, 2, . . , T )\). Una condición fáctica es que todos las realizaciones nacen de el mismo estado actual de situación. Esto implica que \(t = 1\) , todos los escenarios del árbol comparten el mismo nodo $s_{i,1} $ . A medida que \(t\) aumenta, el árbol comienza a ramificarse. Cuando \(t = T\) , todos los nodos pertenecen a un solo escenario. Cada escenario tiene una probabilidad \(P_i\) , y la suma de \(P_i\) en todos los escenarios debe ser igual a 1 .

Árbol ejemplo ficticio

La estructura de un árbol de escenarios se puede representar mediante una matriz de partición nodal de dicho árbol de escenario, con el número de columnas iguales al número de escenarios (4 en el caso anterior) y el número de filas igual al número de pasos de tiempo (3 en el caso anterior). Esta forma de matriz se introduce en las funciones buildtree y checktree del paquete escenario mediante el parámetro treeStruct.

En el ejemplo anterior la matriz que lo representa sería así.

\[ S = \begin{matrix} & [ ,1] & [ ,2] & [ ,3] & [ ,4] \\ a[1,] & S_{1,1} & S_{1,2} & S_{1,3} & S_{1,4} \\ b[2,] & S_{2,1} & S_{2,2} & S_{2,3} & S_{2,4} \\ c[3,] & S_{3,1} & S_{3,2} & S_{3,3} & S_{3,4} \end{matrix} \] Dato que todos los escenarios en \(t=1\) todos los escenarios comparten el mismo estado inicial (o tabula raza en caso de emprender) Se debe cumplir que \(S_{1,1} = S_{2,1} = S_{3,1} = S_{4,1}\) \(S\) Podría ser cualquier cantidad mesurable (capital, empleados, valor de acción , inflación, etc). Similarmente en el primer paso (estado 2) sólo existen dos escenarios posibles. Por lo tanto \(S{1,2}=S_{2,2}\) y \(S_{3,2} = S_{4,2}\) . De este modo la matris de estados asociados a la matriz nodal de partición del árbol sería escrita así.

\[ S = \begin{matrix} & [ ,1] & [ ,2] & [ ,3] & [ ,4] \\ a[1,] & 1 & 1 & 1 & 1 \\ b[2,] & 2 & 2 & 5 & 5 \\ c[3,] & 3 & 4 & 6 & 7 \end{matrix} \]

La forma más facil de armar la matrix en R-Cran es ir por filas. Sin embrago en el paper de Giorgio Consigli el autor sugiere otro método. Él propone escribir esta matriz avanzando columna por columna, elevando el entero de nodo por 1 para cada nodo que tienes (que aún has definido). Después de escribir una matriz de estructura de árbol, se puede comprobar si es correcta utilizando el comando checktree .

library(scenario)
treeStruct <- rbind(c(1,1,1,1),
c(2,2,5,5),
c(3,4,6,7))
scenario::checktree(treeStruct)

Si entonces quisieses que el árbol cambio o se requiere más o menos complejidad, simplemente hya que alterarlo y vuelver a comprobar antes de usar la estructura con la función buildtree. Por ejemplo:

treeStruct <- rbind(c(1,1,1,1,1,1),
c(2,2,5,5,8,11),
c(3,4,6,7,9,12))
scenario::checktree(treeStruct)

El algoritmo del gas neural

El gas neural es un algoritmo simple para encontrar representaciones de datos óptimas basadas en Vectores. El algoritmo fue acuñado como “gas neural” debido a la dinámica de los vectores de características durante el proceso de adaptación, que se distribuyen como un gas dentro del espacio de datos. Remeda partes de la técnicas de las redes neuronales.

El algoritmo de gas neural se puede utilizar para definir los valores de nodo (y los probabilidades de escenario) de un escenario determinado estructura de un árbol para describir el mejor conjunto de escenarios a partir de una entrada y que satisface las restricciones final (que denominaremos realizaciones para distinguir de la escenarios intermedios pertenecientes al árbol de escenarios).

Cuando se aplica la generación de un árbol de escenario con un nodo inicial predefinido y cierta estructura, el algoritmo de gas neural requiere tres tipos de entrada.

En primer lugar, necesitamos un conjunto inicial de realizaciones de longitud T , que vamos a denominar \(X\) (X puede ser un conjunto de pronósticos, o simplemente un registro de histórico observado disturbios o el resultado de una ronda delphi).

En segundo lugar, necesitamos definir la estructura de árbol de escenario deseada y luego codificarla como un árbol de escenario , tal como hemos visto. Esta matriz de partición nodal, como se describió anteriormente. Es la parte más complicada de la metodología.

En tercer lugar, necesitamos algunos parámetros de entrada que definan la resolución de las iteraciones tomadas por el algoritmo. Estos se establecen de forma predeterminada en los valores recomendados en la función buildtree.

El parámetro que se llama jMax se puede modificar para cambiar la acumulación y el tiempo de cálculo.

Los pasos siguientes se corren el algoritmo con un ejemplo sencillo y estilizado. Aquí generamos el realizaciones artificialmente desde un árbol conocido, con el fin de ilustrar la eficacia del algoritmo.

known_tree <- cbind(c(0,2,3),
c(0,2,1),
c(0,-2,-3),
c(0,-2,-1)
)
# now add some noise to the known tree...
realizations <- matrix(rep(known_tree,5), ncol=20) + matrix(rnorm(60,0,1),ncol=20)
matplot(realizations, lty=2, col = "grey", type="l",
ylab = "Disturbance", xaxt = "n", main = "Initial realizations")
axis(1, at=1:3, labels=1:3)

Observe bien como hemos introducido ruido (disturbancia) al estilo de lo que hacemos en el método Montecarlo.

Paso 1 - Inicializar los parámetros del algorítmo

Para inicializar el árbol antes de ejecutar las iteraciones, los nodos de árbol deben recibir un valor inicial. Exactamente lo que estos valores reflejen serán relativamente poco importantes, ya que el algoritmo perturbará rápidamente el árbol a medida que comienza a encajar a las realizaciones.

Una forma sencilla de inicializar el árbol es asignar a cada escenario el valor de un realización, \(X_k ,(k = 1, 2, . . . , K)\) ; Donde \(K\) es el número total de realizaciones— 20 (escenarios finales) en el ejemplo dado anteriormente.

A continuación, se toman promedios para dar a los nodos pertenecientes a más de un escenario el mismo valor, lo que garantiza que se mantiene la estructura del árbol de escenario. A continuación se muestra un ejemplo de una posición inicial del árbol.

El algoritmo tiene una serie de parámetros que se pueden alterar, pero no complicaremos el ejemplo con esto valores ahora. Por defecto el algoritmo toma estos valores para los parámetro tal como se ha señalado en el paper.

\[ \lambda_0 =10 \] \[ \lambda_f = 0.01\] \[ \epsilon_0=0.5\] \[ \epsilon_f=0,05\] \[ \dot{\jmath}{_{max}} =40.000\]

Paso 2 Podenración del orden de las distancias Euclídeas

Cada iteración del procedimiento de gas neural comienza con la selección aleatoria de una realización \(X_k\) de \(X\). Un ejemplo se da a continuación, con la realización seleccionada que se muestra como una línea discontinua negra gruesa.

Disturbancia vs Avance

El algoritmo tiene como objetivo determinar cuál de los escenarios en el árbol son más propensos a representar la realización elegida, y luego de mover los escenarios de acuerdo con esas probabilidades. Esto se logra ponderando cada escenario de acuerdo con su distancia de la realización elegida al azar. Para ello, calculamos el Euclidiano distancias desde la realización \(X_k\) a cada escenario para \(( \forall, i = 1, 2, . . , S )\) utilizando:

\[ d_{i,k}= \sqrt {(\sum _{t=1} ^{T} (S_{i,t} -X_{k,t})^2} \]

Para ponderar los escenarios, usamos el rango de las distancias. Para ejemplificar, las distancias euclidianas y las clasificaciones de escenarios para nuestro ejemplo simple son:

     Disancia Ranking
[1,] 2.122578       1
[2,] 4.149948       4
[3,] 2.323245       2
[4,] 2.786486       3

Los rangos se almacenan en el vector R para su uso en el paso siguiente. Esos escenarios con el rango más bajo (es decir, más cercano a la realización) serán los más perturbados hacia la realización. A medida que el proceso recorre en iteraciones con nuevos valores elegidos aleatoriamente, el árbol comenzará a extenderse con cada escenario moviéndose hacia las realizaciones que es más probables.

Paso 3 Ajuste de los nodos

Ajustamos el valor de cada giro del nodo según la siguiente ecuación:

\[ \Delta s_{i,t} = \in(j) . \sum_{i'} h(R_{i'}, \lambda(j). \frac{(X_{t,k} - s_{i',t})}{\sum_i'}) \] donde \(i′\) indexa a través de los escenarios que pasan a través del nodo $s_{i,t} (por ejemplo, cuatro escenarios pasan a través de el primer nodo del árbol simple anterior, por lo que las sumas de ecuación para los cuatro ranking de escenario cuando se aplican a este nodo.

\[ \in(j) = \in_0 . ({\in_f}/{\in_0})^{{j} / {j_{max}} } \]

\[ h(R_{i'},\lambda /λ(j) = e^{-R_{i'}/\lambda(j) } \]

\[ \lambda(j) = \lambda_0 .( \lambda_f / \lambda_0)^{j/j_{max}} \]

Paso 4 Iteración

Después de ajustar cada nodo (agregando \(\Delta s_{i,t}\) al valor anterior \(s_{i,t})\), agregamos 1 a \(j\) e iniciamos el proceso de nuevo desde el paso 2. La iteración se completa cuando $j = jmax $ .

Cómputo de probabilidades

Una vez que el árbol de escenario ha convergido, las probabilidades de cada escenario se calculan asignando a cada escenario una realización, basada en la distancia euclidiana más baja. Suponiendo que todas las realizaciones sean equiprobablemente, la probabilidad de cualquier escenario es simplemente la proporción de realizaciones totales que se encuentran más cerca de él que cualquier otro escenario.

CONSTRUCCIÓN DE ESCENARIO

Construcción del árbol comando: buldtree()

El algoritmo de gas neural se puede ejecutar fácilmente utilizando la función buildtree() en el escenario. El código a continuación se introducen las realizaciones y la estructura del árbol para el caso de ejemplo simple anterior. \(jmax\) se establece en 1000 para eficiencia; un árbol más representativo se puede encontrar aumentando \(jmax\) , pero tendrá mayor costo computacional. Un valor exageradamente alto podría introducir error de punto flotante.

     [,1] [,2] [,3] [,4]
[1,]    1    1    5    4
[2,]    1    2    5    6
[3,]    1    2    3    7

Valores del árbol

Probabilidad des de las ramas

$tree_structure
     [,1] [,2] [,3] [,4]
[1,]    1    1    5    4
[2,]    1    2    5    6
[3,]    1    2    3    7

$tree_values
           [,1]       [,2]       [,3]        [,4]
[1,] -0.5594462 -0.5594462 -0.9350103 -0.11337099
[2,] -0.5594462  2.0998451 -0.9350103  1.54671508
[3,] -0.5594462  2.0998451 -3.2429423 -0.07122767

$branch_probabilities
[1] 0.25 0.30 0.25 0.20

Tenga en cuenta que la función devuelve una lista con tres objetos: la estructura de árbol deseada inicial; los valores del árbol final nodos y las probabilidades de cada escenario del árbol. La cifra compara el árbol final con el conocido árbol a partir del cual se generaron las realizaciones.

Referencias Bibliográficas

[1] Firmenich B. Ernesto H. Metodología para la construcción de escenarios. Obtenido en línea el 6 de abril de 2010. Disponible en: http://www.conduces.com.ar/escenarios-completos.pdf

[2] Ibidem.

[3] Tobar, Federico. Análisis de Tendencias y Construcción de Escenarios. Obtenido en línea el 6 de abril de 2010. Disponible en: http://www.federicotobar.com.ar/pdf/Metodologiadelainvestigacion/analisis-de-tendencias%20y%20construccion%20de%20escenarios.pdf

[4] Buenas Tareas: Escenarios Catastróficos. Obtenido en línea el 6 de abril de 2010. Disponible en: http://www.buenastareas.com/ensayos/Escenario-Catastrofico/139162.html

[5] Sin autor. Cómo diseñar un escenario futuro. Obtenido en línea el 4 de mayo de 2010. Disponible en http://winred.com/management/como-disenar-un-escenario-de-futuro/gmx-niv116-con1727.htm

[6] GROSS, Manuel. La planificación por escenarios como estrategia contra la incertidumbre. Obtenido en línea el 4 de mayo de 2010. Disponible en http://manuelgross.bligoo.com/content/view/570258/La-Planificacion-por-Escenarios-como-estrategia-contra-la-incertidumbre.html

[7] Varios Autores. Manual de escenarios. Bélgica. 2004. Obtenido en línea el 4 de mayo de 2010. Disponible en http://www.cedefop.europa.eu/EN/Files/6009_es.pdf