• No results found

4. Forecasting bond yields with ARMA modelling

4.2. Estimating our model

sobre la que se ejecuta Perl 6

lista enlazada de caracteres y en MoarVM11 se almacenan co-

mo strands (hebras: una lista de arrays de memoria). Aun cuando conceptualmente una cadena no sea equivalente a vector, array o lista de caracteres, es posible implementar las cadenas en la estructura de datos que más nos convenga en cada ocasión, que- dando a nuestra disposición todas las técnicas de análisis exis- tentes para aquellas.

Otra forma de expresar la cadena es como una función que ante una posición devuelve el token que ocupa dicha posición en la secuencia.

𝐶𝑎𝑑𝑒𝑛𝑎′:: 𝐼𝑛𝑡 → 𝑀𝑎𝑦𝑏𝑒 𝐴 (TIPO 2.2)

Esta definición alternativa proporciona mecanismos para, pos- teriormente construir subcadenas. El tipo de salida (𝑀𝑎𝑦𝑏𝑒 𝐴) indica que la cadena puede no devolver valores en caso de que la posición indicada no esté en los límites válidos de la cadena.

Longitud de la cadena número de tokens de la secuencia. Se

representa como |𝑎| (siendo 𝑎 una cadena).

Conjunto de cadenas Denotamos como 𝐴∗el conjunto de to- das las posibles cadenas en 𝐴. Este conjunto es enumerable y es isomorfo al de los números naturales.

Si se fija una longitud máxima de las cadenas (a 𝑁), la cardi- nalidad (número de elementos) de este conjunto es:

|𝐴∗| = |𝐴|𝑁 (2.3)

Concatenación El operador concatenación «⏜» crea una cadena

como combinación de dos de forma que la secuencia de sim- bolos de la segunda cadena es añadida, en el mismo orden, al final de la primera.

El conjunto de todas las cadenas sobre 𝐴 y el operador conca-

tenación (< 𝐴∗, ⏜ >) forman un monoide. Y por tanto presenta

las siguiente propiedades: cualquier concatenación de cadenas es una cadena, satisface la asociatividad y presenta un elemento neutro (𝑒, la cadena vacía). En cambio no satisface la propiedad del elemento inverso ni la conmutatividad (por lo que ni es gru- po, ni Monoide Abeliano).

Subcadena Dada una cadena 𝑥, una subcadena de 𝑥 es cual-

quier cadena formada de ocurrencias consecutivas de sím- bolos de 𝑥 tomados en el mismo orden en los que aparecen en 𝑥. Más formalmente:

𝑦es una subcadena de 𝑥 si y solo si ∃𝑧,𝑤 ∈ 𝐴∗⁄𝑥 = 𝑧 ⏜ 𝑦 ⏜ 𝑤.

Donde 𝑧 se llama «prefijo» y 𝑤 «sufijo». Tanto 𝑧 como 𝑤 pue- den ser igual a la cadena vacía (𝑒), por lo que toda cadena es subcadena de si misma y 𝑒 es subcadena de todas las cadenas.

Gramática Sea Σ = 𝑉𝑇∪ 𝑉𝑁. Una gramática 𝐺 se define como

− 𝑉𝑇⊂ 𝐴es el conjunto «Alfabeto terminal».

− 𝑉𝑁es el conjunto «Alfabeto no terminal». Los conjuntos

𝑉𝑇y 𝑉𝑁son conjuntos finitos disjuntos.

− 𝑆 ∈ 𝑉𝑁es un elemento distinguido de 𝑉𝑁: el «Símbolo

inicial» y

− 𝑅es un conjunto de pares ordenados en Σ∗𝑉

𝑁Σ∗×Σ∗que

funcionan como reglas de sustitución. Si en una cadena se encuentra una subcadena que coincide con el primer elemento de un par, esta puede sustituirse por el segundo elemento del mismo par.

El proceso de derivación de una gramática consiste en empe- zar con una cadena con el símbolo 𝑆 e ir aplicando reglas suce- sivas de sustitución hasta que no haya ningún elemento no ter- minal. En cada paso, es posible que existan más de una regla de sustitución aplicable y la elección de una u otra regla propiciará terminar con una cadena u otra.

Lenguaje (sobre el vocabulario 𝑨) Subconjunto de 𝐴. Todas las cadenas que se pueden derivar de una gramática dada.

2.1.2 Métricas

