Considere un problema de regresión OLS estándar : Tengo matrices y \ X y quiero encontrar \ B para minimizar L = \ | \ Y- \ X \ B \ | ^ 2. La solución viene dada por \ hat \ B = \ argmin_ \ B \ {L \} = (\ X ^ \ top \ X) ^ + \ X ^ \ top \ Y.Β = argmin β { L } = ( X ⊤ X ) + X ⊤ Y .
También puedo plantear un problema "inverso": dado y , encuentre que produciría , es decir, minimizaría . En palabras, tengo la matriz de respuesta y el vector de coeficiente y quiero encontrar la matriz predictora que arroje coeficientes cercanos a . Esto es, por supuesto, también un problema de regresión de OLS con la solución
Actualización de la aclaración: como explicó @ GeoMatt22 en su respuesta, si es un vector (es decir, si solo hay una variable de respuesta), entonces esta será de rango uno, y el problema inverso está enormemente indeterminado. En mi caso, es en realidad una matriz (es decir, hay muchas variables de respuesta, es una regresión multivariada ). Entonces es , es y es .
Estoy interesado en resolver un problema "inverso" para la regresión de cresta. A saber, mi función de pérdida ahora es
El problema "inverso" es encontrar
Nuevamente, tengo una matriz de respuesta y un vector de coeficiente y quiero encontrar una matriz de predicción que produzca coeficientes cercanos a .
En realidad, hay dos formulaciones relacionadas:
- Encuentra dado y y .
- Encuentra y dado y .
¿Alguno de ellos tiene una solución directa?
Aquí hay un breve extracto de Matlab para ilustrar el problema:
% generate some data
n = 10; % number of samples
p = 20; % number of predictors
q = 30; % number of responses
Y = rand(n,q);
X = rand(n,p);
mu = 0;
I = eye(p);
% solve the forward problem: find beta given y,X,mu
betahat = pinv(X'*X + mu*I) * X'*Y;
% backward problem: find X given y,beta,mu
% this formula works correctly only when mu=0
Xhat = Y*betahat'*pinv(betahat*betahat');
% verify if Xhat indeed yields betahat
betahathat = pinv(Xhat'*Xhat + mu*I)*Xhat'*Y;
max(abs(betahathat(:) - betahat(:)))
Este código genera cero si mu=0
pero no de otra manera.
fuente
Respuestas:
Ahora que la pregunta ha convergido en una formulación más precisa del problema de interés, he encontrado una solución para el caso 1 (parámetro de cresta conocido). Esto también debería ayudar para el caso 2 (no es exactamente una solución analítica, sino una fórmula simple y algunas restricciones).
(La derivación es un poco larga, por lo que TL, DR: hay un código de Matlab que funciona al final).
Caso subdeterminado ("OLS")
El problema de avance es donde X ∈ R n × p , B ∈ R p × q e Y ∈ R n × q .
En base a la pregunta actualizada, asumiremos , por lo que B se determina bajo X e Y determinados . Como en la pregunta, asumiremos la solución "predeterminada" (mínima L2 - forma) B = X +n<p<q B X Y L2
donde X + es lapseudoinversede X .
A partir de la descomposición de valor singular ( SVD ) de , dada por * X = U S V T = U S 0 V T 0, el pseudoinverso puede calcularse como ** X + = V S + U T = V 0 S - 1 0 U T (* Las primeras expresiones usan la SVD completa, mientras que las segundas usan la SVD reducida. ** Por simplicidad, supongo que X tiene rango completo, es decir, S - 1 0 existe).X
Entonces, el problema directo tiene solución Para referencia futura, noto que S 0 = d i a g ( σ
En el problema inverso, se nos dan y BY B . Sabemos que llegó desde el proceso anterior, pero no sabemos X . La tarea es entonces determinar la X apropiada .B X X
Como se señaló en la pregunta actualizada, en este caso podemos recuperar utilizando esencialmente el mismo enfoque, es decir, X 0X
ahora usando el pseudoinverse de B .
Caso sobredeterminado (estimador de cresta)
En el caso "OLS", el problema no determinado se resolvió eligiendo la solución de norma mínima , es decir, nuestra solución "única" se regularizó implícitamente .
En lugar de elegir la solución de norma mínima , aquí introducimos un parámetro para controlar "cuán pequeña" debe ser la norma, es decir, usamos la regresión de cresta .ω
sgn
For the quadratic-root sign ambiguity, the following code snippet shows that independent of sign, anyX^ will give the same forward B ridge-solution, even when σ0 differs from SVD[X] .
fuente
pinv
is not a good thing, do you agree?