Регрессивный анализ - PullRequest
0 голосов
/ 26 марта 2019

Я сейчас работаю над проектом, и мне нужна помощь. Я хочу предсказать продолжительность задержки полета, используя статистическую модель. Набор данных не содержит длительности задержек рейсов, но его можно рассчитать из фактического и запланированного времени отправления. Я знаю, что фактическое время отправления - запланированное время отправления даст мне задержку рейса, которая является зависимой переменной. Я изо всех сил пытаюсь получить объясняющие (независимые) переменные в полезной форме для проведения регрессионного анализа - основная проблема - это формат времени первых двух столбцов, когда вы читаете таблицу из файла csv. Я приложил файл данных к вопросу, потому что я не был слишком уверен, как прикрепить мой файл, я новичок в этом коде, хе-хе. Любая помощь будет оценена. хх

https://drive.google.com/file/d/11BXmJCB5UGEIRmVkM-yxPb_dHeD2CgXa/view?usp=sharing

EDIT:

Во-первых, спасибо за помощь

Хорошо, я попытаюсь задать более точные вопросы по этой теме:

Итак, после импорта файла используйте:

1)

    Delays <- read.table("FlightDelaysSM.csv",header =T,sep=",") 

2) Основная проблема, с которой я сталкиваюсь, - это перевод времени и времени в столбцах в формат, в котором я могу выполнять арифметические вычисления

3) Я попробовал ниже

    Delays[,1] - Delays[,2] 

, где возникает очевидная проблема, например, 800 (8 утра) - 756 (7,56 утра) = 44, а не 4 минуты

4) Используя помощь @kerry Джексона (спасибо, вы удивительны, х), я попробовал

    DepartureTime <- strptime(formatC(Delays$deptime, width = 4, format = "d", flag = "0", %H%M)

    ScheduleTime <- strptime(formatC(Delays$schedtime, width = 4, format = "d", flag = "0", %H%M)

    DelayTime = DepartureTime - ScheduleTime

Значения также даны в секундах, я хочу, чтобы разница была в минутах, как бы я это сделал?

5) Затем я сделал следующее:

    DelayData <- data.frame(ScheduleTime, DepartureTime, DelayTime, Delays[, 4:7])

Чего я достиг после создания DelayData

как вы можете видеть по изображению, у меня в столбце есть единицы измерения секунд, называемые DelayTime, которые я не хочу, как указано в 4), а дата указана в столбцах ScheduleTime и DepartureTime. Могу ли я получить некоторые советы о том, как исправить это?

1 Ответ

0 голосов
/ 26 марта 2019

Создайте новый столбец с именем flight_delay:

install.packages('tidyverse')
library(tidyverse)

your_data <- your_data %>%
  mutate(flight_delay=deptime-schedtime)

Теперь создайте модель линейной регрессии, прогнозирующую flight_delay по любой другой переменной:

mod <- lm(flight_delay ~ ., data=your_data)

Для оптимизации вашей модели, используйте функцию step:

mod <- step(mod)

Анализ результатов:

summary(mod)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...