Seite 1 von 2

Implementieren einer Formel

Verfasst: Do Sep 28, 2017 12:16 pm
von Alex123
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 :-)

Re: Implementieren einer Formel

Verfasst: Do Sep 28, 2017 1:16 pm
von jogo
Hallo Alex,

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)) ### 
Man kann die Formel auch noch etwas umstellen:

Code: Alles auswählen

-  sum(h*log(h)) / log(length(h))
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:

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
Gruß, Jörg

Re: Implementieren einer Formel

Verfasst: Fr Jul 06, 2018 5:03 pm
von lena-anna
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

Re: Implementieren einer Formel

Verfasst: Mo Feb 03, 2020 2:45 pm
von oliverkahntitan
lena-anna hat geschrieben: Fr Jul 06, 2018 5:03 pm 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
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

Verfasst: Do Jan 28, 2021 12:44 am
von jjj
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

Re: Implementieren einer Formel

Verfasst: Do Jan 28, 2021 9:32 am
von jogo
Hallo jjj,

willkommen im Forum!
Du hast doch sicher den gesamten Gesprächsfaden gelesen, oder?

Gruß, Jörg

Re: Implementieren einer Formel

Verfasst: Do Jan 28, 2021 9:35 pm
von jjj
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

Re: Implementieren einer Formel

Verfasst: Fr Jan 29, 2021 8:17 am
von bigben
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

Re: Implementieren einer Formel

Verfasst: Fr Jan 29, 2021 9:20 am
von jogo
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

Re: Implementieren einer Formel

Verfasst: Fr Jan 29, 2021 5:48 pm
von jjj
Hallo ihr beiden,

nunja, die Daten erhalte ich vorerst über folgenden Befehl:

Code: Alles auswählen

load(url("http://statistik-beratung.com/daten/PfhDataAufgaben2.RData"))
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

Code: Alles auswählen

rel.info = function(x){
hj = prop.table(table(x))
[…]
return(h)}
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