Estimateurs antérieurs uniformes incorrects de l'erreur quadratique moyenne minimale (MMSE) invariants d'échelle
Cette réponse présente une famille d'estimateurs invariants à l'échelle, paramétrisés par un seul paramètre qui contrôle à la fois la distribution bayésienne antérieure de l'amplitude et la transformation de l'amplitude à une autre échelle. Les estimateurs sont des estimateurs d' erreur quadratique moyenne minimale (MMSE) dans l'échelle d'amplitude transformée. On suppose un avant uniforme incorrect d'amplitude transformée. Les transformations disponibles incluent une échelle linéaire (pas de transformation) et peuvent approcher une échelle logarithmique selon laquelle l'estimateur approche zéro partout. Les estimateurs peuvent être paramétrés pour atteindre une faible somme d'erreur quadratique à des rapports signal / bruit négatifs (SNR).
Estimation bayésienne
L'estimateur du maximum de vraisemblance (ML) dans ma première réponse s'est plutôt mal comporté. L'estimateur ML peut également être compris comme un estimateur bayésien du maximum a posteriori (MAP) étant donné une distribution de probabilité antérieure uniforme incorrecte. Ici, impropre signifie que le prieur s'étend de zéro à l'infini avec une densité infinitésimale. Parce que la densité n'est pas un nombre réel, l'a priori n'est pas une distribution correcte, mais il peut quand même donner une distribution postérieure appropriée par le théorème de Bayes qui peut ensuite être utilisée pour obtenir une MAP ou une estimation MMSE.
Le théorème de Bayes en termes de fonctions de densité de probabilité (PDF) est:
PDF(a∣m)=PDF(m∣a)PDF(a)PDF(m)=PDF(m∣a)PDF(a)∫∞0PDF(m∣a)PDF(a)da.(1)
Un estimateur MAP a^MAP est l'argument du PDF postérieur qui le maximise:
a^MAP=argmaxaPDF(a∣m).(2)
Un estimateur MMSE a^MMSE est la moyenne postérieure:
une^MMSE=a r gm a xune^E[ ( a -une^)2∣ m ] = E[ a ∣ m ] =∫∞0un PDF( a ∣ m ) da .(3)
Un a priori uniforme incorrect n'est pas le seul a priori invariant d'échelle. Tout PDF antérieur satisfaisant:
P D F ( |Xk| )∝|Xk|ε - 1,(4)
avec un véritable exposant ε - 1 , et ∝ ce qui signifie: "est proportionnel à", est invariant d'échelle dans le sens où le produit de Xket une constante positive suit toujours la même distribution (voir Lauwers et al. 2010 ).
Une famille d'estimateurs
Une famille d'estimateurs doit être présentée, avec ces propriétés:
- Invariance d'échelle: si le bac propre complexeXk, ou de manière équivalente l'amplitude propre |Xk| , et l'écart type de bruit σ sont chacun multipliés par la même constante positive, puis aussi l'amplitude estimée |Xk|ˆ est multiplié par cette constante.
- Erreur d'amplitude transformée moyenne moyenne minimale.
- Uniform incorrect avant l'amplitude transformée.
Nous utiliserons la notation normalisée:
unem1S N R=|Xk|σ=|Ouik|σ=(σσ)2=(|Xk|σ)2=une2amplitude propre normalisée,amplitude bruyante normalisée,variance normalisée du bruit,rapport signal / bruit ( 10Journaldix(SNR) dB),(5)
où |Xk| est l'amplitude propre que nous souhaitons estimer à partir de l'amplitude bruyante |Yk| de valeur bin Yk whicy est égal à la somme de la valeur du bac propre Xk plus le bruit gaussien complexe de symétrie circulaire σ2. L'invariant d'échelle a priori de |Xk|donnée dans l'équation. 4 est reporté à la notation normalisée comme suit:
PDF(a)∝aε−1.(6)
Laisser g(a) être une fonction de transformation croissante de l'amplitude a. L'antériorité uniforme incorrecte de l'amplitude transformée est indiquée par:
PDF(g(a))∝1.(7)
Eqs. 6 et 7 déterminent ensemble la famille des transformations d'amplitude possibles. Ils sont liés par un changement de variables :
⇒⇒⇒g′(a)PDF(g(a))g′(a)g(a)g(a)=∝∝=PDF(a)aε−1∫aε−1da=aεε+cc1aεε+c0.(8)
On suppose sans preuve que le choix des constantes c0 et c1n'affectera pas l'estimation de l'amplitude. Pour plus de commodité, nous définissons:
⇒⇒g( 1 ) = 1etg′( 1 ) = 1c0=ε - 1εetc1= 1g( a ) =uneε+ ε - 1ε,(9)
qui a un cas linéaire spécial:
g( a ) = asiε = 1 ,(dix)
et une limite:
limε → 0g( a ) = log( a ) + 1.(11)
La fonction de transformation peut représenter commodément l'échelle d'amplitude linéaire (à ε = 1) et peut approcher une échelle d'amplitude logarithmique (comme ε → 0). Pour positifε , le support du PDF d'amplitude transformée est:
⇒0 < a < ∞ε - 1ε< g( a ) < ∞ ,(12)
La fonction de transformation inverse est:
g- 1( g( a ) ) = ( ε g( a ) - ε + 1)1 / ε= a .(13)
L'estimation transformée est alors, en utilisant la loi du statisticien inconscient :
une^uni-MMSE-xform=a r gm i nune^E[ ( g( a ) - g(une^))2∣ m ] =g- 1( E[ g( a ) ∣ m ] )=g- 1(∫∞0g( a ) PDF( a ∣ m )réa )=g- 1(∫∞0g( A ) f( a ∣ m ) dune∫∞0F( a ∣ m ) dune) ,(14)
où PDF( a ∣ b ) est le PDF postérieur et F( a ∣ m ) est un PDF postérieur non normalisé défini en utilisant le théorème de Bayes (Eq. 1), le PDF( m ∣ a ) = 2 me- (m2+une2)je0( 2 m a )de l'Eq. 3.2 de ma réponse d'estimateur ML, et Eq. 6:
PDF( a ∣ m )∝∝∝PDF( m ∣ a )PDF( A )2 me- (m2+une2)je0( 2 m a ) ×uneε - 1e-une2je0( 2 m a )uneε - 1= f( a ∣ m ) ,(15)
à partir duquel PDF( m ) a été supprimée de la formule de Bayes car elle est constante sur a .Combiner les égaliseurs. 14, 9 et 15, résoudre les intégrales dans Mathematica et simplifier, donne:
une^uni-MMSE-xform=g- 1(∫∞0uneε+ ε - 1ε×e-une2je0( 2 m a )uneε - 1réune∫∞0e-une2je0( 2 m a )uneε - 1réune)=( ε12 ε( Γ ( ε )L- ε(m2)+(ε−1)Γ(ε/2)L−ε/2(m2))12Γ(ε/2)L−ε/2(m2)−ε+1)1/ε=(Γ(ε)L−ε(m2)+(ε−1)Γ(ε/2)L−ε/2(m2)Γ(ε/2)L−ε/2(m2)−ε+1)1/ε=(Γ(ε)L−ε(m2)Γ(ε/2)L−ε/2(m2))1/ε,(16)
où Γest la fonction gamma etLest la fonction de Laguerre . L'estimateur s'effondre à zéro partout carε→0, il n'est donc pas logique d'utiliser négatif ε, qui mettrait l'accent sur les petites valeurs de aencore plus loin et donner une mauvaise distribution postérieure. Certains cas particuliers sont:
a^uni-MMSE-xform=m2+1−−−−−−√,if ε=2,(17)
a^uni-MMSE=a^uni-MMSE-xform=em2/2π−−√I0(m2/2),if ε=1,(18)
approximé au sens large mpar ( voir calcul ) une série Laurent tronquée:
a^uni-MMSE≈m−14m−732m3−59128m5,(19)
Cette approximation asymptotique a une erreur d'amplitude maximale absolue inférieure à 10−6 pour m>7.7.
Les courbes de l'estimateur sont représentées sur la figure 1.

