Page 1 of 1

Calcul Skewness et Kurtosis- TI89 Platinium

Unread postPosted: 04 Nov 2014, 18:27
by reda.h75
Bonjour,

J'ai besoin de votre aide car j'ai un petit problème avec ma TI-89 Platinium.
J'ai trouvé un petit programme qui permet de calculer l'espérance, la variance et l'écart-type d'une liste donnée.
Simplement, j'aurais aimé le compléter et obtenir par la suite la Skewness et la Kurtosis (i.e. les moments centrés réduits d'ordre 3 et 4).
Pour fixer les idées, voici les définitions des données ci-dessus:
Variance:
Image
Skewness:
Image
Kurtosis:
Image
J'ai essayé de compléter le texte du programme à ma sauce mais cela me donne des valeurs complètements fausses pour la Skewness et la Kurtosis.
Quelqu'un saurait-il quelles lignes rédiger pour obtenir ces deux valeurs ?

Voilà le texte du programme en question:

Code: Select all
Prgm

Local a,b,c,d,bbb,ccc,abc,bcd,xyz,epp,exx,k,eve

Lbl def
Dialog
Title "VARIABLES ALEATOIRES"
Text "Nombre d'eventualites"
Text ""
Request " → ",eve
EndDlog
If eve="0" Then
Goto def
EndIf
expr(eve)→eve
newList(eve)→exx
newList(eve)→epp
ClrIO
0→a
Lbl deb
a+1→a

Input "x"&string(a),b
Input "probabilité de x"&string(a),c
b→exx[a]
c→epp[a]
If a=eve Then
Goto aaa
EndIf
Goto deb

Lbl aaa
exx*epp→bbb

0→abc
0→d
Lbl eee
d+1→d
bbb[d]+abc→abc
If d=eve Then
Goto ggg
EndIf
Goto eee

Lbl ggg
Disp "Espérance:","E(x)="&string(abc)
Disp "    ="&string(approx(abc))
Pause


0→bcd
0→k
Lbl hhh
k+1→k
bbb[k]*exx[k]+bcd→bcd
If k=eve Then
Goto iii
EndIf
Goto hhh

Lbl iii
Disp "Variance:","V(x)="&string(bcd-abc^2)
Disp "    ="&string(approx(bcd-abc^2))
Pause

Disp "Ecart type:","σ(x)="&string(√(bcd-abc^2)),"    ="&string(approx(√(bcd-abc^2)))
Pause

Disp "Skewness:","SK(x)="&string((bcd-abc^3)/√(bcd-abc^2)^3),"    ="&string(approx((bcd-abc^3)/√(bcd-abc^2)^3)
Pause

Disp "Kurtosis:","KR(x)="&string((bcd-abc^4)/√(bcd-abc^2)^4),"    ="&string(approx((bcd-abc^4)/√(bcd-abc^2)^4)
Pause


DispHome
EndPrgm


Merci pour votre aide !

Re: Calcul Skewness et Kurtosis- TI89 Platinium

Unread postPosted: 04 Nov 2014, 20:15
by reda.h75
J'ai trouvé un programme....mais celui-ci n'est compatible qu'avec les TI-83/84
Lorsque je le tape dans l'éditeur de programme et que j'essaie de l'exécuter sur ma TI-89, cela me donne "Syntax error".
Une idée de solution ?

Code: Select all
File Name: SKURT.8XP Type: Program Protected: No
Comment:Program file dated 01/12/08, 04:02
ClrHome
Disp "COPYRIGHT 2008","BY STAN BROWN","WWW.OAKROADSYSTE","MS.COM",""
Input "DATA LIST: ",3D
Disp "IS A FREQ DISTR?"
Lbl 99
Input "9=YES,0=NO: ",M
If M=9:Then
Input "FREQ LIST: ",3F
sum(3F)<N
Else
If M=0:Goto 99
dim(3D)<N
N<dim(3F)
Fill(1,3F)
End
If N<4:Disp "SAMPLE SIZE","MUST BE >3"
If N<4:Stop
ClrHome
B(6*N*(N-1)/(N-2)/(N+1)/(N+3))<E
2E*B((NG-1)/(N-3)/(N+5))<F
mean(3D,3F)<M
sum((3D-M)G*3F)/N<V
sum((3D-M)^3*3F)/N<X
X/V^1.5<S
StoreGDB 0
GridOff:AxesOff:FnOff :PlotsOff :ClrDraw
Text(0,0,"N=",N)
Text(10,0,"MEAN M=",M)
Text(20,0,"STD DEV: ",B(V))
Text(31,0,"VARIANCE V=",V)
Text(57,48,"PRESS ENTER...")
Pause :ClrDraw
Text(0,0,"3RD MOMENT: ",X)
Text(10,0,"SKEWNESS S=",S)
Text(20,0,"STD ERROR E=",E)
Text(31,0,"STATISTIC S/E: ",round(S/E,2))
Text(57,48,"PRESS ENTER...")
Pause :ClrDraw
sum((3D-M)^4*3F)/N<X
X/VG<K
Text(0,0,"4TH MOMENT: ",X)
Text(10,0,"KURTOSIS K=",K)
Text(20,0,"EXCESS, K-3: ",K-3)
Text(31,0,"STD ERROR F=",F)
Text(41,0,"STATISTIC (K-3)/F: ",round((K-3)/F,2))
Text(57,48,"PRESS ENTER...")
Pause
RecallGDB 0
DelVar GDB0
ClrHome

Re: Calcul Skewness et Kurtosis- TI89 Platinium

Unread postPosted: 04 Nov 2014, 20:21
by Lionel Debroux
Les BASIC des TI-Z80 et des TI-68k sont très différents, il faut traduire complètement le programme écrit pour une famille pour qu'il s'exécute sur l'autre famille.

Note qu'avec une 89T, tu peux utiliser des noms de variables jusqu'à 8 caractères, potentiellement plus parlants que "bbb", "ccc", "abc", "bcd", "xyz" :)

Re: Calcul Skewness et Kurtosis- TI89 Platinium

Unread postPosted: 04 Nov 2014, 20:31
by reda.h75
Par exemple pour que la calculatrice garde en mémoire la valeur de l'écart-type et que je puisse la réutiliser plus simplement dans le calcul de la skewness, quelle commande devrais-je écrire ? Désolé je découvre vraiment ce langage de programmation