Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
880to884
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Normalverteilung im Intervall

Normalverteilung im Intervall
26.06.2007 16:30:00
HansW
Hallo liebe Excelgemeinde,
aktuell stehe ich etwas auf dem Schlauch und würde mich freuen, falls mir der Ein oder Andere den nötigen Schubs geben könnte um vom Schlauch runter zu kommen
Mein Ziel ist es Zufallszahlen auszugeben, die „Normal- verteilt“ sind. Das bekomme ich noch hin über: =NORMINV(ZUFALLSZAHL();10;3) wobei 10 ja meinem Erwartungswert und 3 meiner Standardabweihung entspricht. Nun kommt aber der Haken- ich würde gerne die Normalverteilung so aufbauen, dass sie in einem Intervall wie z.B. [0;20] liegt(also die Gauskurve Werte von 0 bis 20 annehmen kann).
Hat jemand von Euch einen Einfall wie ich dieses Problem lösen kann?
Viele Grüße,
Hans

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Normalverteilung im Intervall
26.06.2007 16:48:18
Beverly
Hi Hans,
evtl. hilft folgendes: schreibe in eine Zelle =ZUFALLSZAHL()*20 und bei der Normalverteilung beziehst du dich auf diese Zelle.
________________________________________

AW: Normalverteilung im Intervall
26.06.2007 17:06:00
HansW
Hi Karin, leider macht das nicht so viel Sinn, da die Funktion mit einer Prozent Zahl rechnet- wenn die somit größer 1 ist, dann kommt ein Fehler raus! Man muß also irgendwie die Normalverteilung stutzen können!

AW: Normalverteilung im Intervall
26.06.2007 19:28:00
ingUR
Hallo, Hans,
so recht verstehe ich Dein Ansinnen nicht, denn bei einem Mittelwert von 10 und einer Standardabzeichung von 3, zeichnet sich eine Normalverteilung auch dadurch aus, dass in nur ca. 43 von 10.000 Versuchen Werwt kleiner als Null und größer als 20 zu erwarten sein werden.
Nun könnte man einfach hergehen, und alle Ergebnisse ausblenden , die eine Wahrscheinlichkeit von kleiner 0,0514% =NORMVERT(0;10;3;0) haben. Nur ist dieses mit EXCEL-Zellenformeln wohl nicht so leicht möglich, da Du ein gültiges Ergebnis mit dieser aktuellen Zufallszahl in der Zelle liefern mußt.
Hier würde wohl nur möglich sein, die Datenreihe aufzubauen und dann über den Autofilter die Ergebnisse kleine 0 und größer 20 auszublenden, eben die möglichen 86 Fälle bei 10.000.
In einer VBA-Prozedur würden hingegen ein Werte berechnet und zwischengespeichert werden können, und erfüllt der Wert nicht die Kriterien zwischen [0:20] zu liegen. wird er verworfen und ein neuer Versuch wird berechnet.
Gruß,
Uwe

Anzeige
AW: Normalverteilung im Intervall
26.06.2007 20:19:00
HansW
Hallo Uwe,
ich habe mir Deinen Vorschlag sehr zu Herzen genommen!Ich habe jetzt folgende Lösung gefunden:
Mein Code lautet:
Sub Makro1() '=NORMINV($I$3;10;3) Dim str1 As String Dim int1 As Integer int1 = 2 str1 = "F" & int1 Do While (IsEmpty(Range(str1).Value) = False) Do While (Range("I3").Value > Range("I2").Value) Range(str1).Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues Range("I3").Formula = "=Rand()" 'Range("I3").Calculate Calculate int1 = int1 + 1 str1 = "F" & int1 Range(str1).Select Exit Do Range("I3").Formula = "=Rand()" Application.CutCopyMode = False Exit Do Loop Loop End Sub


Und mein Zellen sind wie folgend gefüllt:
F2 : F... =NORMINV($I$3;10;3) (als Beispiel kann man z.B. F2 bis F6 nehmen)
I2 = 0,00043
I3 = ZUFALLSZAHL()
Allerdings habe ich das Problem, dass ich meinem Excel nicht sagen kann, nur jeweils die jeweilige Zelle zu berechnen (ich habe den Code dafür mit dem Kommentarzeichen markiert). Aktuell berechnet Excel dann meine gesamte Arbeitsmappe. Das macht natürlich den ganzen Rechner wahnsinnig langsam (vor allem da ich extrem viele Datensätze berechnen muss).
Kennst Du eine Art und Weise, wie man dieses Problem lösen kann?
Vielen herzlichen Dank für Deine Hilfe und viele Grüße,
Hans

Anzeige
AW: Normalverteilung im Intervall
26.06.2007 21:11:00
ingUR
Hallo, Hans,
wie Deine Mappe aufgebaut ist, kann ich nach Deinen Angaben noch nicht einschätzen.
Als ich meinen VBA-Gedanken ins Spiel brachte, schwebte mir eine benutzerdefinierte Funktion vor, die als Zellenfunktion eingesetzt wird:
Option Explicit Function NorminvRandom_bereich(ByRef m As Double, ByRef s As Double, _ ByRef b1 As Double, ByRef b2 As Double) As Double Dim v As Double, rngC As Range Randomize Do v = Application.WorksheetFunction.NormInv(Rnd(), m, s) Loop While v b2 Norminv_bereich = v End Function

