Implementieren einer Formel

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Alex123

Implementieren einer Formel

Beitrag 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 :-)
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Implementieren einer Formel

Beitrag 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
lena-anna

Re: Implementieren einer Formel

Beitrag 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
oliverkahntitan
Beiträge: 1
Registriert: Mo Feb 03, 2020 2:40 pm

Re: Implementieren einer Formel

Beitrag 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
jjj
Beiträge: 6
Registriert: Do Jan 28, 2021 12:26 am

Re: Implementieren einer Formel

Beitrag 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
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Implementieren einer Formel

Beitrag von jogo »

Hallo jjj,

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

Gruß, Jörg
jjj
Beiträge: 6
Registriert: Do Jan 28, 2021 12:26 am

Re: Implementieren einer Formel

Beitrag 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
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Implementieren einer Formel

Beitrag 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
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Implementieren einer Formel

Beitrag 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
jjj
Beiträge: 6
Registriert: Do Jan 28, 2021 12:26 am

Re: Implementieren einer Formel

Beitrag 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
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
Antworten