Lógica condicional (Regresión no lineal)
Se puede especificar un modelo segmentado utilizando la lógica condicional. Para usar la lógica condicional dentro de la expresión del modelo o de la función de pérdida, debe generar la suma de una serie de términos, uno para cada condición. Cada término se compone de una expresión lógica (entre paréntesis) multiplicada por la expresión que resultará cuando esa expresión lógica es verdadera.
Por ejemplo, considere un modelo segmentado que sea igual a 0 para X<=0, X para 0<X<1, and 1 for X>=1. La expresión para esto es:
(X<=0)*0 + (X>0 & X<1)*X + (X>=1)*1.
Todas las expresiones lógicas entre paréntesis deben ser evaluables como 1 (verdadero) o 0 (falso). Así:
Si X<=0, la anterior se reduce a 1*0 + 0*X + 0*1 = 0.
Si 0<X<1, se reduce a 0*0 + 1*X + 0*1 = X.
Si X>=1, se reduce a 0*0 + 0*X + 1*1 = 1.
Se pueden generar con facilidad ejemplos más complicados reemplazando diferentes expresiones lógicas y expresiones de resultado. Recuerde que las desigualdades dobles, como 0<X<1, must be written as compound expressions, such as (X>0 & X<1).
Se pueden utilizar variables de cadena dentro de las expresiones lógicas:
(ciudad='Madrid')*costliv + (ciudad='Guadalajara')*0.59*costliv
Esto da lugar a una expresión (el valor de la variable costliv) para los madrileños y a otra (el 59% de ese valor) para los habitantes de Guadalajara. Las constantes de cadena deben ir entre comillas o apóstrofos, como se muestra aquí.