Подгонка логистической кривой, получение параметров для каждой записи - PullRequest
0 голосов
/ 17 марта 2019

Я пытаюсь подобрать простую логистическую кривую, 1 ответ ~ 1 предиктор.

library("drc")
mL <- drm(percent_farm_tractor ~ year, data = final.df, fct = L.3(), 
type = "continuous")
summary(mL)
plot(mL)
coef(mL)
modelFit(mL)

Я привык использовать логистическую регрессию в качестве метода классификации, и использование этих пакетов мне довольно неизвестно.Эта модель возвращает сводку и подходящий график ниже:

Сводка модели

Model Summary

График

Model Plot

Я понимаю, что «b» - это наклон, «d» - потолок, а «e» - точка перегиба.Чтобы дать некоторый контекст, я смотрю на число тракторов в каждом округе в данный год и ожидаю, что это будет следовать S-кривой.Поэтому я ищу эти 3 параметра, но для каждого округа в моем наборе данных.

1 Ответ

1 голос
/ 17 марта 2019

Что-то вроде:

library(drc)

Разделить фрейм данных на список фреймов данных, по одному на страну:

split_df <- split(final.df, final.df$county)

Функция для подгонки модели к набору данных и возврата коэффициентов:

fitfun <- function(d) {
    mL <- drm(percent_farm_tractor ~ year, data = d, fct = L.3(), type = "continuous")
    return(coef(mL))
}

Применение функции к каждому фрагменту данных:

lapply(split_df, fitfun)
...