Las métricas son funciones que calculan similitud entre elemen- tos. Esta similitud nos permite estimar propiedades de los ele- mentos en función de las propiedades de los elementos con los que se comparan. Aun cuando ningún elemento usado esté pre- viamente caracterizado, las métricas identifican agrupaciones de las que se pueden extraer información.

La existencia de una métrica para comparar cadenas, hace de

𝐴∗un Espacio Métrico del que compartirá todas sus propieda-

des. Formalmente, definimos un Espacio Métrico como:

Espacio Métrico Un espacio métrico (Fréchet, 1906) es un par ordenado (𝑀,d) donde 𝑀 es un conjunto y d es una métrica en 𝑀.

Métrica Sea 𝑥, 𝑦, 𝑧 ∈ 𝑀. d es una métrica si cumple los siguien-

tes requisitos:

— No negatividad d(𝑥,𝑦) ≥ 0

— Simetria d(𝑥,𝑦) = d(𝑦,𝑥)

— Desigualdad Triangular d(𝑥,𝑧) + d(𝑧,𝑦) ≥ d(𝑥,𝑦)

Por lo que el tipo que define la métrica es:

d :: 𝑀 → 𝑀 → 𝑅𝑒𝑎𝑙 (TIPO 2.4)

Las métricas definen la similitud a partir de la distancia o dife- rencia entre los puntos del espacio comparados (cuanto mayor sea dicha distancia, menor parecido hay entre dichos puntos). Existen funciones de comparación que directamente devuelven la similitud entre puntos (esto es, mayor valor implica mayor si- militud). Aunque estas funciones de comparación no son métri- ca, no es difícil construir nuevas funciones a partir de estas. Por ejemplo:

− Si la función similitud (sim) tiene un máximo (𝑚) definido,

d(𝑥,𝑦) = 𝑚 − sim(𝑥,𝑦) (2.5)

− Si la función similitud es siempre positiva,

d(𝑥,𝑦) = 1

sim(𝑥,𝑦) (2.6)

A lo largo del tiempo se han desarrollado muchas métricas para comparar cadenas. En la presente relación se ha optado por presentarlo en grandes bloques o familias en las que destacar el principio que unifica a cada una. Estas familias son:

− distancia de edición,

− alineamiento,

− basado en vectores,

− basados en conjuntos y

− metamétricas

Para completar la revisión, se ha añadido un último apartado de comparación que, aunque ya no tratan de métricas, determi- nan si dos cadenas son o no equivalentes.

Edit Distance

Edit distance calcula el coste mínimo de transformación de una

cadena a otra. Para ello, establece un conjunto de operaciones de transformación, asigna un coste a cada una y busca el conjunto de operaciones que minimicen el coste total de la transformación entre cadenas. Las operaciones más comunes son:

— Adición Añadir un símbolo entre dos símbolos existentes. — Eliminación Elimina un símbolo de la cadena.

— Sustitución Sustituye un símbolo por otro en la cadena. — Intercambio Intercambia la posición de dos símbolos adya-

centes.

Estas operaciones no son las únicas posibles y existen otras de propósito más específico como:

— Prefijo/sufijo Usado en biología, permite añadir o quitar

prefijos o sufijos complejos a un coste muy inferior de hacerlo símbolo a símbolo.

La distancia Levenshtein es la más popular en esta familia. Tanto que toda mención a una «Edit Distance» que no especifique pesos u operadores hace referencia a la distancia Levenshtein.

'g' 'r' 'a' 's' 'o' 'c' 'r' 'a' 's' 'o' 'c' 'a' 's' 'o' 'c' 'a' 'r' 'o' 'c' 'a' 'r' 'r' 'o' Figura 2.1: Transformación de «graso» en «carro»

En lafigura 2.1se muestra una posible transformación de la

cadena «graso» a «carro». Las operaciones efectuadas han sido una sustitución, una eliminación, conservar un símbolo, sustitu- ción, adición y conservación. En total 4 transformaciones. Dado que no existe una combinación que efectúe la transformación en menos operaciones (si ha otras combinaciones en el mismo nú- mero de operaciones), la distancia de edición «graso»-«carro» es igual a 4.

