von CCCarsten » Do, 03.05.2012 16:10
Hey Leute, bin neu hier und habe mich nach einer schlaflosen Nacht angemeldet, in welcher in mein Problem lösen wollte. Nunja, es hat nicht geklappt, und jetzt zähle ich auf eure Kompetenz.
Ich möchte eine paarweise bedingte Wahrscheinlichkeit ausrechnen: phi = (P (A|B), P (B|A) )
Die Matrix mit den Quelldateien enthält nur 0 und 1:
- 1 2 3
X1 0 0
Y0 1 1
Z1 1 1
1, 2 und 3 sind, nehmen wir mal an, Produktklassen, und X, Y und Z Länder. Die Länder brauchen wir nicht mehr. Es soll also die bedingte Wahrscheinlichkeit von 1=1 geg. 2=1 bzw. 3=1. P(1|2)=0,5 und P(1|3)=0.5. Mein Instinkt sagt mir, dass das relativ einfach ist, wenn man folgende Formel berücksichtigt:
Summewenn(3=1;1)/Summe(3)
Zum Glück gibt es ja nur 0 und 1.
Das Resultat soll eine Matrix folgender Art sein:
- 1 2 3
1 0 ? ?
2 ? 0 ?
3 ? ? 0
Die Matrix auf dem Tabellenblatt namens RCA-Matrix davor ist symmetrisch, sodass die Spalten- und Zeilenindizes gleich sind. Ich weiß, wie ich an den Buchstaben der aktuellen Spalte rankomme, um den Nenner mit Hilfe der Informationen aus dem vorhergehenden Tabellenblatt auszurechnen, sowie die Bedingung für SummeWenn, nämlich mit:
Code: Alles auswählen
=SUMIF(INDIRECT(CONCATENATE("'RCA-Matrix'.",RIGHT(LEFT(ADDRESS(2,COLUMN(B$1)),2),1),"2:",RIGHT(LEFT(ADDRESS(2,COLUMN(B$1)),2),1),"109")),1,'RCA-Matrix'.$B$2:$B$109)
Das Problem sind die letzten paar Zeichen:
Wenn ich die Formel in der Tabelle nach unten ziehe (also in die nächste Zeile wo 2 der erste Spalteneintrag ist), dann muss aus
folgendes werden:
, denn in der RCA-Matrix davor sind die relevanten Informationen in der nächsten Spalte. Wenn ich nach unten gehe soll der Zeiger nach rechts rutschen. Im Endeffekt ist es glaube so, dass der Buchstabe jener Spalte ausgegeben werden muss, wo Zeile 1 identisch ist mit dem Inhalt in Spalte A (in Calc-Referenz) derjenigen Zeile, wo sich die Formel gerade befindet. Ich könnte es machen, wenn die Funktion
einen Buchstaben ausgeben würde, aber leider ist das nicht der Fall. Das ganze händisch zu korrigieren wäre unheimlich aufwendig, da ich 97 Produktklassen habe.
Hat jemand eine Idee, wie man weitermachen kann? Oder eine bessere Alternative? Ich wäre unglaublich begeistert und ihr würdet meine Abschlussarbeit unheimlich bereichern.
Hey Leute, bin neu hier und habe mich nach einer schlaflosen Nacht angemeldet, in welcher in mein Problem lösen wollte. Nunja, es hat nicht geklappt, und jetzt zähle ich auf eure Kompetenz.
Ich möchte eine paarweise bedingte Wahrscheinlichkeit ausrechnen: phi = (P (A|B), P (B|A) )
Die Matrix mit den Quelldateien enthält nur 0 und 1:
- 1 2 3
X1 0 0
Y0 1 1
Z1 1 1
1, 2 und 3 sind, nehmen wir mal an, Produktklassen, und X, Y und Z Länder. Die Länder brauchen wir nicht mehr. Es soll also die bedingte Wahrscheinlichkeit von 1=1 geg. 2=1 bzw. 3=1. P(1|2)=0,5 und P(1|3)=0.5. Mein Instinkt sagt mir, dass das relativ einfach ist, wenn man folgende Formel berücksichtigt:
Summewenn(3=1;1)/Summe(3)
Zum Glück gibt es ja nur 0 und 1.
Das Resultat soll eine Matrix folgender Art sein:
- 1 2 3
1 0 ? ?
2 ? 0 ?
3 ? ? 0
Die Matrix auf dem Tabellenblatt namens RCA-Matrix davor ist symmetrisch, sodass die Spalten- und Zeilenindizes gleich sind. Ich weiß, wie ich an den Buchstaben der aktuellen Spalte rankomme, um den Nenner mit Hilfe der Informationen aus dem vorhergehenden Tabellenblatt auszurechnen, sowie die Bedingung für SummeWenn, nämlich mit:
[code]=SUMIF(INDIRECT(CONCATENATE("'RCA-Matrix'.",RIGHT(LEFT(ADDRESS(2,COLUMN(B$1)),2),1),"2:",RIGHT(LEFT(ADDRESS(2,COLUMN(B$1)),2),1),"109")),1,'RCA-Matrix'.$B$2:$B$109)[/code]
Das Problem sind die letzten paar Zeichen: [code]'RCA-Matrix'.$B$2:$B$109[/code] Wenn ich die Formel in der Tabelle nach unten ziehe (also in die nächste Zeile wo 2 der erste Spalteneintrag ist), dann muss aus [code]'RCA-Matrix'.$B$2:$B$109[/code] folgendes werden: [code]'RCA-Matrix'.$C$2:$C$109[/code], denn in der RCA-Matrix davor sind die relevanten Informationen in der nächsten Spalte. Wenn ich nach unten gehe soll der Zeiger nach rechts rutschen. Im Endeffekt ist es glaube so, dass der Buchstabe jener Spalte ausgegeben werden muss, wo Zeile 1 identisch ist mit dem Inhalt in Spalte A (in Calc-Referenz) derjenigen Zeile, wo sich die Formel gerade befindet. Ich könnte es machen, wenn die Funktion [code]Spalte()[/code] einen Buchstaben ausgeben würde, aber leider ist das nicht der Fall. Das ganze händisch zu korrigieren wäre unheimlich aufwendig, da ich 97 Produktklassen habe.
Hat jemand eine Idee, wie man weitermachen kann? Oder eine bessere Alternative? Ich wäre unglaublich begeistert und ihr würdet meine Abschlussarbeit unheimlich bereichern.