Statistische Auswertung Ansätz < Statistik (Anwend.) < Stochastik < Hochschule < Mathe < Vorhilfe
|
hallo mathefreunde,
ich habe 3000 zeilen a 9 kriterienwerte für einen zielwert und möchte diese statistisch auswerten...
29,28 -> 11,1 ; 47,14 ; 19,41 ; 5 ; 0,33 ; 1,56 ; 0,57 ; 0,64 ; 1
-15,9 -> 8,25 ; 11,78 ; 13,28 ; 4 ; 0,16 ; 0,22 ; 0,88 ; 0,92 ; 0,2
-5,23 -> 2 ; 40,76 ; 10,27 ; 3 ; 0,2 ; 6,81 ; 0,36 ; 0,15 ; 1,05
-5,97 -> 4,01 ; 6,23 ; 9,26 ; 5 ; 0,04 ; 0,04 ; 0,93 ; 0,94 ; 0,04
17,37 -> 5,1 ; 14,39 ; 8,6 ; 11 ; 0,46 ; 0,68 ; 0,59 ; 0,73 ; 0,5
der erste wert ist der zielwert durch die andren kriterien bestimmt wird...
am liebsten würde ich hie rnen datei hochladen... geht aber nicht.
was ich brauche ist irgendwelche ansätze... ziel ist es am besten alle oder einzelne oder bestimmte kriterien in einen evntl. kausalen
zusammenhang zu bringen oder ihre werte(bereiche) so begrenzen um möglichst viele positive zielwerte zu erhalten
bisher habe ich nur mit excel ein kriterium (x-achse) und zielwert (y-achse) dargestellt was mir nicht sonderlich half
für leute die die datei haben wollen, um damit zu spielen : nachfragen
Dateianhänge: Anhang Nr. 1 (Typ: xls) [nicht öffentlich]
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 01:19 Do 07.05.2009 | Autor: | cluedo |
Das ist doch eigentlich ein Problem, was du mit KQ-Schätzung lösen kannst. Achte aber auch auf die Voraussetzungen, die "Zielwerte" sollten bspw. Normalverteilt sein. Ich weiß nicht, inwiefern du dich mit Statistik Programmen auskennst. Aber bspw. kannst du R benutzen, was du auch umsonst im Internet bekommst. Dann musst du die Daten einfach nur einlesen und kannst die Regression vornehmen.
ersetze einfach in deinen Daten die -> auch durch ein Semikolon. (mit search&replace) Dann kannst du alle Daten makieren, kopieren und gibst bei R ein:
[mm] \tt{data <- read.table(''clipboard" , sep=";" , dec="," , header=F)}
[/mm]
damit hast du die Daten im Programm und dann musst du nur noch die Regression durchführen mit
[mm] \tt{reg <- lm(data[,1]~data[,2:10])}
[/mm]
[mm] \tt{summary(reg)}
[/mm]
und dann siehst du ob die Daten deine Zielwerte erklären können. aber wie gesagt musst du auf die annahmen der KQ Schätzungen achten, die findest du aber in jedem Statistik Buch.
grüße
|
|
|
|
|
leider habe ich damit noch nicht gearbeitet und kenne mich damit nicht aus :-(
|
|
|
|
|
klappt nicht... nur fehler in r... also schon beim einlesen mit deinen zeilen
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:20 Fr 08.05.2009 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
binn imme rnoch an lösungen interessiert?!
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:05 Mo 11.05.2009 | Autor: | cluedo |
Hi,
stell doch mal die ersten paar Zeilen, der Daten hier kurz rein, die du einlesen möchtest, also schon die transformierten. Eigentlich sollte es so klappen, wie ich es aufgeschrieben habe, ich kanns aber auch selber eben nochmal versuchen und schick dir dann die passenden Zeilen.
grüße
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:59 Mo 11.05.2009 | Autor: | cluedo |
hi,
ich habs jetzt gerade nochmal selber versucht und es ist einfacher, wenn du die Daten entweder so manipulierst wie ich es zu beginn vorgeschlagen habe und sie dann im editor einfach als .csv file speicherst oder wenn du die daten eh in excel vorliegen hast, kannst du sie auch dort gleich als csv speichern. nun gibst du einfach in R die folgenden Zeilen ein:
data <- read.csv("c:/.../sample.csv" , sep=";" , dec="," , header=F)
xnames <- paste("data$V" , 2:10, sep="")
model.formula <- as.formula(paste("data$V1~" , paste(xnames , collapse="+")))
reg <- lm(model.formula)
summary(reg)
wobei du in der ersten Zeile, den Namen und den entsprechenden Speicherort der Daten eingeben musst. Dann muss es funktionieren, ich habs gerade selbst nochmal versucht.
wenns dennoch nicht geht, meld dich einfach nochmal
grüße
|
|
|
|
|
Call:
lm(formula = model.formula)
Residuals:
Min 1Q Median 3Q Max
-38.085 -6.564 -2.874 3.360 115.717
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 13.49124 1.32932 10.149 < 2e-16 ***
data$V2 0.05439 0.06531 0.833 0.40502
data$V3 -0.02567 0.01397 -1.838 0.06615 .
data$V4 0.05812 0.03287 1.768 0.07712 .
data$V5 0.02348 0.09750 0.241 0.80973
data$V6 -7.41370 1.64989 -4.493 7.21e-06 ***
data$V7 -0.03726 0.15277 -0.244 0.80732
data$V8 -13.72308 1.56646 -8.761 < 2e-16 ***
data$V9 -1.91423 1.27780 -1.498 0.13420
data$V10 -1.92173 0.69789 -2.754 0.00592 **
---
Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
Residual standard error: 11.64 on 3858 degrees of freedom
Multiple R-squared: 0.03343, Adjusted R-squared: 0.03118
F-statistic: 14.83 on 9 and 3858 DF, p-value: < 2.2e-16
ist für mich nur schnee
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 20:03 Mi 27.05.2009 | Autor: | cluedo |
ja jetzt hast du den zusammenhang, in der zweiten Spalte "estimate" steht nun wie der zusammenhang der daten mit dem entsprechenden koeffizienten ist.
hier ist es also
[mm] zielwert=13,49+0,05*data\$V2 [/mm] -0,02*data$V3 [mm] +...-1,92data\$V10
[/mm]
das ist der zusammenhang, nun hast du aber das problem dass die einzelnen schätzer nicht signifikant von null verschieden sind, angedeutet durch den p-wert in der letzten spalte. wenn der p-wert größer als 0,05 ist kannst du den effekt des entsprechenden koeffs im prinzip vergessen.
das r-squared ist auch sehr schlecht, die schätzung kann nur 3% der Streuung der daten erklären. du musst also insgesamt die Schätzung etwas anpassen. im prinzip ist der aufruf so wie du ihn bereits durchgeführt hast, du musst nun allerdings die modell formel etwas anpassen
bspw. mit
model.formula <- [mm] as.formula(data\$V1~ data\$V6+ data\$V8 [/mm] + [mm] data\$V10)
[/mm]
(die backslashes sollen dollarzeichen sein, ich kriegs irgendwie nicht hin hier)
vielleicht wird es deutlicher für dich, wenn du den daten mal namen gibst mit
names(data) <- c("zielwert" , "faktor1" , "faktor2" , ... , "faktor9")
direkt nachdem du sie eingelesen hast. dann musst du in der modelformel die namen natürlich auch ändern. dort stehen ja im moment nur die spalten, das änderst du dann einfach auf
model.formula <- as.formula(zielwert ~faktor1 + faktor2 +...+faktor9)
dann rufst du die regression auf mit
lm(model.formula, data=data)
grüße
|
|
|
|