Figure 1. Estimateur a^uni-MMSE-xform en fonction de m pour différentes valeurs de ε, de haut en bas: bleu: ε=2, ce qui minimise l'erreur de puissance quadratique moyenne en supposant un avant uniforme incorrect de la puissance, orange: ε=1, ce qui minimise l'erreur d'amplitude carrée moyenne en supposant un avant uniforme incorrect d'amplitude, vert: ε=12, rouge: ε=14, et violet: ε=18.
À m=0 les courbes sont horizontales avec valeur:
a^uni-MMSE-xform=21−1/ε(Γ(1+ε2))1/επ1/(2ε),if m=0.(20)
À SNR négatif, l'estimateur uni-MMSE-xform peut être paramétré en utilisant ε pour donner une somme d'erreur quadratique inférieure par rapport à l'estimateur de soustraction de puissance spectrale bloquée, avec une pénalité correspondante à des valeurs SNR intermédiaires proches de 7 dB (Fig. 2).



Figure 2. Estimations de Monte Carlo avec un échantillon de 105, de: Solide: gain de la somme de l'erreur quadratique dans l'estimation |Xk| par |Xk|ˆ par rapport à son estimation avec |Yk|,
en pointillés: gain de la somme de l'erreur quadratique dans l'estimation |Xk|2 par |Xk|2ˆ par rapport à son estimation avec |Yk|2, pointillé: gain de la somme de l'erreur quadratique dans l'estimation Xk par |Xk|ˆeiarg(Yk) par rapport à son estimation avec Yk. Bleu: estimateur uni-MMSE-xform avec ε=1 (Haut), ε=12 (milieu), et ε=14, orange: soustraction de puissance spectrale bloquée.
Script Python pour la figure 1
Ce script prolonge le script de la question A.
def est_a_uni_MMSE_xform(m, epsilon):
m = mp.mpf(m)
epsilon = mp.mpf(epsilon)
if epsilon == 0:
return mpf(0)
elif epsilon == 1:
return mp.exp(m**2/2)/(mp.sqrt(mp.pi)*mp.besseli(0, m**2/2))
elif epsilon == 2:
return mp.sqrt(m**2 + 1)
else:
return (mp.gamma(epsilon)*mp.laguerre(-epsilon, 0, m**2) / (mp.gamma(epsilon/2)*mp.laguerre(-epsilon/2, 0, m**2)))**(1/epsilon)
ms = np.arange(0, 6.0625, 0.0625)
est_as_uni_MMSE_xform = [[est_a_uni_MMSE_xform(m, 2) for m in ms], [est_a_uni_MMSE_xform(m, 1) for m in ms], [est_a_uni_MMSE_xform(m, 0.5) for m in ms], [est_a_uni_MMSE_xform(m, 0.25) for m in ms], [est_a_uni_MMSE_xform(m, 0.125) for m in ms]]
plot_est(ms, est_as_uni_MMSE_xform)
Script Python pour la figure 2
Ce script étend le script de la question B. La fonction est_a_uni_MMSE_xform_fastpeut être numériquement instable.
from scipy import special
def est_a_uni_MMSE_fast(m):
return 1/(np.sqrt(np.pi)*special.i0e(m**2/2))
def est_a_uni_MMSE_xform_fast(m, epsilon):
if epsilon == 0:
return 0
elif epsilon == 1:
return 1/(np.sqrt(np.pi)*special.i0e(m**2/2))
elif epsilon == 2:
return np.sqrt(m**2 + 1)
else:
return (special.gamma(epsilon)*special.eval_laguerre(-epsilon, m**2)/(special.gamma(epsilon/2)*special.eval_laguerre(-epsilon/2, m**2)))**(1/epsilon)
gains_SSE_a_uni_MMSE = [est_gain_SSE_a(est_a_uni_MMSE_fast, a, 10**5) for a in as_]
gains_SSE_a2_uni_MMSE = [est_gain_SSE_a2(est_a_uni_MMSE_fast, a, 10**5) for a in as_]
gains_SSE_complex_uni_MMSE = [est_gain_SSE_complex(est_a_uni_MMSE_fast, a, 10**5) for a in as_]
plot_gains_SSE(as_dB, [gains_SSE_a_uni_MMSE, gains_SSE_a_sub], [gains_SSE_a2_uni_MMSE, gains_SSE_a2_sub], [gains_SSE_complex_uni_MMSE, gains_SSE_complex_sub])
gains_SSE_a_uni_MMSE_xform_0e5 = [est_gain_SSE_a(lambda m: est_a_uni_MMSE_xform_fast(m, 0.5), a, 10**5) for a in as_]
gains_SSE_a2_uni_MMSE_xform_0e5 = [est_gain_SSE_a2(lambda m: est_a_uni_MMSE_xform_fast(m, 0.5), a, 10**5) for a in as_]
gains_SSE_complex_uni_MMSE_xform_0e5 = [est_gain_SSE_complex(lambda m: est_a_uni_MMSE_xform_fast(m, 0.5), a, 10**5) for a in as_]
plot_gains_SSE(as_dB, [gains_SSE_a_uni_MMSE_xform_0e5, gains_SSE_a_sub], [gains_SSE_a2_uni_MMSE_xform_0e5, gains_SSE_a2_sub], [gains_SSE_complex_uni_MMSE_xform_0e5, gains_SSE_complex_sub])
gains_SSE_a_uni_MMSE_xform_0e25 = [est_gain_SSE_a(lambda m: est_a_uni_MMSE_xform_fast(m, 0.25), a, 10**5) for a in as_]
gains_SSE_a2_uni_MMSE_xform_0e25 = [est_gain_SSE_a2(lambda m: est_a_uni_MMSE_xform_fast(m, 0.25), a, 10**5) for a in as_]
gains_SSE_complex_uni_MMSE_xform_0e25 = [est_gain_SSE_complex(lambda m: est_a_uni_MMSE_xform_fast(m, 0.25), a, 10**5) for a in as_]
plot_gains_SSE(as_dB, [gains_SSE_a_uni_MMSE_xform_0e25, gains_SSE_a_sub], [gains_SSE_a2_uni_MMSE_xform_0e25, gains_SSE_a2_sub], [gains_SSE_complex_uni_MMSE_xform_0e25, gains_SSE_complex_sub])
Références
Lieve Lauwers, Kurt Barbe, Wendy Van Moer et Rik Pintelon, Analyzing Rice distribué des données d'imagerie par résonance magnétique fonctionnelle: une approche bayésienne , Meas. Sci. Technol. 21 (2010) 115804 (12 pages) DOI: 10.1088 / 0957-0233 / 21/11/115804 .