p.specht
| Sozialforscher versuchen Thesen como "Angehörige bildungsferner Schichten oder de Gebieten con geringer Kaufkraft voluntad selten Generaldirektor" statistisch a ocupar. Damit moderne Clusterungs- y Korrelationsverfahren aber trabajo, necesario sólo el Umfrageskalen (Was bedeutet bildungsfern, qué kaufkraftarm) miteinander wertmäßig vergleichbar gemacht voluntad. Als Verfahren hierzu se gerne el Z-Spaltennormierung herangezogen, el Yo testhalber Schritt para Schritt samt Probe para mejor Nachvollziehen dargestellt habe.
Windowtitle "Spaltenweise z-Normierung a Skalen-Vergleichbarmachung el [n,m]-Erfassungsmatrix uno Umfrage"
'(Copyleft) 2015-04 by P. Pájaro carpintero, Wien. Ohne jede Gewähr!
Windowstyle 24:font 2
Ventana 0,0-%maxx,%maxy
' Dimension el deseado Testmatrix:
Var n&=5:var m&=5
Declarar M![n&-1,m&-1],sum!,s![m&-1],Xm![m&-1],D![n&-1,m&-1],txt$
Declarar Q![n&-1,m&-1],qs![m&-1],v![m&-1],sigma![m&-1],i&,j&,Z_sp![n&-1,m&-1]
Declarar p![m&-1],pz![m&-1],ps![m&-1]'Probevektoren
txt$=" ["+str$(n&)+","+str$(m&)+"]-Testmatrix M, con Zufallswerten belegt"
Selección aleatoria
whileloop 0,n&-1:i&=&Loop
whileloop 0,m&-1:j&=&Loop
M![i&,j&]=rnd(10000)'rnd()*10^(rnd(53)-18)
endwhile
endwhile
Probe2:
imprimir:imprimir txt$;
whileloop 0,n&-1:i&=&Loop
whileloop 0,m&-1:j&=&Loop
imprimir tab(j&*27);format$("%g",M![i&,j&]),
endwhile
endwhile
imprimir
waitinput
txt$=" Zeilenvektor s[] el Spaltensummen de M[,]"
whileloop 0,m&-1:j&=&Loop
sum!=0
whileloop 0,n&-1:i&=&Loop
sum!=sum!+M![i&,j&]
endwhile
s![j&]=sum!
endwhile
imprimir:imprimir txt$;
whileloop 0,m&-1:j&=&Loop
imprimir tab(j&*27);format$("%g",S![j&]),
endwhile
imprimir
waitinput
txt$=" Zeilenvektor Xm[] el Spaltenmittelwerte"
whileloop 0,m&-1:j&=&Loop
xm![j&]=S![j&]/n&
endwhile
imprimir:imprimir txt$;
whileloop 0,m&-1:j&=&Loop
imprimir tab(j&*27);format$("%g",xm![j&]),
endwhile
imprimir
waitinput
txt$=" Matrix D[,] el en Spaltenmitten zentrierten Spalten"
whileloop 0,m&-1:j&=&Loop
whileloop 0,n&-1:i&=&Loop
D![i&,j&]=M![i&,j&]-xm![j&]
endwhile
endwhile
imprimir:imprimir txt$;
whileloop 0,n&-1:i&=&Loop
whileloop 0,m&-1:j&=&Loop
imprimir tab(j&*27);format$("%g",D![i&,j&]),
endwhile
endwhile
imprimir
waitinput
txt$=" Probe: Summe el Zentrierten Werte muss fast 0 ser!"
whileloop 0,m&-1:j&=&Loop
sum!=0
whileloop 0,n&-1:i&=&Loop
sum!=sum!+D![i&,j&]
endwhile
p![j&]=sum!
endwhile
imprimir:imprimir txt$;
whileloop 0,m&-1:j&=&Loop
imprimir tab(j&*27);format$("%g",p![j&]),
endwhile
imprimir
waitinput
txt$=" Matrix Q el Quadrate el (Spaltenmittelwert-zentrierten) Werte D"
Whileloop 0,m&-1:j&=&Loop
whileloop 0,n&-1:i&=&Loop
Q![i&,j&]=sqr(D![i&,j&])
endwhile
endwhile
imprimir:imprimir txt$;
whileloop 0,n&-1:i&=&Loop
whileloop 0,m&-1:j&=&Loop
imprimir tab(j&*27);format$("%g",Q![i&,j&]),
endwhile
endwhile
imprimir
waitinput
txt$=" Zeilenvektor qs[] el Spaltensummen de Q[,]"
whileloop 0,m&-1:j&=&Loop
sum!=0
whileloop 0,n&-1:i&=&Loop
sum!=sum!+Q![i&,j&]
endwhile
qs![j&]=sum!
endwhile
imprimir:imprimir txt$;
whileloop 0,m&-1:j&=&Loop
imprimir tab(j&*27);format$("%g",qs![j&]),
endwhile
imprimir
waitinput
txt$=" Zeilenvektor v[] el Spaltenvarianzen de D[,]"
whileloop 0,m&-1:j&=&Loop
v![j&]=qs![j&]/n&
endwhile
imprimir:imprimir txt$;
whileloop 0,m&-1:j&=&Loop
imprimir tab(j&*27);format$("%g",v![j&]),
endwhile
imprimir
waitinput
txt$=" Zeilenvektor sigma[] el Spalten-Standardabweichungen de D[,]"
whileloop 0,m&-1:j&=&Loop
'caso sigma![j&]<>0
sigma![j&]=sqrt(v![j&])
endwhile
imprimir:imprimir txt$;
whileloop 0,m&-1:j&=&Loop
imprimir tab(j&*27);format$("%g",sigma![j&]),
endwhile
imprimir
waitinput
txt$=" Ergebnismatrix Z_sp el spaltenweise z-normierten Werte el Originalmatrix M"
Whileloop 0,m&-1:j&=&Loop
whileloop 0,n&-1:i&=&Loop
if sigma![j&]<>0
Z_sp![i&,j&]=D![i&,j&]/Sigma![j&]
'más
' imprimir "********** Sigma[";str$(j&);"]=0 ignored! ***************":beep:waitinput
' Z_sp![i&,j&]=D![i&,j&]
endif
endwhile
endwhile
:::::::::::::::::::cls
imprimir:imprimir txt$;
whileloop 0,n&-1:i&=&Loop
whileloop 0,m&-1:j&=&Loop
imprimir tab(j&*27);format$("%g",Z_sp![i&,j&]),
endwhile
endwhile
imprimir
waitinput
txt$=" Probe 1: Summe el Z-normierten Spaltenwerte muss nahe 0 ser!"
whileloop 0,m&-1:j&=&Loop
sum!=0
whileloop 0,n&-1:i&=&Loop
sum!=sum!+Z_sp![i&,j&]
endwhile
pz![j&]=sum!
endwhile
imprimir:imprimir txt$;
whileloop 0,m&-1:j&=&Loop
imprimir tab(j&*27);format$("%g",pz![j&]),
endwhile
imprimir
waitinput
imprimir
imprimir " Probe 2: El Standardabweichung el Spaltenwerte de Z_sp[,] muss 1 ergeben."
imprimir " Dazu se Z_sp en M geladen y el Programa nochmals comenzó! "
waitinput
whileloop 0,m&-1:j&=&Loop
whileloop 0,n&-1:i&=&Loop
M![i&,j&]=Z_sp![i&,j&]
endwhile
endwhile
txt$=" El ["+str$(n&)+","+str$(m&)+"]-Testmatrix M es nun con el Z-normierten Werten belegt."
cls
GOTO "Probe2"
FIN
|
|