Hallo,
ich betreibe bei http://www.netcup.de einen V-Server. Guter Support und gute Preise. Definitiv weiterzuempfehlen.
Webhosting Pakete gibts dort auch (geeignet z.B. für eine Wordpress Installation).
Viele Grüße,
NeuroCoder
Hallo zusammen,
ein statistischer Test scheint mir hier die passende Methode zu sein.
Wenn ich das Problem richtig verstanden habe, geht es um Folgendes Problem:
Jede Person kann sich zwischen A und B entscheiden. Dies definiert eine Zufallsvariable X:
X: Omega -> {A,B}
Angenommen, die Mehrheit stimmt für A. Dann ist X Bernoulli-verteilt mit
P( X = A ) = p > 1 / 2 und P(X = B ) = 1 - p.
Jetzt werden n Realisierungen von X beobachtet (also n Personen befragt). Es ergibt sich die (Null-)Hypothese, ob p ≤ 1 / 2. Die Gegenhypothese, welche statistisch gesichert wird (Signifikanzniveau alpha), lautet demnach p > 1 / 2.
Lehnt der Test ab, so ist die Wahrscheinlichkeit sich falsch zu entscheiden (also fälschlicherweise für die Gegenhypothese der absoluten Mehrheit zu entscheiden) höchstens alpha. Der Test lehnt dabei die Nullhypothese ab, wenn der p-Wert unter das Signifikanzniveau alpha fällt.
Der passende Test für dieses Modell wäre ein Binomialtest.
Der p-Wert ist aber NICHT die Wahrscheinlichkeit dafür, dass die Null-Hypothese wahr ist. Ebenso lassen sich generell keine Wahrscheinlichkeiten an Hypothesen heften, sondern nur an die (Fehl-)Entscheidung für eine Hypothese.
Ich glaube daher, dass sich herbivores Frage höchstens näherungsweise beantworten lässt, wenn man z.B. den p-Wert trotzdem auf diese Weise interpretiert - auch wenn es falsch ist.
Viele Grüße,
NeuroCoder
Hallo ck123,
wenn du deinen Polygonzug vereinfachen willst, klingt das nach Douglas-Peucker:
Douglas-Peucker-Algorithmus
Polyline Simplification
Andererseits schlägst du mit deinem Histogramm-Ansatz einen Dichteschätzer vor.
Wenn du deine Messwerte auch noch glätten willst (Messrauschen verringern) könntest du Kerndichteschätzer, Glättungssplines, Moving Least Squares, Wavelets etc. einsetzen.
Viele Grüße,
NeuroCoder
Hallo ReneS,
auf dem Matlab File Exchange habe ich diese Submission gefunden:
CSMatIO: MAT-file I/O API for .NET 2.0
Alternativ kannst du auch mit der Spezifikation des Dateiformats deine eigenen Klassen schreiben:
MAT File Format (PDF)
Die Spezifikation reicht aber nur bis Version 5, soweit ich gesehen habe (es müsste bereits Version 7 geben).
Mfg NeuroCoder
Hallo Oliver!
A) Ich kenne deinen Hintergrund nicht. Abhängig davon könntest du z.B. in
Engel: Anwendungsorientierte Mathematik: Von Daten zur Funktion
oder
Fahrmeir, Kneib, Lang: Regression
schauen.
Das Erste ist ein Buch für Mathematik Lehramt und das Zweite ein "normales" Fachbuch. Falls du Zugriff auf SpringerLink hast, findest du beide Bücher dort.
Die meisten Statistik-Bücher behandeln aber auch gewöhnliche Regression.
B) In den Büchern steht beschrieben, was es auszurechnen gilt:
Im einfachsten Fall sowas wie (XT * X)(-1) * X^T * Y, wobei X die Design-Matrix und Y der Datenvektor ist.
Das musst du dann nur in deinem Programm umsetzen. Mit entsprechenden Mathe-Libraries ist das (fast) nur Formel abtippen. Oder du suchst dir direkt eine Library, die die Regression für dich übernimmt.
Für geeignete Libraries: Im Forum und mit Suchmaschine suchen.
Viele Grüße,
NeuroCoder
Hallo Oliver,
was für ein Ansatz geeignet sein könnte, kannst du z.B. in Plots des Fehlers e erahnen.
Zunächst würde ich (falls möglich) eine gleichverteilte Punktmenge einmessen und so die g-Werte besorgen (z.B. Punkte auf einem Gitter). Es empfiehlt sich oft dort noch genauer aufzulösen, wo "viel passiert".
Wenn du dann einen Ansatz ausgewählt hast (z.B. ein polynomieller bis zu einem gewissen Grad) kannst du die Regression mit den e-Werten an den gemessenen Punkten (x,y) durchführen.
Hier würde sich gewichtete Regression anbieten, denn du hast auch die Fehler deiner Messungen (nehm ich an).
Du bekommst dann eine geschätzte Funktion e(x,y) deren Schätzung ebenfalls fehlerbehaftet ist (siehe Verteilung des Regressionsschätzers).
Die Fehler der Schätzung müssen dann bei der kalibrierten Messung mit in die normalen Messfehler einbezogen werden.
Wenn du nun wissen willst, wie man eine Regression durchführt, dann verweise ich dich an dieser Stelle auf einschlägige Literatur bzw. Statistik-Bücher.
Im Wesentlichen geht es darum ein Norm-Minimierungsproblem zu lösen:
min || e(x,y) - X*Beta||^2
wobei Beta der Regressions-Schätzer ist und X deine Design-Matrix mit den Datenpunkten. Hierbei wird das Modell
Y = X * Beta + Epsilon
unterstellt, bei dem Epsilon die Fehler sind (Erwartungswert = 0) und Y der Datenvektor mit den e-Werten. Ein derartiges Modell kannst du z.B. bei polynomieller Regression erreichen, wenn du X entsprechend wählst.
Mehr dazu aber in der Fachliteratur, im Detail erklären werde ich dir die Regression nämlich nicht. Wenn du dich eingelesen hast und dann noch Fragen auftauchen, gucke ich gerne nochmal drauf.
EDIT: Übrigens könnten sich auch ganz andere Verfahren als polynomielle Regression für deine Problemstellung eignen: Zum Beispiel (Glättungs-)Splines oder nichtparametrische Methoden (Kernel-Regression, Kriging u.a.).
Welche Methode geeignet ist, kannst aber nur du entscheiden.
Außerdem drängt sich mir die Frage auf: Wenn du doch für jeden beliebigen Punkt Soll-Werte hast oder errechnen kannst, warum brauchst du das alles dann?
Viele Grüße,
NeuroCoder
Hallo Oliver,
mit deiner Beschreibung kann ich immer noch nichts anfangen. Ich versuche mich mal an einer Interpretation.
Du hast ein Modell:
f: R^2 -> R
Das repräsentiert deine Sollwerte. Zu jedem Koordinatenpunkt (x,y) gibts einen Wert.
Dann hast du die Realität, also deine Apparatur / Versuchsaufbau, die dir Daten liefert:
g: R^2 -> R
Im besten Fall würde g = f gelten (Realität = Modell). Da du aber von Kalibrierung sprichst, wird das nicht der Fall sein.
Du suchst also eine Approximation des Fehlers e(x,y) = f(x,y) - g(x,y), damit du bei gemessenen g-Werten auf die korrekten f-Werte schließen kannst durch f(x,y) = g(x,y) + e(x,y), also Messung + Korrektur.
Wenn das der Fall ist, dann willst du eigentlich eine Approximation von e(x,y) machen. Wenn du nun einen polynomiellen Ansatz für e machst und auch noch Messunsicherheit (die du ja kennen solltest?) dazu nimmst, kommst du zur Polynom-Regression.
Stimmt meine Interpretation?
Viele Grüße,
NeuroCoder
Hallo Oliver,
was weißt oder vermutest du denn über den Zusammenhang deiner Punkte?
Handelt es sich um einen linearen, nach Transformation linearen oder nichtlinearen Zusammenhang? Weißt du das überhaupt oder möchtest du das (explorativ) feststellen?
Erst wenn du diese Fragen beantwortet hast, kannst du ein Modell (das ist eben jener Zusammenhang) aufstellen und dann Regression betreiben.
Was meinst du mit 4. Ordnung? Polynomielle Regression bis zum Grad 4?
Viele Grüße,
NeuroCoder
Hallo dr4g0n76,
die "bepunkteten" Operatoren bedeuten elementweise:
rand(2) .* rand(2)
multipliziert z.B. die beiden Zufallsmatrizen elementweise.
Der Doppelpunkt indiziert alle Indizes in dieser Dimension:
A = [1, 2, 3; 4, 5,6];
A(:, 2) % Liefert die 2. Spalte (alle Zeilen)
A(1,:) % Liefert die 1. Zeile (alle Spalten)
A(:) % Liefert die Matrix als Vektor (alle Spalten aneinander hängen)
A(:,:) % Liefert die Matrix selbst
Ich nehme an, dass col_img(:,:, k) eine Matrix liefert (Pixel des Bildes) und k den Farbkanal angibt.
In Zeile 0047 werden die Matrizen elementweise zu einer Matrix in der Größe des Bildes addiert.
Viele Grüße,
NeuroCoder
Hallo DerPapenberg,
suchst du vielleicht sowas:
internal class Helper
{
public event EventDelegate MyEvent;
}
public class MainClass
{
private Helper _helper;
public event EventDelegate MyEvent
{
add { _helper.MyEvent += value; }
remove { _helper.MyEvent -= value; }
}
}
Mfg NeuroCoder