En general, la distancia de edición de dos cadenas puede ex- presarse como una función de coste acumulativa (𝐻(𝑖,𝑗)) que tie- ne la forma: 𝐻(𝑖,𝑗) = mín ⎧ { { ⎨ { { ⎩ 𝐻(𝑖 − 1,𝑗) + 𝑐1 (inserción) 𝐻(𝑖 − 1,𝑗 − 1) + 𝑐2 (sustitución/coincidencia) 𝐻(𝑖,𝑗 − 1) + 𝑐3 (borrado) ⋯ (otras operaciones) (2.7) donde 𝐻(𝑖,𝑗) es el coste de transformación de subcadenas de las

cadenas 𝑠1 y 𝑠2 comparadas (hasta la longitud 𝑖 y 𝑗 respectiva-

mente). Siendo, por tanto, 𝐻(|𝑠1|,|𝑠2|)el valor de la distancia final

que se está calculando. Los elementos 𝑐1, 𝑐2y 𝑐3(que no tienen

por qué se constantes) son los costes asociados a cada operación. Dado que cada operación de transformación tiene su antagó- nica, si los costes de estas operaciones son iguales, la distancia será una función simétrica.

El caracter recursivo de estas expresiones de coste hace que el cálculo de la distancia, entendiendo 𝐻 como una función, sea prohibitivo. De ahí que se hayan desarrollado distintas técnicas de optimización de espacio de memoria y operaciones. La más

famosa de ellas es el algoritmo Wagner–Fischer (Wagner & Fis-

cher, 1974) que sustituye la función 𝐻 por una matriz y establece

un orden de cálculo que evita las llamadas recursivas.

Las distintas variantes existentes en la distancia de edición se basan en la asignación de distintos valores en los costes o en ex- presiones de 𝐻 más complejas.

Levenshtein

La distancia Levenshtein (Levenshtein, 1966) entre dos cadenas

se define como el número mínimo de transformaciones necesa- rias para transformar una en otra. Las operaciones de transfor- mación permitidas son inserción, borrado o sustitución de un simple símbolo de la cadena.

𝐻(𝑖,𝑗) = mín ⎧ { { ⎨ { { ⎩ 𝐻(𝑖 − 1,𝑗) + 1 𝐻(𝑖 − 1,𝑗 − 1) + 𝑐𝑠𝑐(𝑠1,𝑖,𝑠2,𝑗) 𝐻(𝑖,𝑗 − 1) + 1 (2.8) Donde los costes de sustitución/coincidencia dependen de los

símbolos en las posiciones i y j (𝑠1,𝑖y 𝑠2,𝑗) y son:

𝑐𝑠𝑐(𝑥,𝑦) = {10 si 𝑥 ≠ 𝑦si 𝑥 = 𝑦 (2.9)

Los valores posibles de la distancia están acotados: valiendo 0 ex- clusivamente si las dos cadenas son iguales y como máximo la longitud de la cadena más larga. Si las dos cadenas miden dis- tinto, el valor mínimo de la distancia será la diferencia de longi- tudes de las dos cadenas.

Damerau-Levenshtein

Extensión de Levenshtein inspirada por el trabajo de Damerau

(Damerau, 1964) sobre la construcción de correctores ortográfi-

cos. Damerau presentó las cuatro causas más comunes de erro- res mecanográficos Su aportación consistió en añadir un cuarto operador de transposición en el que intercambiaba la posición de dos caracteres contiguos.

d(𝑖,𝑗) = mín ⎧ { { ⎨ { { ⎩ d(𝑖 − 1,𝑗) + 1 d(𝑖,𝑗 − 1) + 1 d(𝑖 − 1,𝑗 − 1) + 𝑐𝑠𝑐 d(𝑖 − 2,𝑗 − 2) + 1 solo si 𝑠1,𝑖= 𝑠2,𝑗−1y 𝑠1,𝑖−1= 𝑠2,𝑗 (2.10) Hamming

De la familia Edit Distance, solo incorpora la operación de susti-

tución. Por ello, la distancia Hamming (Hamming, 1950) solo es

aplicable en subespacios de cadenas de igual longitud.

𝐻(𝑖,𝑗) = 𝐻(𝑖 − 1,𝑗 − 1) + 𝑐𝑠𝑐(𝑠1,𝑖,𝑠2,𝑗) (2.11)

Con la función de coste 𝑐𝑠𝑐es la misma que en Levenshtein.

El valor de la distancia que proporciona es equivalente al nú- mero de símbolos que coinciden en posición pero no en valor. Es- ta distancia es aplicada en muchos campos para detectar errores de transmisión. En el ámbito de las telecomunicaciones también es conocida como signal distance.

Basados en alineamientos

El comportamiento de estas métricas se basa en una matriz de similitud que asigna a cada par posible de tokens una energía

Related documents