Die Zellenformel übergibt an die VBA-Prozedur die beiden Parameter Mittelwert und Standardabweichung für die Normalverteilung und die beiden zusätzlichen Parameter für die Bereichsgrenzen
F2 : =norminvRandom_bereich( m; s; b1; b2 )
m := Mittelwert
s := Standardabweichung
b1 := untere Bereichsgrenze
b2 := obere Bereichsgrenze
Vielleicht kannst Du dieses Funktion einsetzen, wobei allerdings die Aktuallisierung der Berechnungen über die Extra::Optionen::Berechne-Einstellungen gesteuert werden kann.
Gruß,
Uwe

Anzeige
AW: Normalverteilung im Intervall
26.06.2007 23:01:00
ingUR
Hallo, Hans,
hier einmal die Gegenüberstellung beider Zellenformel:
 
 ABCDE
1  Ereignisse1000010000
2     
3  Werte < 030
4  Werte > 2030
5     
6  max21,231750219,7369775
710,65178716,80771452min-1,532101780,29620085
Formeln der Tabelle
D1 : =ANZAHL(A:A)
E1 : =ANZAHL(B:B)
D3 : =ZÄHLENWENN(A:A;"<0")
E3 : =ZÄHLENWENN(B:B;"<0")
D4 : =ZÄHLENWENN(A:A;">20")
E4 : =ZÄHLENWENN(B:B;">20")
D6 : =MAX(A:A)
E6 : =MAX(B:B)
A7 : =NORMINV(ZUFALLSZAHL();10;3)
B7 : =norminv_bereich(10;3;0;20)
D7 : =MIN(A:A)
E7 : =MIN(B:B)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
In meinem ersten Beitrag zum Thema habe ich bei der Angabe der Realisierungen um eine 10er-Potenz geiir, es muß da gesetzt sein: 43 von 100.0000 statt 43 von 10.000
Den Beitrag von Konrad bitte ich besonders zu beachten, den je nachdem, wie Du die Ergebnisse dieser Berechnung weiter verwendest, kann es zu (statistischen) Fehlinterpretationen führen.
Wenn du nun immer für einen bestimmten Bereich einmal einen Bereich mit (m;s)-normalverteilten Zufallszahlen füllen willst, ohne dass diese von weiteren Angaben abhängig ist, dann kannst Du eine SUB-Prozedur einsetzen, die Du als Makro aufrufst. Nur bei diesem Aufruf werden dann die Zufallszahlen in diesem Bereich verändert. Die Funktion iist also in eine SUB zu überführen, die also keinen Rückgabewert hat.
In der Prozedur wird eine FOR each rngC in Range("F2:F...") eingebaut, in der das errechnete v dem Wert der aktuellen rngC-Zelle zugewiesen wird.

Option Explicit
Sub NorminvRandom_bereich()
dim m As Double, s As Double, b1 As Double, b2 As Double
Dim v As Double, rngC As Range
m = 10
s = 3
b1 = 0
b2 =20
Randomize
for rngC in range("F2:F10")
Do
v = Application.WorksheetFunction.NormInv(Rnd(), m, s)
Loop While v  b2
rngC = v
next rngC
End Sub


Gruß,
Uwe

Anzeige
AW: Normalverteilung im Intervall
26.06.2007 21:13:00
Konrad
Hallo zur Normalverteilung,
die Frage ist statistisch falsch gestellt. Die NV geht nun mal von minus unendlich bis plus unendlich. Falls das Merkmal wirklich nullbegrenzt ist, wird man sich wohl nach einem anderen Modell umschauen müssen. Es sei denn, man will im genannten Bereich eine bestimmte Wahrscheinlichkeit unterbringen, z.B. 99% oder die bekannten 6 Sigma.
m.f.G.
Konrad

AW: Normalverteilung im Intervall
26.06.2007 22:44:00
ingUR
Hallo, Konrad,
Dein Einwand ist wohl dann besonders zu beachten, wenn man aus den "gefilterten" Werten, also Ereignisse ohne "Ausreißer", erneut die Kennzahlen der Verteilung berechnen will. Die Häufigkeit wird zum Mittelwert hin konzentriert.
Jedoch werden, wenn ich de Aufgabenstellung richtig verstanden habe, hier aus den möglichen Realisierungen aus dieser Normalverteilung mit den Kennziffern (m;s)=(10;3) Ausreißer, für die eine Abweichung zum Mittelwert größer als 10 festgestellt wird, in die weitere Betrachtungen nicht einbezogen. Es werden also alle Werte, die außerhalb eines Bandes von (10/3=3,3333...)*Standardabweichung liegen, verworfen.
Gruß,
Uwe

Anzeige
AW: Normalverteilung im Intervall
27.06.2007 10:13:33
HansW
Hallo Uwe, Hallo Konrad,
bitte entschuldigt, dass ich mich jetzt erst melde! Mein Internet hat gestern den Geist aufgegeben und somit konnte ich nicht mehr Eure Vorschläge sehen. Vielen Dank für Eure Lösungsvorschläge. Hinsichtlich der Normalverteilungsfrage- natürlich hast Du recht Konrad- allerdings betrachte ich diese Werte als Außreißer und somit versuche ich die einfach raus zu filtern.
Deinen Lösungsvorschlag (Uwe) schaue ich mir jetzt noch einmal intensiver an.
Vielen herzlichen Dank für Eure Hilfe!
Ihr seid Spitze!
Hans

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige