Avatar billede jakwag Nybegynder
27. juli 2005 - 13:39 Der er 16 kommentarer og
2 løsninger

sorter ekstremer fra

Hej

Jeg har en array:

[20, 21, 19, 4, 20, 22, 40, 18]

Nu skal jeg lave et script der finder ud af at de fleste værdier ligger på omkring 20, så 4 og 40 er ekstremer.

Nogle gode ideer??

: ) Jakob
Avatar billede barklund Nybegynder
27. juli 2005 - 13:46 #1
Puha, det er jo noget med statistik, middel, standard afvigelse og så videre. Jeg skal gerne finde nogle formler frem i en eller anden forlængst glemt bog, hvis du har brug for det :)
Avatar billede jakwag Nybegynder
27. juli 2005 - 13:48 #2
meget gerne, hvis du har noget der lige passer... og som du mener folk som jeg kan forstå ;)
Avatar billede imago-dei Nybegynder
27. juli 2005 - 13:53 #3
Ekstremer er et relativt begreb. I nogle tilfælde kan ekstremer være 10% ved siden af middel og i andre tilfælde 1000% ved siden af.

Du bliver derfor nødt til at bestemme dig for hvad du vil lægge i begrebet ekstremer. Er det f.eks. alt som er uden for én standardafvigelse? Eller udenfor 2 gange standardafvigelsen?

Helt enkelt: Definér begrebet ekstremer.
Avatar billede barklund Nybegynder
27. juli 2005 - 14:03 #4
Altså, du kan jo forholdsvist let finde gennemsnittet. Derefter løber du alle observationer igennem og finder variansen, og kvadratroden heraf er standard afvigelsen. Så kan du så løbe alle elementer igennem og rangere dem efter deres afvigelse i forhold til standardafvigelsen.

Men du kan så filtrere ud i listen på flere måder:

- Enten ved at sige, at de 10% af observationerne, der afviger mest er ekstremer, der skal sorteres fra (så sorteres der altid 10% fra uden hensyntagen til, hvor langt væk eller tæt på de er - det er blot de 10% længst væk)

- Eller du kan filtrere alle observationer ud, der er længere væk fra middel end x gange standardafvigelsen.

- Eller du kan kræve en standardafvigelse på max X og derved sortere alle dem ud, der ødelægger dette.

- Du kan også finde en distribution, som dine observationer burde følge og sortere ekstremer væk på denne vis.

Der er faktisk ret mange muligheder :)

--
Morten Barklund
Avatar billede jakwag Nybegynder
27. juli 2005 - 14:04 #5
imago-dei > Yep, og lige præcis dét er det svære. Functionen skal selv analyserer arrayen og "opdage" at værdierne "klumper" sammen omkring de 20, så i forhold til klumpen er 4 og 40 ekstremer.

Vores hjerne kan hurtigt gennemskue når vi kigger på dem at det er 4 og 40 der er ekstremer. Derfor er der en logik der kan udregnes. Spørgsmålet er selvfølgeelig om mine eller andres matematiske evner rækker.

Det er tricky, helt sikkert, derfor spørger jeg.
Avatar billede jakwag Nybegynder
27. juli 2005 - 14:08 #6
ideen med:
Eller du kan filtrere alle observationer ud, der er længere væk fra middel end x gange standardafvigelsen.

lyder som en god ide. Ser om jeg kan lave så et script. Men du er selvfølgelig velkommen til selv at give et bud :)
Avatar billede barklund Nybegynder
27. juli 2005 - 14:11 #7
Jakwag, hvad nu hvis det er tallene 19,20,21,40,4000 - 4000 er helt klart ekstrem, men er 40 også?

Du kan ikke bare sige, at det kan man bare "se" - nej, du er nødt til at vedtage, hvornår det er ekstremt - også for at du selv kan se det.
Avatar billede jakwag Nybegynder
27. juli 2005 - 14:23 #8
tja, i har ret. Misforstod det imago-dei sagde (sorry). det skal man naturligvis. men så kan man sige at 300% af standard afvigelsen er en ekstrem

hhhhmmmm... godt jeg aldrig blev matematisk...:D

hvad nu hvis man kun har tre tal...

20,21,4000

min logik siger straks at 4000 er en ekstrem, men... ja, jeg ved det sgu ikke, det kan godt være at jeg skal finde på noget andet.

:|
Avatar billede imago-dei Nybegynder
27. juli 2005 - 14:25 #9
Som barklund siger det er _meget_ relativt hvad ekstremer er. Hvis du havde et 11 tal i dine tal i dit første indlæg, eller et 14 tal, ville du så tælle det med i dine ekstremer eller ej? Det er spørgsmålet, og det kan kun løses ved at du selv definerer hvad du vil lægge i ekstremer.

Og hvad hvis du har din talrække ovenover og får tallene 1, 2, 4, 6, 2, 2, 4, 9, 13, 35, 42, 38, 33 med også? HVad er så ekstremer?

Pointen er at kun en matematisk definition kan løse problemet. Og den definition kan laves på mange måder.

Men som sagt x antal standardafvigelsen er et godt bud.
Avatar billede jakwag Nybegynder
27. juli 2005 - 14:25 #10
lad mig lige tænke mig ordentligt om, så kan det være jeg spørger igen :)
Avatar billede barklund Nybegynder
27. juli 2005 - 14:26 #11
Tja, så ved du jo lige pludselig noget, som jeg ikke ved - du ved at "midten" ligger omkring 20.  Hvis du har noget viden i den grad, så kan vi sagtens implementere det - men rent statistisk er 20,21,4000 er ret nytteløs liste - alt er ekstremt :)
Avatar billede jakwag Nybegynder
27. juli 2005 - 14:29 #12
ja, præcis. 20 og 21 kunne ligeså godt være ekstremer. imago dei, dit eksempel er osse godt, hvis man ikke kender den ca ønskede så er det jo umuligt.

... dette lød så simpelt da jeg spurgte :)
Avatar billede jakwag Nybegynder
27. juli 2005 - 14:34 #13
jeg kommer til at droppe det her igen. Man skal enten bruge en middel værdi, som jeg ikke kender, eller have i hvert fald en 6 - 10 forskellige værdier, som jeg ikke nødvendigvis har. Ellers vil det ikke være til at stole på.

Tak for jeres tid. Smid bare svar begge to.
Avatar billede barklund Nybegynder
27. juli 2005 - 14:38 #14
6-10 værdier er stadig _meget_ lidt for at kunne udtale sig om ekstremer - eller dårlige observationer.

Hvis du har 100+ værdier, så er det straks bedre at kunne sige noget fornuftigt om - og så giver det også rent statistisk bedre mening :)
Avatar billede jakwag Nybegynder
27. juli 2005 - 14:40 #15
ja, og det kommer man aldrig til i det hvor jeg skal bruge det
Avatar billede imago-dei Nybegynder
27. juli 2005 - 14:55 #16
Her er et svar.

Og undskyld at vi ødelagde din idé :)
Avatar billede imago-dei Nybegynder
27. juli 2005 - 14:56 #17
Er jo ikke nok kun at skrive svar i beskeden.

Her var så et svar
Avatar billede jakwag Nybegynder
27. juli 2005 - 16:13 #18
:D helt ok - det var jo åbenbart en dårlig ide.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB