Versuchen Sie, Unterschiede in gewichteten logistischen Regressionsausgängen zwischen StatsModels und Rs Umfrage und SRVPython

Python-Programme
Guest
 Versuchen Sie, Unterschiede in gewichteten logistischen Regressionsausgängen zwischen StatsModels und Rs Umfrage und SRV

Post by Guest »

Ich habe einen fiktiven Datensatz für gewichtete Umfrage, der Informationen über die Autofarben der Befragten und ihre Antwort auf die Frage "Ich fahre gerne schnell". Ich möchte eine Regression durchführen, um festzustellen, ob die Wahrscheinlichkeit, dass ein wenig dieser Frage zustimmt, je nach dem Antrieb des Befragten ein schwarzes Auto vorhanden ist oder nicht. (Dies ist keine ernsthafte Analyse. Ich stelle sie nur ein, um gewichtete Regressionsausgaben in R und Python zu vergleichen.) < /P>
Um diese Frage zu beantworten, rannte ich zuerst. Eine gewichtete logistische Regression unter Verwendung von Rs Umfrage und srvyr Pakete. Diese Regression lieferte eine Teststatistik von -1,18 für den schwarzen Auto -Farbkoeffizienten und einen P -Wert von 0,238. Als ich jedoch eine gewichtete logistische Regression innerhalb von StatsModels durchführte, erhielt ich für diesen Koeffizienten eine Teststatistik von -1,35 und einen P -Wert von 0,177. Ich möchte verstehen, warum diese Teststatistiken unterschiedlich sind und ob ich in meinem Setup Fehler für beide Tests mache, die diese Diskrepanz erklären könnten. < /P>
Es ist auch erwähnenswert Ich habe die Gewichtskomponente aus jedem Test entfernt, meine Teststatistiken und P -Werte waren nahezu identisch. Daher scheinen diese beiden Implementierungen meine Umfragegewichte anders zu behandeln. Gleiches Notizbuch wie mein Python -Code.

Code: Select all

import pandas as pd
import statsmodels.formula.api as smf
import statsmodels.api as sm
%load_ext rpy2.ipython
%R library(dplyr)
%R library(srvyr)
%R library(survey)
%R library(broom)
import pandas as pd

df_car_survey = pd.read_csv(
'https://raw.githubusercontent.com/ifstudies/\
carsurveydata/refs/heads/main/car_survey.csv')

# Adding dummy columns for independent and dependent variables:

for column in ['Car_Color', 'Enjoy_Driving_Fast']:
df_car_survey = pd.concat([df_car_survey, pd.get_dummies(
df_car_survey[column], dtype = 'int', prefix = column)],
axis = 1)

df_car_survey.columns = [column.replace(' ', '_') for column in
df_car_survey.columns]

# Loading DataFrame into R and creating a survey design object:
# See https://tidy-survey-r.github.io/tidy-survey-book/c10-sample-designs-replicate-weights.html
# for more details.
# This book was also inval
%Rpush df_car_survey
%R df_sdo % as_survey_design(\
weights = 'Weight')

print("Survey design object:")
%R print(df_sdo)

# Logistic regression in R:
# (This code was based on that found in
# https://tidy-survey-r.github.io/tidy-survey-book/c07-modeling.html )
%R logit_result

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post