2016-07-21 2 views
0

Я использую процедуру адаптивного управления SAS для создания кусочно-линейной функции с температурой (temp) в качестве переменной x и Usage (usage_value) в качестве переменной y. Я могу использовать детали процедуры adaptivereg, чтобы найти диапазоны различных линейных функций кусочно-функциональной функции. Есть ли способ ограничить количество диапазонов (т. Е. Вместо 8 линейных функций в кусочной функции, я хочу ограничить его до 5 линейных функций). Есть ли какие-либо варианты, которые я могу добавить, что позволило бы мне ограничить количество линейных функций?SAS Adaptivereg Предельные точки останова

Ниже приведен код, который я использую. Где a1 - это имя моего набора данных, temp - независимая переменная, а use_value - зависимая переменная.

proc adaptivereg data=a1 plots=all details=bases; 
    model usage_value = temp; 
run; 

ответ

1

Я люблю адаптироваться. Это такая классная маленькая процедура.

Вы можете использовать опцию df в model заявления контролировать общее количество узлов, чтобы рассмотреть и вариант maxbasis контролировать максимальное число узлов в конечной модели. Чем выше степень свободы, которую вы используете, тем меньше узлов.

proc adaptivereg data=sashelp.air; 
    model air = date/df=12 maxbasis=3; 
run; 

Вы также можете использовать опцию alpha= для тонкой настройки его. Увеличение альфы приведет к большему количеству узлов.

Альтернативный подход может использовать параметры pbspline/spline в transreg или proc quantreg, соответственно.

proc transreg data=sashelp.air; 
    model identity(air) = pbspline(date/evenly=6); 
run; 

proc quantreg data=sashelp.air; 
    effect sp = spline(date/knotmethod=equal(12)); 
    model air = sp/quantile=0.5; 
run; 
+0

Хорошо спасибо, я отдам его. Я выводит базовые данные, используя подробности = основания. Я ищу, чтобы найти различные линейные функции и их соответствующие диапазоны, наклоны и y-перехваты. Я выводил базовые данные, и мне интересно, как эта информация сопоставляется с диапазонами, склонами и y-перехватами, которые я ищу. Я в основном не уверен, как использовать предоставленную информацию для предсказания моего значения y (use_value) на основе заданного значения x (temp). – jarsushi

Смежные вопросы