Mathe-Unit für Statistik und Optimierung

Zur Vorstellung von Komponenten und Units für Lazarus

Mathe-Unit für Statistik und Optimierung

Beitragvon weber_8722 » 10. Jul 2015, 10:11 Mathe-Unit für Statistik und Optimierung

Hallo,

habe zwar über die Zeit eine Bibliothek erstellt, aber einiges fehlt mir noch. Zum Beispiel suche ich eine Funktion für Konfidenz-Intervalle nach Clopper-Pearson (https://de.wikipedia.org/wiki/Konfidenz ... inlichkeit).
Darin ist die inv. Beta-Funktion enthalten. Hab zwar einiges dazu gefunden, aber in meinen Testfällen kommt dann einfach das falsche Ergebnis raus.
Gut wären auch eine Procedur zum Finden des Modes (Punkt maximaler Wahrscheinlichkeitsdichte), sowie ein Random-basierter Globaler Optimierer wäre gut (BFGS u.a. habe ich).

Viele Grüße Stephan
weber_8722
 
Beiträge: 24
Registriert: 17. Feb 2014, 10:11

Beitragvon volker » 2. Mär 2016, 15:30 Re: Mathe-Unit für Statistik und Optimierung

Hallo Stephan,

bin ich bei dir richtig? Ich suche gerade eine Pascal Funktion für den GESD Ausreißer Test.
Bin da über die dmath units gestolpert: https://www.unilim.fr/pages_perso/jean. ... tpmath.htm
Da sind viele Statistik-Funktionen drin (Beta-, Gamma Fkt, Incomplete Beta, Inverse Beta, etc...), aber den kompletten `Generalised Extreme Studentised Deviate Outlier Test` (geiles Wort) muss ich mir wohl noch selber bauen. Oder hast du eine Idee, wo es den schon als "einfache" Funktion für Lazarus/FPC gibt?

Vielen Dank für deine Hilfe
volker
 
Beiträge: 21
Registriert: 14. Nov 2012, 14:36
OS, Lazarus, FPC: Rosa Linux Desktop R8 (L 1.6, FPC 2.6.4) | 
CPU-Target: 32Bit
Nach oben

Beitragvon weber_8722 » 28. Mär 2019, 12:16 Re: Mathe-Unit für Statistik und Optimierung

Hi Volker,

lese jetzt erst deine Nachricht. Ausreissersuche ist so eine Sache. Genial finde ich MLE mit censoring. Wenn man einen potentiellen Ausreisser erkannt hat, dann muss man ihn nicht weglassen, sondern kann ihn quasi bis auf einen gewissen realistischen Zensorwert zurueck-pushen, und die Parameterberechnung ist trotzdem korrekt. Geht z.B. gut wenn ein Messgeraet einen Ueberlauf hat, dann ist das Sample quasi auf den maximalen skalenwert zensiert.
Gut ist es auch die Werte, wie beim normal quantile plot, umzuskalieren, so dass sich eine Gerade ergeben muesste. Dann kann man die Standardmethoden anwenden.

VG Stephan
weber_8722
 
Beiträge: 24
Registriert: 17. Feb 2014, 10:11

Beitragvon fliegermichl » 28. Mär 2019, 13:38 Re: Mathe-Unit für Statistik und Optimierung

Aha, verstehe! Bahnhof :-)
fliegermichl
 
Beiträge: 311
Registriert: 9. Jun 2011, 08:42

Beitragvon weber_8722 » 29. Mär 2019, 10:07 Re: Mathe-Unit für Statistik und Optimierung

fliegermichl hat geschrieben:Aha, verstehe! Bahnhof :-)

Muss gestehen, dass ich in der Schule Statistik und mehr noch Matrizen gehasst habe, ABER das sind 2 sehr praktische Sachen.
weber_8722
 
Beiträge: 24
Registriert: 17. Feb 2014, 10:11

Beitragvon AndreasMR » 31. Mär 2019, 09:54 Re: Mathe-Unit für Statistik und Optimierung

Hallo zusammen,

mit den Ausreißern und deren Erkennung ist das so eine Sache.

Einige Statistik-Koryphäen haben Algorithmen entwickelt, nach denen Ausreißer erkannt werden können.

