Signal- und Messdatenverarbeitung


Momente incl. Korrelationskoeffizient reeller Zufallsgrößen, mit Gewichtung

Python Matlab/Octave
Vorbereitung (Laden von Modulen/Paketen)
from numpy import *
from numpy.random import *
from matplotlib.pyplot import *
%Octave: pkg load statistics
%Matlab: erfordert die Statistics and Machine Learning Toolbox
Generieren von N Werten xi mit i=0N1 (normalverteilte Zufallsgröße als Beispiel, mit dem Erwartungswert μ=3 und der Standardabweichung σ=1) mit einer vom Wert abhängigen Annahmewahrscheinlichkeit (verschobene Sigmoidfunktion als Beispiel)
N=100
mu=3
sigma=1
x=zeros(N)
for i in range(0,N):
  x[i]=normal(mu,sigma)
  while random()>1/(1+exp(-(x[i]-mu))):
    x[i]=normal(mu,sigma)
  

plot(x,'o')
show()
N=100;
mu=3;
sigma=1;
x=zeros(1,N);
for i=1:N
x(i)=normrnd(mu,sigma);
while rand>1/(1+exp(-(x(i)-mu)))
x(i)=normrnd(mu,sigma);
end
end
plot(x,'o')
Generieren von N Gewichten gi mit i=0N1, passend zu den xi mit i=0N1 mit invertierter Annahmewahrscheinlichkeit (verschobene Sigmoidfunktion)
g=1+exp(-(x-mu))
plot(g,'o')
show()
g=1+exp(-(x-mu));
plot(g,'o')
Mittelwert γ1=i=0N1gi
x=1γ1(i=0N1gixi)
gamma1=float(sum(g))
sum(g*x)/gamma1
gamma1=sum(g);
sum(g.*x)/gamma1
Varianz (ohne Bessel-Korrektur, asymptotisch erwartungstreu) γ1=i=0N1gi
s2=1γ1[i=0N1gi(xix)2]=1γ1(i=0N1gixi2)x2=1γ1(i=0N1gixi2)1γ12(i=0N1gixi)
gamma1=float(sum(g))
sum(g*x**2)/gamma1-(sum(g*x)/gamma1)**2
gamma1=sum(g);
sum(g.*x.^2)/gamma1-(sum(g.*x)/gamma1)^2
Varianz (mit Bessel-Korrektur, nur für unabhängige xi erwartungstreu) γ1=i=0N1gi
γ2=i=0N1gi2
s2=γ1γ12γ2[i=0N1gi(xix)2]=γ1γ12γ2[(i=0N1gixi2)γ1x2]
=1γ12γ2[γ1(i=0N1gixi2)(i=0N1gixi)2]
gamma1=float(sum(g))
gamma2=float(sum(g**2))
(gamma1*sum(g*x**2)-sum(g*x)**2)/(gamma1**2-gamma2)
gamma1=sum(g);
gamma2=sum(g.^2);
(gamma1*sum(g.*x.^2)-sum(g.*x)^2)/(gamma1^2-gamma2)
Zentralmoment dritten Grades (ohne Bessel-Korrektur, asymptotisch erwartungstreu) γ1=i=0N1gi
μ̂3=1γ1[i=0N1gi(xix)3]=1γ1(i=0N1gixi3)3xγ1(i=0N1gixi2)+2x3
=1γ1(i=0N1gixi3)3γ12(i=0N1gixi)(i=0N1gixi2)+2γ13(i=0N1gixi)3
gamma1=float(sum(g))
sum(g*x**3)/gamma1-3*sum(g*x)*sum(g*x**2)/gamma1**2+2*(sum(g*x)/gamma1)**3
gamma1=sum(g);
sum(g.*x.^3)/gamma1-3*sum(g.*x)*sum(g.*x.^2)/gamma1^2+2*(sum(g.*x)/gamma1)^3
Zentralmoment dritten Grades (mit Bessel-Korrektur, nur für unabhängige xi erwartungstreu) γ1=i=0N1gi
γ2=i=0N1gi2
γ3=i=0N1gi3
μ̂3=γ1γ133γ1γ2+2γ3[i=0N1gi(xix)3]=γ12γ133γ1γ2+2γ3[(i=0N1gixi3)3x(i=0N1gixi2)+2γ1x3]
=1γ133γ1γ2+2γ3[γ12(i=0N1gixi3)3γ1(i=0N1gixi)(i=0N1gixi2)+2(i=0N1gixi)3]
gamma1=float(sum(g))
gamma2=float(sum(g**2))
gamma3=float(sum(g**3))
(gamma1**2*sum(g*x**3)-3*gamma1*sum(g*x)*sum(g*x**2)+2*sum(g*x)**3)/(gamma1**3-3*gamma1*gamma2-2*gamma3)
gamma1=sum(g);
gamma2=sum(g.^2);
gamma3=sum(g.^3);
(gamma1^2*sum(g.*x.^3)-3*gamma1*sum(g.*x)*sum(g.*x.^2)+2*sum(g.*x)^3)/(gamma1^3-3*gamma1*gamma2-2*gamma3)
Zentralmoment vierten Grades (ohne Bessel-Korrektur, asymptotisch erwartungstreu) γ1=i=0N1gi
μ̂4=1γ1[i=0N1gi(xix)4]=1γ1(i=0N1gixi4)4xγ1(i=0N1gixi3)+6x2γ1(i=0N1gixi2)3x4
=1γ1(i=0N1gixi4)4γ12(i=0N1gixi)(i=0N1gixi3)+6γ13(i=0N1gixi)2(i=0N1gixi2)3γ14(i=0N1gixi)4
gamma1=float(sum(g))
sum(g*x**4)/gamma1-4*sum(g*x)*sum(g*x**3)/gamma1**2+6*sum(g*x)**2*sum(g*x**2)/gamma1**3-3*(sum(g*x)/gamma1)**4
gamma1=sum(g);
sum(g.*x.^4)/gamma1-4*sum(g.*x)*sum(g.*x.^3)/gamma1^2+6*sum(g.*x)^2*sum(g.*x.^2)/gamma1^3-3*(sum(g.*x)/gamma1)^4
Zentralmoment vierten Grades (mit Bessel-Korrektur, nur für unabhängige xi erwartungstreu) γ1=i=0N1gi
γ2=i=0N1gi2
γ3=i=0N1gi3
γ4=i=0N1gi4
u=γ176γ15γ2+12γ13γ2212γ12γ2γ39γ1γ23+9γ1γ2γ4+6γ22γ3+4γ14γ3+4γ1γ326γ3γ43γ13γ4(γ12γ2)(γ133γ1γ2+2γ3)(γ146γ12γ2+8γ1γ3+3γ226γ4)
v=9γ13γ2210γ12γ2γ39γ1γ23+9γ1γ2γ4+4γ1γ326γ3γ43γ13γ42γ15γ2+2γ14γ3+6γ22γ3(γ12γ2)(γ133γ1γ2+2γ3)(γ146γ12γ2+8γ1γ3+3γ226γ4)
μ̂4=γ13γ146γ12γ2+8γ1γ3+3γ226γ4[i=0N1gi(xix)4]
+v[γ1(i=0N1gixi4)4(i=0N1gixi)(i=0N1gixi3)+3(i=0N1gixi2)2]
=u[γ1(i=0N1gixi4)4(i=0N1gixi)(i=0N1gixi3)]+3v(i=0N1gixi2)2
+3γ146γ12γ2+8γ1γ3+3γ226γ4[2γ1(i=0N1gixi)2(i=0N1gixi2)(i=0N1gixi)4]
gamma1=float(sum(g))
gamma2=float(sum(g**2))
gamma3=float(sum(g**3))
gamma4=float(sum(g**4))
(gamma1**7-6*gamma1**5*gamma2+12*gamma1**3*gamma2**2-12*gamma1**2*gamma2*gamma3-9*gamma1*gamma2**3+9*gamma1*gamma2*gamma4+6*gamma2**2*gamma3+4*gamma1**4*gamma3+4*gamma1*gamma3**2-6*gamma3*gamma4-3*gamma1**3*gamma4)/((gamma1**2-gamma2)*(gamma1**3-3*gamma1*gamma2+2*gamma3)*(gamma1**4-6*gamma1**2*gamma2+8*gamma1*gamma3+3*gamma2**2-6*gamma4))*(gamma1*sum(g*x**4)-4*sum(g*x)*sum(g*x**3))+3*(9*gamma1**3*gamma2**2-10*gamma1**2*gamma2*gamma3-9*gamma1*gamma2**3+9*gamma1*gamma2*gamma4+4*gamma1*gamma3**2-6*gamma3*gamma4-3*gamma1**3*gamma4-2*gamma1**5*gamma2+2*gamma1**4*gamma3+6*gamma2**2*gamma3)/((gamma1**2-gamma2)*(gamma1**3-3*gamma1*gamma2+2*gamma3)*(gamma1**4-6*gamma1**2*gamma2+8*gamma1*gamma3+3*gamma2**2-6*gamma4))*sum(g*x**2)**2+3/(gamma1**4-6*gamma1**2*gamma2+8*gamma1*gamma3+3*gamma2**2-6*gamma4)*(2*gamma1*sum(g*x)**2*sum(g*x**2)-sum(g*x)**4)
gamma1=sum(g);
gamma2=sum(g.^2);
gamma3=sum(g.^3);
gamma4=sum(g.^4);
(gamma1^7-6*gamma1^5*gamma2+12*gamma1^3*gamma2^2-12*gamma1^2*gamma2*gamma3-9*gamma1*gamma2^3+9*gamma1*gamma2*gamma4+6*gamma2^2*gamma3+4*gamma1^4*gamma3+4*gamma1*gamma3^2-6*gamma3*gamma4-3*gamma1^3*gamma4)/((gamma1^2-gamma2)*(gamma1^3-3*gamma1*gamma2+2*gamma3)*(gamma1^4-6*gamma1^2*gamma2+8*gamma1*gamma3+3*gamma2^2-6*gamma4))*(gamma1*sum(g.*x.^4)-4*sum(g.*x)*sum(g.*x.^3))+3*(9*gamma1^3*gamma2^2-10*gamma1^2*gamma2*gamma3-9*gamma1*gamma2^3+9*gamma1*gamma2*gamma4+4*gamma1*gamma3^2-6*gamma3*gamma4-3*gamma1^3*gamma4-2*gamma1^5*gamma2+2*gamma1^4*gamma3+6*gamma2^2*gamma3)/((gamma1^2-gamma2)*(gamma1^3-3*gamma1*gamma2+2*gamma3)*(gamma1^4-6*gamma1^2*gamma2+8*gamma1*gamma3+3*gamma2^2-6*gamma4))*sum(g.*x.^2)^2+3/(gamma1^4-6*gamma1^2*gamma2+8*gamma1*gamma3+3*gamma2^2-6*gamma4)*(2*gamma1*sum(g.*x)^2*sum(g.*x.^2)-sum(g.*x)^4)
Varianz (mit Bessel-Korrektur für korrelierte Daten, erwartungstreu, nur für Leistungssignale, s. hier)
Korrelationskoeffizient (nur für zwei Signale oder Zufallsgrößen, s. hier für Leistungssignale oder hier für periodische Signale)