Just nu i M3-nätverket
Gå till innehåll

slumptal


KJwakee

Rekommendera Poster

Hej!

 

Har en förmodligen väldigt enkel fråga:

 

Jag vill generera ett antal slumptal, säg 30st på en rad, vars summa alltid ska bli 1, hur gör jag då?

 

Tack på förhand!

 

/KJ

Länk till kommentar
Dela på andra webbplatser

Enkel, nej...

Det blir någon form av iterativ/rekursiv process.

Helt slumpmässig kan den heller inte vara då värden blir beroende av föregående värde.

 

Om vi tar 30 tal, summa max 1 blir medelvärdet för talen 0,03333

Om vi antar jämnt fördelade slumptal kan du testa att skriva

=SLUMP()/15

summan av dessa, över 30 celler, blir i häften av fallen över ett och hälften under 1. I medel.

 

Duger det?

Om du alltid vill få det så nära ett som möjligt kan du roa dig med målsökning fast helt korrekt blir det inte.

Länk till kommentar
Dela på andra webbplatser

Nja, tror tyvärr inte det blir rätt, summan måste bli 1 alltså 100%.

 

Det är en slumpad procentuell fördelning jag vill ha fram att jämföra med mina observerade värden.

 

I lite mindre skala med 5 observationer istället för 30: 0.1 + 0.3 + 0.05 + 0.25 + 0.3 = 1 = 100%

 

Detta vill jag göra som slumpmässig fördelning.

 

Är dålig på att förklara men hoppas det framgår vad jag är ute efter.

 

/KJ

Länk till kommentar
Dela på andra webbplatser

Som sagt, inte lätt. Ren slump blir det ju inte heller. Iofs kan man inte alls klassa Excel slump som helt slumpmässig.

 

Slumptal är per definition jämnt fördelade mellan givet max och min.

Om du tar Excel SLUMP() blir denna i medel 0,5 om du har tillräckligt många tal. Summan över, säg, 500 tal är därmed i medel 250. Den kan vara större, den kan vara mindre men över tid går den mot 250.

 

 

Så hur ska vi lösa detta? Första steget är att fråga dig om du verkligen måste ha en slump som summeras till vist tal? Du kan inte släppa på villkoret och nöja dig med en som är mindre än ett visst tal? Det är sannolikare...

 

Jadu, inte alls ett enkelt problem om det ska bli exakt ett. Första talet blir rent slumpmässig, men resten blir beroende av detta.

säg att första talet blir 0,4, andra 0,35, tredje 0,2. Då har du summa 0,95. Redan.

Då vet du att nästa två tal måste ha medel 0,025...de blir beroende.

 

vad är det du ska göra? Vad är det för problem du ska lösa? Bästa är om du kan lösa det på annat vis.

Länk till kommentar
Dela på andra webbplatser

Vad är det du ska göra? Vad är det för problem du ska lösa? Bästa är om du kan lösa det på annat vis.

 

Jag har en fundering.

 

Generera 30 tal, summera alla talen och räkna ut varje tals del (i procent av helheten). Det borde/ska ge en summa på 1.

 

Men jag är rädd för att det blir cirkelreferenser...

 

Ska kolla och återkomma.

 

/Pär B

 

Red:

Det fungerade, se bilagan.

slumptal_summa_1.xls

Länk till kommentar
Dela på andra webbplatser

Det var faktiskt en mycket kreativ lösning, men tyvärr blir det lite fel på fördelningen. Eftersom summan av de utslumpade talen kommer att ligga över 10 och ett enskilt värde i serien max kan vara 0,99 blir det maximala procentvärdet du kan uppnå alltid mindre än 0,09. Du ser även att lägre värden är mer representerade och att 0,09 inte förekommer.

 

Summan av 30 slumptal mellan 0,00 och 0,09 måste även över tiden gå mot 1,5 och inte 1.

Länk till kommentar
Dela på andra webbplatser

Det var faktiskt en mycket kreativ lösning, men tyvärr blir det lite fel på fördelningen. Eftersom summan av de utslumpade talen kommer att ligga över 10 och ett enskilt värde i serien max kan vara 0,99 blir det maximala procentvärdet du kan uppnå alltid mindre än 0,09. Du ser även att lägre värden är mer representerade och att 0,09 inte förekommer.

 

Summan av 30 slumptal mellan 0,00 och 0,09 måste även över tiden gå mot 1,5 och inte 1.

 

 

Vad det gäller fördelningen är det nog bara KJ som kan svara på hur de observationer uppstår som han vill simulera.

Men det är ju helt sant att min metod inte generar värden större än ~1/15.

 

Om man istället ska ge ett unikt värde möjlighet att ta 99% av helheten och låta övriga 29 värden dela på resterande 1% så blir det ju fråga om en mer eller mindre ordnad lista av värden, där majoriteten kommer att vara mycket små.

 

Jag har uppdaterat min kalkyl med ett sådant exempel där slumptalen ligger i kolumn E.

Dessutom med två modifierade varianter med ett högsta värde på slumptalet, den andra av dessa sätter den näst sista resten som värde på sista "slumptalet" för att garantera att summan blir 1.

 

De värden som genreras i dessa nya varianter kan givetvis sedan "blandas" för att undvika den större till mindre trend som oundvikligen blir resultatet av den principiella modellen.

 

/Pär B

slumptal_summa_1.xls

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...