Defina la estimación del lazo donde la i ^ {th} fila x_i \ in \ mathbb {R} ^ p de la matriz de diseño X \ in \ mathbb {R} ^ {n \ times p} es un vector de covariables para explicar la respuesta estocástica y_i (para i = 1, \ puntos n ).
Sabemos que para , la estimación del lazo . (Véase, por ejemplo, el alcance del parámetro de ajuste Lasso y Ridge .) En otra notación, esto expresa que . Observe que Podemos ver esto visualmente con la siguiente imagen que muestra la ruta de la solución de lazo:
Observe que en el extremo derecho de la gráfica, todos los coeficientes son cero. Esto sucede en el punto descrito anteriormente.
En este gráfico, también notamos que en el extremo izquierdo, todos los coeficientes son distintos de cero: ¿cuál es el valor de en el que cualquier componente de es inicialmente cero? Es decir, ¿cuál es igual a, en función de e ? Estoy interesado en una solución de forma cerrada. En particular, no estoy interesado en una solución algorítmica, como, por ejemplo, sugerir que LARS podría encontrar el nudo a través del cálculo.
A pesar de mis intereses, parece que puede no estar disponible en forma cerrada, ya que, de lo contrario, los paquetes computacionales de lazo probablemente lo aprovecharían al determinar la profundidad del parámetro de ajuste durante la validación cruzada. A la luz de esto, estoy interesado en todo lo que teóricamente se pueda mostrar sobre y (todavía) particularmente interesado en una forma cerrada.
fuente
Respuestas:
La estimación del lazo descrita en la pregunta es el equivalente multiplicador lagrange del siguiente problema de optimización:
Esta optimización tiene una representación geométrica de encontrar el punto de contacto entre una esfera multidimensional y un politopo (abarcado por los vectores de X). La superficie del politopo representa . El cuadrado del radio de la esfera representa la función y se minimiza cuando las superficies entran en contacto.g(β) f(β)
Las imágenes a continuación proporcionan una explicación gráfica. Las imágenes utilizaron el siguiente problema simple con vectores de longitud 3 (por simplicidad para poder hacer un dibujo):
Las imágenes muestran:
Te mostramos tres imágenes:
El rango de o para el que tenemos el primer y el tercer caso se puede calcular fácilmente debido a su representación geométrica simple.t λ
Caso 1: solo un distinto de ceroβi
El distinto de cero es aquel para el que el vector asociado tiene el valor absoluto más alto de la covarianza con (este es el punto del paralelelopopo más cercano a la solución OLS). Podemos calcular el multiplicador de Lagrange debajo del cual tenemos al menos un distinto de cero tomando la derivada con (el signo depende de si aumentamos el en dirección negativa o positiva):βi xi y^ λmax β ±βi βi
lo que lleva a
que es igual a mencionado en los comentarios.||XTy||∞
donde deberíamos notar que esto solo es cierto para el caso especial en el que la punta del politopo está tocando la esfera ( por lo que esta no es una solución general , aunque la generalización es sencilla).
Caso 3: Todos no son cero.βi
En este caso, una faceta del politopo está tocando la esfera. Entonces, la dirección de cambio de la ruta del lazo es normal a la superficie de la faceta particular.
El politopo tiene muchas facetas, con contribuciones positivas y negativas de . En el caso del último paso del lazo, cuando la solución del lazo está cerca de la solución ols, entonces las contribuciones de deben definirse mediante el signo de la solución OLS. La normalidad de la faceta se puede definir tomando el gradiente de la función , el valor de la suma de beta en el punto , que es:xi xi ||β(r)||1 r
y el cambio equivalente de beta para esta dirección es:
que después de algunos trucos algebraicos con el desplazamiento de las transposiciones ( ) y la distribución de paréntesis se convierte enATBT=[BA]T
normalizamos esta dirección:
Para encontrar el por debajo del cual todos los coeficientes son distintos de cero. Solo tenemos que volver a calcular desde la solución OLS hasta el punto donde uno de los coeficientes es cero,λmin
, y en este punto evaluamos la derivada (como antes cuando calculamos ). Usamos eso para una función cuadrática tenemos :λmax q′(x)=2q(1)x
Imágenes
un punto del politopo toca la esfera, un solo no es cero:βi
una cresta (o diferencia en varias dimensiones) del politopo está tocando la esfera, muchos no son cero:βi
una faceta del politopo está tocando la esfera, todos no son cero:βi
Ejemplo de código:
nota: esas tres últimas líneas son las más importantes
Escrito por StackExchangeStrike
fuente