Я пытаюсь интерполировать/локально экстраполировать некоторые данные о зарплате, чтобы заполнить набор данных.Прогнозирование с помощью Lowess в R (ИЛИ согласование Loess & Lowess)
Вот набор данных и график имеющихся данных:
experience salary
1: 1 21878.67
2: 2 23401.33
3: 3 23705.00
4: 4 24260.00
5: 5 25758.60
6: 6 26763.40
7: 7 27920.00
8: 8 28600.00
9: 9 28820.00
10: 10 32600.00
11: 12 30650.00
12: 14 32600.00
13: 15 32600.00
14: 16 37700.00
15: 17 33380.00
16: 20 36784.33
17: 23 35600.00
18: 25 33590.00
19: 30 32600.00
20: 31 33920.00
21: 35 32600.00
Учитывая ясно Нелинейность, я надеюсь, что интерполировать & экстраполировать (Я хочу, чтобы заполнить опыт в течение многих лет 0 через 40) через локальную линейную оценку, поэтому я дефолт в lowess
, что дает это:
Это хорошо на участке, но необработанных данных нет - устройство для построения R заполнило пробелы для нас. Мне не удалось найти метод predict
для этой функции, так как кажется, что R
движется к использованию loess
, что, как я понимаю, является обобщением.
Однако, когда я использую loess
(настройка surface="direct"
, чтобы иметь возможность экстраполировать, как указано в ?loess
), который имеет стандартный predict
метод, подгонка менее удовлетворительным:
(Есть сильные теоретические основания утверждать, что зарплата должна быть неуклонной - есть некоторый шум/возможное неправильное измерение, приводящее здесь форму U)
И я не могу показаться, что вы можете играть с любым из пар для возврата назад неубывающей посадки, указанной lowess
.
Любые предложения относительно того, что делать?
удивительный! как узнать обо всех этих методах интерполяции, мне остается задаться вопросом ... – MichaelChirico
В этом случае это была работа с виньеткой, которая поставляется с пакетом «quantreg'» Роджера Коенкера. –