8 votos

Valores negativos en predicciones para una variable de respuesta siempre positiva en regresión lineal.

Estoy tratando de predecir una variable de respuesta en regresión lineal que siempre debe ser positiva (costo por clic). Es una cantidad monetaria. En Adwords, pagas a Google por clics en tus anuncios, y un número negativo significaría que Google te paga cuando la gente hace clic :P

Los predictores son todos valores continuos. El Rsquared y el RMSE son aceptables cuando se comparan con otros modelos, incluso fuera de muestra:

  RMSE        Rsquared 
1.4141477     0.8207303

No puedo reescalar las predicciones, porque se trata de dinero, por lo que incluso un pequeño factor de reescalamiento podría cambiar significativamente los costos.

Según entiendo, para el modelo de regresión no hay nada especial acerca de cero y números negativos, por lo que encuentra el mejor hiperplano de regresión sin importar si la salida es parcialmente negativa.

Este es un primer intento, usando todas las variables que tengo. Así que hay espacio para mejorar.

¿Hay alguna manera de indicarle al modelo que la salida no puede ser negativa?

4voto

Jeff Bauer Puntos 236

Supongo que estás utilizando el estimador OLS en este modelo de regresión lineal. Puedes usar el estimador de mínimos cuadrados con restricciones de desigualdad, que será la solución a un problema de minimización bajo restricciones de desigualdad. Usando notación estándar de matrices (los vectores son vectores columna) el problema de minimización se expresa como

$$\min_{\beta} (\mathbf y-\mathbf X\beta)'(\mathbf y-\mathbf X\beta) \\s.t.-\mathbf Z\beta \le \mathbf 0 $$

...donde $\mathbf y$ es $n \times 1$ , $\mathbf X$ es $n\times k$, $\beta$ es $k\times 1$ y $\mathbf Z$ es la matriz $m \times k$ que contiene la serie de regresores fuera de muestra de longitud $m$ que se utilizan para la predicción. Tenemos $m$ restricciones de desigualdad lineales (y la función objetivo es convexa, por lo que las condiciones de primer orden son suficientes para un mínimo).

El Lagrangiano de este problema es

$$L = (\mathbf y-\mathbf X\beta)'(\mathbf y-\mathbf X\beta) -\lambda'\mathbf Z\beta = \mathbf y'\mathbf y-\mathbf y'\mathbf X\beta - \beta'\mathbf X'\mathbf y+ \beta'\mathbf X'\mathbf X\beta-\lambda'\mathbf Z\beta$$

$$= \mathbf y'\mathbf y - 2\beta'\mathbf X'\mathbf y+ \beta'\mathbf X'\mathbf X\beta-\lambda'\mathbf Z\beta $$

donde $\lambda$ es un vector columna de $m \times 1$ de multiplicadores de Karush -Kuhn -Tucker no negativos. Las condiciones de primer orden son (puede que desees revisar las reglas de diferenciación de matrices y vectores)

$$\frac {\partial L}{\partial \beta}= \mathbb 0\Rightarrow - 2\mathbf X'\mathbf y +2\mathbf X'\mathbf X\beta - \mathbf Z'\lambda $$

$$\Rightarrow \hat \beta_R = \left(\mathbf X'\mathbf X\right)^{-1}\mathbf X'\mathbf y + \frac 12\left(\mathbf X'\mathbf X\right)^{-1}\mathbf Z'\lambda = \hat \beta_{OLS}+ \left(\mathbf X'\mathbf X\right)^{-1}\mathbf Z'\xi \qquad [1]$$

...donde $\xi = \frac 12 \lambda$, para conveniencia, y $\hat \beta_{OLS}$ es el estimador que obtendríamos de una estimación ordinaria de mínimos cuadrados.

El método está completamente desarrollado en Liew (1976).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X