Es obliegt aber dem Experimentator bzw. dem Auswerter des Datenmaterials, was er mit den erkannten Ausreißern anstellt - und insbesondere, ob es legitim ist, Ausreißer aus dem auszuwertenden Datenmaterial zu löschen.


Vermeintliche Ausreißer können nämlich einen aktuellen Trend andeuten. So wurden z.B. bereits in den 60ern und 70ern des vergangenen Jahrhunderts Ozon-Messungen durchgeführt. Zwar beobachtete man immer häufiger<Ausreißer, die man sich nicht erklären konnte und vermutete - ohne es wirklich zu wissen - irgendwelche Störungen im Messsystem. Anstatt diesen vermuteten Störungen auf den Grund zu gehen, hat man lieber die vermeintlichen Ausreißer entfernt und - stellte dann fest, dass eine signifikante Ozonabnahme nicht geschlussfolgert werden konnte.
Ohne Eliminierung der vermeintlichen Ausreißer hätte man einen Trend erkennen müssen - der zu einem wesentlich frühzeitigeren Umdenken in der FCKW-Nutzung hätte führen müssen. So vergingen Jahre / Jahrzehnte des Schlafwandelns.

Es ist sehr leicht gesagt, gilt aber auch hier: Man muss wissen, was man tut.

Durch bloßes Eintippen von Messwerten, Knöpchen drücken und irgendwas bestätigen, dessen Hintergrund man sich nicht vollständig verinnerlicht hat, steigert den Anteil solcher fehlerhaften Auswertungen.


Bevor man sich überhaupt entschließen darf, vermeintliche Ausreißer zu eliminieren, muss man sich im Klaren werden, welcher Verteilung die Messwerte entspringen. Nicht jede Messreihe ist normalverteilt. Setzt man hier Ausreißerverfahren (z.B. nach Grubbs) ein, hat aber keine normalverteilten Messwerte, dann ist die Eliminierung von Messwerten innerhalb der "inneren Zäune" garantiert nicht erlaubt.

Beste Grüße

Andreas
Ubuntu 14.04 LTS / Raspbian / Windows: Lazarus ab 0.9 bis 3.0
AndreasMR
 
Beiträge: 94
Registriert: 4. Aug 2015, 14:29
OS, Lazarus, FPC: Linux, Raspbian, Windows | 
CPU-Target: 64/32 Bit
Nach oben

Beitragvon mschnell » 1. Apr 2019, 12:20 Re: Mathe-Unit für Statistik und Optimierung

AndreasMR hat geschrieben:Es obliegt aber dem Experimentator bzw. dem Auswerter des Datenmaterials, was er mit den erkannten Ausreißern anstellt - und insbesondere, ob es legitim ist, Ausreißer aus dem auszuwertenden Datenmaterial zu löschen.


????? !!!!!! ??????

Ausreißer dürfen natürlich nicht gelöscht werden, sonst stimmt die Signifikanz-Berechnung nicht mehr und ohne gesicherte Signifikanz-Betrachtung ist das Ergebnis der Messreihe in keiner Weise aussage-kräftig .

Erkennen der Ausreißer ist natürlich trotzdem sinnvoll, um eventuelle Ursachen für Messfehler zu suchen und zu bekämpfen.

Dann muss man eine neue Messreihe machen.

Alles andere ist statistischer Unfug. (Aber üblich in den beliebten und teuren Auftrags-Gutachten - auch Lügenmärchen genannt).

-Michael
mschnell
 
Beiträge: 3319
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon weber_8722 » 2. Apr 2019, 07:24 Re: Mathe-Unit für Statistik und Optimierung

Ausreisser sind ja offensichtlich sehr kontrovers!
Ein Ausreisser ist ein Messwert, der nicht zur angenommenen Verteilung PASST, also den Fit quasi "stoert", also oft die Signifikanz reduziert.
Am besten der Ursache auf den Grund gehen, die ganze Messung neu machen kann aber uebertrieben sein. Wenn man z.B. weiss, dass durch ein Uebertragungsfehler ein Wert unsinnig wurde, dann musste man nicht alles neu machen, WENN der Uebertragungsfehler quasi ein Messwert zufaellig rausgepickt und gestoert hat ("Censored at random"). Wenn die "Stoerung" systematisch ist (z.B. nur auf grosse Werte), dann sieht es natuerlich anders aus ("Right-Censored").
Aber selbst die Information "Wert nicht genau bekannt, aber sicher >=irgendeine Zahl" kann noch genutzt werden! Und man bekommt dadurch eine stabilere Aussage, als wenn man den Wert weglaesst. Das waere in der Tat ziemlich unwissenschaftlich; man kann damit z.B. prima "beweisen" das Homoopathie eine Superwirkung hat. Alles Experimente die dagegen sprechen laesst man als "Fehlmessung" einfach weg.
weber_8722
 
