Considérons un problème de régression OLS standard : J'ai des matrices \ Y et \ X et je veux trouver \ B pour minimiser L = \ | \ Y- \ X \ B \ | ^ 2. La solution est donnée par \ hat \ B = \ argmin_ \ B \ {L \} = (\ X ^ \ top \ X) ^ + \ X ^ \ top \ Y.
Je peux aussi poser un problème "inverse": étant donné et , trouver qui donnerait , c'est-à-dire minimiserait . En d'autres termes, j'ai la matrice de réponse et le vecteur de coefficient et je veux trouver la matrice de prédicteur qui donnerait des coefficients proches de . Ceci est, bien sûr, également un problème de régression OLS avec la solution
Mise à jour de la clarification: Comme @ GeoMatt22 l'a expliqué dans sa réponse, si est un vecteur (c'est-à-dire s'il n'y a qu'une seule variable de réponse), alors sera de premier rang et le problème inverse est massivement sous-déterminé. Dans mon cas, est en fait une matrice (c'est-à-dire qu'il existe de nombreuses variables de réponse, c'est une régression multivariée ). Donc est , est et est .
Je suis intéressé à résoudre un problème "inverse" pour la régression des crêtes. A savoir, ma fonction de perte est maintenant
Le problème "inverse" est de trouver
Encore une fois, j'ai une matrice de réponse et un vecteur de coefficient et je veux trouver une matrice prédictive qui produirait des coefficients proches de .
En fait, il existe deux formulations liées:
- Trouvez donné et et .
- Recherchez et étant donné et .
L'un ou l'autre a-t-il une solution directe?
Voici un bref extrait de Matlab pour illustrer le problème:
% 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(:)))
Ce code renvoie zéro si mu=0
mais pas autrement.
la source
Réponses:
Maintenant que la question a convergé vers une formulation plus précise du problème d'intérêt, j'ai trouvé une solution pour le cas 1 (paramètre de crête connu). Cela devrait également aider pour le cas 2 (pas exactement une solution analytique, mais une formule simple et quelques contraintes).
(La dérivation est un peu longue, donc TL, DR: il y a un code Matlab fonctionnel à la fin.)
Cas sous-déterminé («OLS»)
Le problème suivant est où , et . X∈ R n × p B∈ R p × q Y∈ R n × q
Sur la base de la question mise à jour, nous supposons , alors est sous déterminée donnée et . Comme dans la question, nous supposerons le "défaut" (minimumB X Y L 2 B = X + Y X + Xn<p<q B X Y L2 solution -norme)
où est la pseudo - de .
De la décomposition en valeurs singulières ( SVD ) deX = U S V T = U S 0 V T 0 X + = V S + U T = V 0 S - 1 0 U T X S - 1 0X , donnée par *
le pseudoinverse peut être calculé comme **
(* Les premières expressions utilisent le SVD complet, tandis que les secondes expressions utilisent le SVD réduit. ** Pour plus de simplicité, je suppose que a un rang complet, c'est-à-dire que existe.)
Donc, le problème avancé a la solution Pour référence future, je note que , où est le vecteur de valeurs singulières.S 0 = d i a g ( σ 0 ) σ 0 > 0
Dans le problème inverse, on nous donne etB B X XOui B . Nous savons que est venu du processus ci - dessus, mais nous ne savons pas . La tâche consiste alors à déterminer le approprié .B X X
Comme indiqué dans la question mise à jour, dans ce cas, nous pouvons récupérer X 0 = Y B + BX en utilisant essentiellement la même approche, à savoir
en
utilisant maintenant la pseudo de .
Cas surdéterminé (estimateur Ridge)
Dans le cas "OLS", le problème sous-déterminé a été résolu en choisissant la solution de norme minimale , c'est-à-dire que notre solution "unique" a été implicitement régularisée .
Plutôt que de choisir le solution de norme minimale , nous introduisons ici un paramètre pour contrôler "la taille" de la norme, c'est-à-dire que nous utilisons la régression de crête .ω
Dans ce cas, nous avons une série de problèmes de pour , , qui sont donnés par Collecte des différents vecteurs gauche et droit dans cette collection de les problèmes peuvent être réduits au problème "OLS" suivant où nous avons introduit les matrices augmentées k = 1 , … , q min β ‖ X β - y k ‖ 2 + ω 2 ‖ β ‖ 2 B ω = [ β 1 , … , β k ]βk k = 1 , … , q
Dans ce cas surdéterminé, la solution est toujours donnée par le pseudo-inverse mais le pseudo-inverse est maintenant changé, résultant en * où la nouvelle matrice "spectre de singularité" a une diagonale (inverse) ** (* Le calcul quelque peu compliqué requis pour dériver ceci a été omis par souci de concision. Il est similaire à l'exposé ici pour leB ω = ( V 0 S - 2 ω U T ) Y σ 2 ω = σ 2 0 + ω 2
Maintenant, dans ce problème, nous pouvons toujours récupérer formellement une "solution de base" comme mais ce n'est plus une vraie solution.
Cependant, l'analogie tient toujours dans le fait que cette "solution" a SVD σ 2 ω
Nous pouvons donc dériver une équation quadratique reliant les valeurs singulières souhaitées aux valeurs singulières récupérables et le paramètre de régularisationσ 2 ω ω σ 0 = ˉ σ ± Δ σσ0 σ2ω ω . La solution est alors
La démonstration de Matlab ci-dessous (testée en ligne via Octave ) montre que cette méthode de solution semble fonctionner aussi bien en théorie qu'en théorie. La dernière ligne montre que toutes les valeurs singulières de sont dans la reconstruction , mais je n'ai pas complètement compris quelle racine prendre ( = vs ). Pour ce sera toujours la racine . Cela semble généralement tenir pour « petit » , alors que pour « grand » laˉ σ ± Δ σ + - ω = 0 + ω ω -X σ¯±Δσ + − ω=0 + ω ω − racine semble prendre le dessus. (La démo ci-dessous est actuellement réglée sur un "grand" cas.)
sgn
Je ne peux pas dire à quel point cette solution est robuste , car les problèmes inverses sont généralement mal posés et les solutions analytiques peuvent être très fragiles. Cependant, des expériences superficielles polluant avec du bruit gaussien (c'est-à-dire qu'il a donc un rang complet rapport à un rang réduit ) semblent indiquer que la méthode se comporte raisonnablement bien.p nB p n
Quant au problème 2 (ie inconnu), ce qui précède donne au moins une limite supérieure sur . Pour que le discriminant quadratique soit non négatif, nous devons avoir ω ω ≤ ω max = ˉ σ n = min [ 1ω ω
Pour l'ambiguïté du signe racine quadratique, l'extrait de code suivant montre que, indépendamment du signe, tout donnera la même solution de crête avant , même lorsque diffère de .X^ B σ0 SVD[X]
la source
pinv
n'est pas une bonne chose, êtes-vous d'accord?