Какие параметры принимает stepAIC?

Я использую функцию stepAIC() из библиотеки (MASS).

И согласно документации говорится, что я могу передать "объект":

модель соответствующего класса. Это используется в качестве начальной модели в пошаговом поиске.

Что такое подходящий класс?

Я создал модель, используя ksvm(), но stepAIC, похоже, не принимает ее.

Я использую код:

stepAIC(svmFit, direction="both")

И я получаю ошибку

Error: $ operator not defined for this S4 class

Объект svmFit, который я передаю, имеет класс:

[1] "ksvm"
attr(,"package")
[1] "kernlab"

1 ответ

Мне не совсем ясно, какие модели принимаются, но мы можем предположить, основываясь на источнике.

Требуется модель, к которой можно получить доступ, используя $ (т.е., как правило, класс S3). Ваша модель класса S4, и поэтому по определению не будет работать.

Кроме того, для класса модели должен быть хотя бы рабочий метод для следующих функций: formula, terms, update.formula, nobs, extractAIC, deviance, update (судя по скане источника). Это может быть метод по умолчанию, такой как stats:::formula.default, который находит либо x$formula, $terms, $call$formula или атрибут формулы.

Если один или несколько из этих методов не были реализованы, он также потерпит неудачу.

В основном, он делает много предположений, которые работают для многих функций моделирования, таких как lm а также glm, Можно написать новую функцию моделирования, которая будет создавать модели, совместимые с stepAICи полный список может быть трудно создать!

Другие вопросы по тегам