Ich bin Biologe. Ich möchte einen Ansatz kopieren, den ich in einem Artikel gelesen habe: "Um zu ermöglichen, dass Assoziationen mit Sterberaten unabhängig vom Gewicht untersucht werden, wurden Residuen für Sterberaten berechnet, indem die vorhergesagten von beobachteten Werten subtrahiert wurden".Lineare Regression Residuen - Sollte ich die Ergebnisse "standardisieren" und wie dies zu tun ist
Ich habe eine Reihe von Todesraten (die von etwa 0,1 bis 0,5 reichen), eine Reihe von Körpergewichten (die von etwa 2 bis 80 reichen), und ich möchte nach der Körperrechnung Residuen für die Todesraten berechnen Gewicht.
Ich schrieb diesen Code:
import scipy
from scipy import stats
import sys
# This reads in the weight and mortality data to two lists.
Weight = []
Mortality = []
for line in open(sys.argv[1]):
line = line.strip().split()
Weight.append(float(line[-2]))
Mortality.append(float(line[-1]))
# This calculates the regression equation.
slope, intercept, r_value, p_value, std_err = scipy.stats.linregress(Mortality,Weight)
# This calculates the predicted value for each observed value
obs_values = Mortality
pred_values = []
for i in obs_values:
pred_i = float(i) * float(slope) + float(intercept)
pred_values.append(pred_i)
# This prints the residual for each pair of observations
for obs_v,pred_v in zip(obs_values,pred_values):
Residual = str(obs_v - pred_v)
print Residual
Meine Frage ist, wenn ich diesen Code ausführen, scheinen einige meiner Residuen recht groß:
> Sample1 839.710240214 > Sample2 325.787250084 > Sample3 -41.3006000084 > Sample4 -70.6676280159 > Sample5 267.05319407 > Sample6 399.204820103 > Sample7 560.723474144 > Sample8 766.292670196 > Sample9 267.05319407 > Sample10 2.7499420027
Ich frage mich, erscheinen diese Ergebnisse "normal"/sollten sie in irgendeiner Weise "standardisiert" werden/habe ich etwas falsch gemacht, um nach Berücksichtigung des Gewichts Rückstände für die Sterblichkeitsrate zu erhalten?
Ich würde einfache "plain english" Antworten mit möglicherweise Code-Schnipsel, wenn es möglich wäre, schätzen, da ich kein Statistikexperte bin!
Vielen Dank
Zuerst müssen wir die richtige Formel für das finden, was Sie erreichen möchten. dann können wir Ihren Code korrigieren – niklas
Residuen sollten auf 0 summieren, Ihre Zahlen scheinen dies nicht zu tun.Auf der anderen Seite scheint die angegebene Ausgabe vom Code getrennt zu sein, da nichts in Ihrem Code das Wort "Sample" ausgibt. –
In Ihrem Modell ist 'Mortality' das unabhängige und' Weight' ist die abhängige Variable. Ich denke, es sollte umgekehrt sein, wenn Sie nicht behaupten, dass das Mortalitätsrisiko einer Person ihr Gewicht beeinflusst. – ayhan