Implementieren einer Formel
Implementieren einer Formel
Hallo Zusammen,
Ich sitze vor folgender Aufgabenstellung:
Implementieren Sie folgende Formel in R:
Ein geeignetes aber unbekanntes Dispersionsmaß für Nominaldaten ist der sogenannte relative Informationsgehalt.
Dieser hat einen Wertebereich zwischen 0 und 1. Ein Wert von 0 stellt eine sehr homogene Stichprobe dar. Bei einem Wert von 1 sind die gewählten Antworten überr alle Kategorien gleich verteilt.
Dieser lässt sich mit Hilfe folgender Formel berechnen:
h = -\frac{1}{\ln(k)}*\sum_{j=1}^{k}h_{j}\ln(h_{j})
k stellt dabei die Anzahl der Antwortkategorien und h_{j} die relative Häufigkeit der verschiedenen Antwortkategorien dar. Im Folgenden soll diese Formel in R implementiert werden.
Folgende Funktionen könnten für die Implementierung nützlich sein:
`prop.table()`
`log()`
`sum()`
Die implementierte Formel wird am Ende folgende Struktur haben:
` rel.info = function(x){ `
` hj = prop.table(table(x)) `
` ... `
` return(h)} `
Hat jemand eine Idee wie ich dieses Problem lösen kann? Ich würde mich schon über einen Ansatz freuen, da ich gerade ziemlich ratlos vor der Aufgabe sitze
Ich sitze vor folgender Aufgabenstellung:
Implementieren Sie folgende Formel in R:
Ein geeignetes aber unbekanntes Dispersionsmaß für Nominaldaten ist der sogenannte relative Informationsgehalt.
Dieser hat einen Wertebereich zwischen 0 und 1. Ein Wert von 0 stellt eine sehr homogene Stichprobe dar. Bei einem Wert von 1 sind die gewählten Antworten überr alle Kategorien gleich verteilt.
Dieser lässt sich mit Hilfe folgender Formel berechnen:
h = -\frac{1}{\ln(k)}*\sum_{j=1}^{k}h_{j}\ln(h_{j})
k stellt dabei die Anzahl der Antwortkategorien und h_{j} die relative Häufigkeit der verschiedenen Antwortkategorien dar. Im Folgenden soll diese Formel in R implementiert werden.
Folgende Funktionen könnten für die Implementierung nützlich sein:
`prop.table()`
`log()`
`sum()`
Die implementierte Formel wird am Ende folgende Struktur haben:
` rel.info = function(x){ `
` hj = prop.table(table(x)) `
` ... `
` return(h)} `
Hat jemand eine Idee wie ich dieses Problem lösen kann? Ich würde mich schon über einen Ansatz freuen, da ich gerade ziemlich ratlos vor der Aufgabe sitze
Re: Implementieren einer Formel
Hallo Alex,
willkommen im Forum!
Ist x ein Vektor mit den absoluten Häufigkeiten? Wenn ja:Man kann die Formel auch noch etwas umstellen:
Das hat doch etwas mit Entropie zu tun, oder?
https://de.wikipedia.org/wiki/Shannon-Index
Du möchtest das in Form einer Funktion programmieren:
Gruß, Jörg
willkommen im Forum!
Ist x ein Vektor mit den absoluten Häufigkeiten? Wenn ja:
Code: Alles auswählen
h <- prop.table(x)
- 1/log(length(h)) * sum(h*log(h)) ###
Code: Alles auswählen
- sum(h*log(h)) / log(length(h))
https://de.wikipedia.org/wiki/Shannon-Index
Du möchtest das in Form einer Funktion programmieren:
Code: Alles auswählen
Disp <- function(x) {
h <- prop.table(x) ### oder h <- x / sum(x)
return( - sum(h*log(h)) / log(length(h)) )
}
Disp(1:5) ## Beispiel
Re: Implementieren einer Formel
Hallo Alex,
ich wollte dir eigentlich eine nachricht schreiben, geht aber noch nicht.
Hast du die Aufgabe lösen können?
würde mich über eine Antwort freuen.
Liebe Grüße
Lena
ich wollte dir eigentlich eine nachricht schreiben, geht aber noch nicht.
Hast du die Aufgabe lösen können?
würde mich über eine Antwort freuen.
Liebe Grüße
Lena
-
- Beiträge: 1
- Registriert: Mo Feb 03, 2020 2:40 pm
Re: Implementieren einer Formel
Hey Lena-Anna, die nächste Generation von Leuten, die die Aufgabe nicht verstehen ist hier, kannst du sie mir vielleicht erläutern?
Lg Noah
Re: Implementieren einer Formel
4 jahre später und ich werde mit der selben Aufgabe gequält, ohne irgendeine Ahnung, wie man sie lösen kann. Falls jemand ein Ergebnis hat, wäre ich unendlich dankbar.
Danke im Voraus
Danke im Voraus
Re: Implementieren einer Formel
Hallo jjj,
willkommen im Forum!
Du hast doch sicher den gesamten Gesprächsfaden gelesen, oder?
Gruß, Jörg
willkommen im Forum!
Du hast doch sicher den gesamten Gesprächsfaden gelesen, oder?
Gruß, Jörg
Re: Implementieren einer Formel
Hallo Jörg,
mir war dein Beitrag oben leider nicht sehr schlüssig. Ich bin auch relativ neu in Statistik. Wie man also eine Formel implementiert, ist für mich ein einziges Rätsel und somit wohl auch der Grund, warum ich deinem obigem Beitrag überhaupt nicht folgen konnte. Tut mir leid.
Ich sitze also leider nach wie vor hier und verzweifle :///.
Liebe Grüsse
mir war dein Beitrag oben leider nicht sehr schlüssig. Ich bin auch relativ neu in Statistik. Wie man also eine Formel implementiert, ist für mich ein einziges Rätsel und somit wohl auch der Grund, warum ich deinem obigem Beitrag überhaupt nicht folgen konnte. Tut mir leid.
Ich sitze also leider nach wie vor hier und verzweifle :///.
Liebe Grüsse
Re: Implementieren einer Formel
Hallo jjj,
dann hättest Du jetzt die Chance, zu erklären, was Du Dir selbst denken kannst, was Du an Kenntnissen mitbringst und an welcher Stelle Du an Jörgs Antwort hängst. Alex123 hat sie verpasst, lena-anna hat sie verpasst, oliverkahntitan hat sie verpasst - keiner hat nachgefragt, nachdem Jörg zu erkennen gegeben hat, dass er bereit ist, sich mit Eurem Problem zu befassen.
Also entscheid Dich, ob es bei Leid tun, sitzen und verzweifeln bleiben soll. Wie wir Jörg kennen, wird er Dir helfen, wenn auch Engagement von Deiner Seite zu erkennen ist. Hausaufgaben mit fertigen Lösungen zu beantworten ist nicht das Selbstverständnis dieses Forums.
LG,
Bernhard
dann hättest Du jetzt die Chance, zu erklären, was Du Dir selbst denken kannst, was Du an Kenntnissen mitbringst und an welcher Stelle Du an Jörgs Antwort hängst. Alex123 hat sie verpasst, lena-anna hat sie verpasst, oliverkahntitan hat sie verpasst - keiner hat nachgefragt, nachdem Jörg zu erkennen gegeben hat, dass er bereit ist, sich mit Eurem Problem zu befassen.
Also entscheid Dich, ob es bei Leid tun, sitzen und verzweifeln bleiben soll. Wie wir Jörg kennen, wird er Dir helfen, wenn auch Engagement von Deiner Seite zu erkennen ist. Hausaufgaben mit fertigen Lösungen zu beantworten ist nicht das Selbstverständnis dieses Forums.
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Implementieren einer Formel
Hallo jjj,
genau wie Bernhard es schon erkannt hat:
ohne dass Du schreibst, an welcher Stelle Dir meine Antwort nicht schlüssig ist, weiß ich nicht, was ich dazu noch schreiben soll.
Von dem ursprünglichen Fragesteller wurden mir meine Nachfragen nicht beantwortet -- die Antworten darauf könnten mir helfen, besser zu helfen.
Auch, in welcher Form die Daten vorliegen, wurde von keinem Fragesteller dargelegt ...
... von Daten und Code im Sinne eines reproduzierbaren Beispiels ganz zu schweigen.
viewtopic.php?f=20&t=11
Gruß, Jörg
genau wie Bernhard es schon erkannt hat:
ohne dass Du schreibst, an welcher Stelle Dir meine Antwort nicht schlüssig ist, weiß ich nicht, was ich dazu noch schreiben soll.
Von dem ursprünglichen Fragesteller wurden mir meine Nachfragen nicht beantwortet -- die Antworten darauf könnten mir helfen, besser zu helfen.
Auch, in welcher Form die Daten vorliegen, wurde von keinem Fragesteller dargelegt ...
... von Daten und Code im Sinne eines reproduzierbaren Beispiels ganz zu schweigen.
viewtopic.php?f=20&t=11
Gruß, Jörg
Re: Implementieren einer Formel
Hallo ihr beiden,
nunja, die Daten erhalte ich vorerst über folgenden Befehl:
Wie in der Aufgabe erklärt wird, geht es um Nominaldaten, weshalb sich das meines Erachtens nur auf das Geschlecht beziehen kann. Ich denke also, dass ich die Daten des Geschlechts erstmal extrahieren muss und in Form von Nullen und Einsen darstellen muss.
Habe ich nun folgende Formel von der Aufgabe bereits vorgegeben
denke ich, dass ich hier […] nun die Statistik aus x berechnen muss und diese h zuweisen muss.
Ob ich hiermit richtig liege ist mir schon unklar, des weiteren, verstehe ich nicht wie genau dieser Prozess der Berechnung der Statistik aus x und die Zuweisung der Daten funktionieren soll. Das ist wohl auch der Grund, warum ich die vorgegebenen Daten von Jörg nicht anwenden konnte.
Ich muss folgende Methoden verwenden, oder könnten diese hilfreich sein, wie es in der Aufgabenstellung steht:
prop.table()
log()
sum()
Vielleicht konnte ich die Aufgabe nun besser darstellen.
Ich bin für jegliche Hilfe dankbar!
Liebe Grüsse
nunja, die Daten erhalte ich vorerst über folgenden Befehl:
Code: Alles auswählen
load(url("http://statistik-beratung.com/daten/PfhDataAufgaben2.RData"))
Habe ich nun folgende Formel von der Aufgabe bereits vorgegeben
Code: Alles auswählen
rel.info = function(x){
hj = prop.table(table(x))
[…]
return(h)}
Ob ich hiermit richtig liege ist mir schon unklar, des weiteren, verstehe ich nicht wie genau dieser Prozess der Berechnung der Statistik aus x und die Zuweisung der Daten funktionieren soll. Das ist wohl auch der Grund, warum ich die vorgegebenen Daten von Jörg nicht anwenden konnte.
Ich muss folgende Methoden verwenden, oder könnten diese hilfreich sein, wie es in der Aufgabenstellung steht:
prop.table()
log()
sum()
Vielleicht konnte ich die Aufgabe nun besser darstellen.
Ich bin für jegliche Hilfe dankbar!
Liebe Grüsse
Zuletzt geändert von jogo am Fr Jan 29, 2021 6:19 pm, insgesamt 1-mal geändert.
Grund: Formatierung verbessert, siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Grund: Formatierung verbessert, siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29