close Warning: Can't synchronize with repository "(default)" (/var/svn/mms does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 1 and Version 2 of Piecewise


Ignore:
Timestamp:
Jun 13, 2014, 1:35:30 PM (11 years ago)
Author:
Pedro Gea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Piecewise

    v1 v2  
    66Un ejemplo muy conocido es la función valor absoluto, que puede describirse como la función identidad para los valores positivos o cero y como la función opuesto para los valores negativos:
    77{{{
    8          { x ,, x>=0
    9 abs(x) = {
    10          { -x ,, x<0
     8          | x ,, x>=0
     9abs(x) = <|
     10          | -x ,, x<0
    1111}}}
    1212
     
    1515En una regresión describimos una variable {{{Y}}} (el ''output'') como combinación lineal de otras variables {{{X_i}}} (los ''inputs''):
    1616{{{
    17 Y = Sum_i(beta_i * X_i) + N
     17Y = Sum_i(beta_i *X_i) + N
    1818}}}
    1919más una parte no explicada {{{N}}} que es el ruido o residuo de la regresión.
     
    2525En otras ocasiones, esta forma funcional es conocida, pero depende de algún parámetro no lineal que puede ser estimado por los algoritmos correspondientes.
    2626
    27 En el caso que nos ocupa, se propone describir dicha forma no-lineal como una función lineal a trozos, de modo que el término {{{E_i = beta_i * X_i}}} se pueda reescribir como:
     27En el caso que nos ocupa, se propone describir dicha forma no-lineal como una función lineal a trozos, de modo que un término {{{E(X) = beta * X}}} se pueda reescribir como:
    2828{{{
    29 E_i = beta_i,k * X_i ,,  X_i <: Omega_i,k
     29E(X) = alpha_k + beta_k * X ,,  X <: [X_k, X_{k+1}]
    3030}}}
     31cumpliendo dos condiciones:
     32 * continuidad: {{{alpha_k + beta_k * X_{k+1} ==  alpha_{k+1} + beta_{k+1} * X_{k+1} }}}
     33 * efecto nulo para input nulo: {{{E(0) == 0}}}
     34
     35== Particionamiento del input ==
     36
     37Para incorporar dicha función a trozos a la regresión, utilizaremos un particionamiento del input {{{P_k(X)}}} de modo que la función a trozos se pueda escribir como combinación lineal de dicho particionamiento:
     38{{{
     39E(X) = Sum_k(beta_k * P_k(X))
     40}}}
     41
     42=== Particionamiento ===
     43
     44Se admite que las marcas utilizadas para la partición del input recorren todo el dominio del input. Ya que, de lo contrario, el input tendría que truncarse al intervalo definido por las marcas usadas.
     45
     46Sean {{{n+1}}} marcas: {{{x_k}}} con {{{k<:[1,n+1]}}} y un input {{{x}}} que será modelado con diferentes parámetros según sus valores estén en un intervalo {{{[x_k, x_{k+1}]}}} u otro:
     47{{{
     48        |  a_1 + b_1 * x  ,,  x<:[x_1, x_2]
     49        |  ...
     50E(x) = <|  a_m + b_m * x  ,,  x<:[x_m, x_{m+1}]
     51        |  ...
     52        |  a_n + b_n * x  ,,  x<:[x_n, x_{n+1}]
     53}}}
     54 
     55Se busca que el efecto ({{{E}}}) sea continuo de modo que el valor para una marca: {{{x_k}}} sea el mismo por la izquierda o por la derecha:
     56{{{
     57a_{k-1} + b_{k-1} * x_k = a_k + b_k * x_k
     58}}}
     59y se quiere que la el efecto sea nulo para el input nulo (esté libre de constante u ordenada en el origen):
     60{{{
     61E(x=0) = 0
     62}}}
     63
     64Si reescribimos la expresión anterior teniendo en cuenta cual es el intervalo que contiene al {{{0}}}: {{{0<:[x_q, x_{q+1}]}}}
     65{{{
     66        |  ... (+)
     67        |  ...
     68E(x) = <|  b_q * x                        ,,  x<:[x_q, x_(q+1)]
     69        |  b_{q+1}*(x-x_{q+1})
     70        |    + b_q*x_{q+1}                ,,  x<:[x_{q+1}, x_{q+2}]
     71        |  b_{q+2}*(x-x_{q+2})
     72        |    + b_{q+1}*(x_{q+2}-x_{q+1})
     73        |    + b_q*x_{q+1}                ,,  x<:[x_{q+2}, x_{q+3}]
     74        |  ...
     75        |  b_n*(x-x_n)
     76        |    + b_{n-1}*(x_n-x_{n-1})
     77        |    + ... + b_q*x_{q+1}          ,,  x<:[x_n, x_{n+1}]
     78}}}
     79Y para los valores negativos de x hacemos lo mismo pero usando el extremo superior del intervalo: {{{(+)}}}
     80{{{
     81        |  b_{q-1}*(x-x_q)
     82        |    + b_q*x_q                    ,,  x<:[x_{q-1}, x_q]
     83        |  b_{q-2}*(x-x_{q-1})
     84        |    + b_{q-1}*(x_{q-1}-x_q)
     85        |    + b_q*x_q                    ,,  x<:[x_{q-2}, x_{q-1}]
     86        |  ...
     87        |  b_1*(x-x_2)
     88        |    + b_2*(x_2-x_3)
     89        |    + ... + b_q*x_q              ,,  x<:[x_1, x_2]
     90}}}
     91Podemos reagrupar los términos en función de los parámetros {{{b_k}}} del siguiente modo:
     92{{{
     93        |         / (x_k-x_{k+1})  ,,  x<x_k
     94        |  b_k * |  (x-x_{k+1})    ,,  x<:[x_k, x_{k+1}]  ,,  k<q
     95        |         \ 0              ,,  x>x_{k+1}
     96        |         / x_q      ,,  x<x_q
     97E(x) = <|  b_q * |  x        ,,  x<:[x_q, x_{q+1}]
     98        |         \ x_{q+1}  ,,  x>x_{q+1}
     99        |         / 0              ,,  x<x_m
     100        |  b_m * |  (x-x_m)        ,,  x<:[x_m, x_{m+1}]  ,,  m>q
     101        |         \ (x_{m+1}-x_m)  ,,  x>x_{m+1}
     102}}}
     103A estos nuevos inputs los denominamos ''inputs-piecewise''.