какие параметры принимает stepAIC? - PullRequest
0 голосов
/ 14 декабря 2018

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

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

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

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

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

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

stepAIC(svmFit, direction="both")

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

Error: $ operator not defined for this S4 class

Объект svmFit Я передаю класса:

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

1 Ответ

0 голосов
/ 14 декабря 2018

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

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

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

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

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

...