Beiträge: 24
Registriert: 17. Feb 2014, 10:11

Beitragvon fliegermichl » 2. Apr 2019, 09:22 Re: Mathe-Unit für Statistik und Optimierung

Ja Statistik ist toll!

Wenn man einmal vorne am Reh vorbeischiesst und einmal hinten vorbei ist es statistisch gesehen tot :-)
fliegermichl
 
Beiträge: 311
Registriert: 9. Jun 2011, 08:42

Beitragvon mschnell » 2. Apr 2019, 11:24 Re: Mathe-Unit für Statistik und Optimierung

weber_8722 hat geschrieben: WENN der Uebertragungsfehler quasi ein Messwert zufaellig rausgepickt und gestoert hat ...

... kann ein ähnlicher Fehler "zufälliger Weise" auch einen völlig unerwünschten Wert zu einem erwünschten machen, damit die Bezahlung des Gutachtens sichern und nachher jede Menge Menschenleben kosten.
weber_8722 hat geschrieben:man kann damit z.B. prima "beweisen" das Homoopathie eine Superwirkung hat. .

Oder "beweisen" dass Glyphost nicht krebserregend ist. (Die Krebsfälle sind natürlich Messfehler, weil Krebs ja auch ansonsten auftritt.)

-Michael
mschnell
 
Beiträge: 3319
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon six1 » 2. Apr 2019, 13:37 Re: Mathe-Unit für Statistik und Optimierung

Ja, so ist das eben, wenn der Mensch an Dingen "rumspielt", geht immer irgend etwas kaputt :D
six1
 
Beiträge: 64
Registriert: 1. Jul 2010, 18:01

Beitragvon marcov » 4. Apr 2019, 15:52 Re: Mathe-Unit für Statistik und Optimierung

FPC unit spe:

{ Function to calculate the (complete) beta function
beta(a, b) = int(t, 0, 1, t^(a-1) * (1-t)^(b-1) with a > 0, b > 0
beta(a, b) = spegam(a) * spegam(b) / spegam(a + b) }
function beta(a, b: ArbFloat): ArbFloat;

{ Function to calculate the (regularized) incomplete beta function
betai(a, b, x) = int(t, 0, x, t^(x-1) * (1-t)^(y-1) ) / beta(a,b) }
function betai(a, b, x: ArbFloat): ArbFloat;
function invbetai(a, b, y: ArbFloat; eps: ArbFloat = 0.0): ArbFloat;
marcov
 
Beiträge: 1041
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon weber_8722 » 29. Apr 2019, 07:57 Re: Mathe-Unit für Statistik und Optimierung

marcov hat geschrieben:unit spe


Looks good, where can I get it?
Currently, I am using DPMath, which has this also.
weber_8722
 
Beiträge: 24
Registriert: 17. Feb 2014, 10:11

Beitragvon sstvmaster » 29. Apr 2019, 08:49 Re: Mathe-Unit für Statistik und Optimierung

@weber_8722

die unit spe ist in lazarus schon drin. Einfach mit in die uses oben mit einbinden.
sstvmaster
 
Beiträge: 193
Registriert: 22. Okt 2016, 22:12
Wohnort: Dresden
OS, Lazarus, FPC: Windows 7 32bit (L 2.0.2 FPC 3.0.4) | 
CPU-Target: 32Bit
Nach oben

Beitragvon marcov » 4. Mai 2019, 20:56 Re: Mathe-Unit für Statistik und Optimierung

Und unit Typ fuer die Typen :-)
marcov
 
Beiträge: 1041
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

• Themenende •

Zurück zu Units/Komponenten



Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 1 Gast

porpoises-institution
accuracy-worried