Normalverteilung von Kurve abziehen

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

Moderatoren: EDi, jogo

Antworten
Volker
Beiträge: 4
Registriert: Mo Feb 10, 2025 5:59 pm

Normalverteilung von Kurve abziehen

Beitrag von Volker »

Guten Abend, liebe R-ler!

(M)ein Problem: Ich habe z.B. 40.000 Messwerte, die ein Histogramm und eine Density ergeben, die ganz grob einer NV ähneln. Jetzt möchte ich eine NV-Kurve darüber legen die möglichst gut passt (das soll hier nicht das Problem sein) und diese dann von meiner Datenkurve subtrahieren.

Geht das? Gibt es einen vernünftigen Weg, von einer "Datenkurve" eine mathematische Kurve abzuziehen?

Bin sehr gespannt!
bigben
Beiträge: 2894
Registriert: Mi Okt 12, 2016 9:09 am

Re: Normalverteilung von Kurve abziehen

Beitrag von bigben »

Hallo Volker,

Was ist der Zweck der Übung? Klingt so, als wolltest Du visualisieren, wie groß die Abweichung zwischen Deiner Verteilung und einer Normalverteilung ist.
In dem Fall würde ich Dir empfehlen, stattdessen einen Quantil-Quantil-Plot oder auch QQPlot zu nehmen. Das ist inhaltlich ein wenig etwas anderes aber gar nich so weit weg und es ist halt etabliert. Dein Statistikprogramm kann das und Deine Leser kennen das entweder oder können es mühelos überall nachlesen. Alles, was Du selbst strickst, musst Du nicht nur selbst rechnen sondern auch erklären.

JMTC,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Volker
Beiträge: 4
Registriert: Mo Feb 10, 2025 5:59 pm

Re: Normalverteilung von Kurve abziehen

Beitrag von Volker »

Vielen Dank für dein aktives Mitdenken.

Ich würde mich nach wie vor über Vorschläge freuen, ob meine Fragestellung lösbar ist, unabhängig davon, wie sinnvoll sie von außen betrachtet erscheint.
bigben
Beiträge: 2894
Registriert: Mi Okt 12, 2016 9:09 am

Re: Normalverteilung von Kurve abziehen

Beitrag von bigben »

Alles klar. Du hast die Densitywerte Deiner Daten und willst davon die Dichtewerte einer Normalverteilung abziehen. An welcher Stelle tritt Dein Problem auf?
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Volker
Beiträge: 4
Registriert: Mo Feb 10, 2025 5:59 pm

Re: Normalverteilung von Kurve abziehen

Beitrag von Volker »

;-) kurz nach dem Öffnen von RStudio!
Ich bin ein Anfänger.
Ich fürchte, ich werde erstmal noch ein bisschen Literatur über R lesen.
Benutzeravatar
student
Beiträge: 747
Registriert: Fr Okt 07, 2016 9:52 am

Re: Normalverteilung von Kurve abziehen

Beitrag von student »

Wenn das "Problem" schon mit öffnen von RStudio auftritt, sage ich nur hmmmm.....! ;)

Aber hier ein Vorschlag:

Code: Alles auswählen

# Generiere 1000 zufällige Beobachtungen (Normalverteilung)
set.seed(123)
data <- rnorm(1000, mean = 50, sd = 10)

# Berechne die theoretische Normalverteilung
mean_data <- mean(data)
sd_data <- sd(data)
normal_values <- dnorm(data, mean = mean_data, sd = sd_data)

# Erstelle das Histogramm der Beobachtungen
hist(data, breaks = 30, probability = TRUE, main = "Histogramm der Beobachtungen mit Normalverteilung",
     xlab = "Werte", ylab = "Dichte", col = "skyblue", border = "white")

# Zeichne die theoretische Normalverteilung darüber
lines(density(data), col = "red", lwd = 2)

# Berechne die Differenz zur Normalverteilung
difference <- data - normal_values

# Plot der Differenz
plot(density(difference), main = "Differenz zur Normalverteilung",
     xlab = "Differenzwerte", ylab = "Dichte", col = "purple", lwd = 2)

# Optional: Ausgabe der Differenzwerte
head(difference)

Viel Spaß!
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Volker
Beiträge: 4
Registriert: Mo Feb 10, 2025 5:59 pm

Re: Normalverteilung von Kurve abziehen

Beitrag von Volker »

Herzlichen Dank, Student!

Sehr schön und hervorragend dokumentiert dargestellt!

Ich kann zwar alles reproduzieren und weitgehend nachvollziehen, habe aber den Eindruck, dass die Subtraktion zu einem horizontalen Versatz statt zu einem Höhenschwund der Kurve führt.

Ich habe mir mal den Spaß gemacht, das Szenario in Excel zu basteln mit drei Datenreihen, jeweils als geglättete Linien in einem gemeinsamen Diagramm:
1. Daten (mit buckeligen NV-Abweichungen), z-transformiert
2. Normalverteilung, manuell in Lage und Breite so justiert, dass sie den "wesentlichen" Teil der Datenkurve erfasst
3. Daten-NV, einfach zeilenweise abgezogen.

Den Datensatz hatte ich histogrammartig in 60 Portionen (Zeilen) aufgeteilt, damit ich Häufigkeiten als Y-Achse habe. Die Höhe der NV-Kuve habe ich einfach mit einem Multiplikator auf dasselbe Skalenniveau gehoben, wie die Werte-Häufigkeit.

Visuell funktioniert das, man sieht gut den Verlauf der Differenzdaten, die außerhalb der NV-Menge liegen.

Aber für irgendwelche visuellen oder gar rechnerischen Ableitungen taugt das natürlich nicht.
Benutzeravatar
student
Beiträge: 747
Registriert: Fr Okt 07, 2016 9:52 am

Re: Normalverteilung von Kurve abziehen

Beitrag von student »

Hallo Volker,

Du hast Dir bei Deiner Fragestellung etwas gedacht. Zur Prüfung, ob eine beobachtete Verteilung einer Normalverteilung folgt, werden z. B. die Methoden verwendet, die bigben schon erwähnt hat. ;)
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Antworten