सामान्यीकृत योजक मॉडल (GAMs), इंटरैक्शन और सहसंयोजक


12

मैं पूर्वानुमान के लिए कई उपकरणों की खोज कर रहा हूं, और इस उद्देश्य के लिए सामान्यीकृत एडिटिव मॉडल (GAMs) पाया है। गाम महान हैं! वे जटिल मॉडल को बहुत ही विशिष्ट रूप से निर्दिष्ट करने की अनुमति देते हैं। हालाँकि, वही शालीनता मुझे कुछ भ्रम पैदा कर रही है, विशेष रूप से इस बात के संबंध में कि कैसे गामा बातचीत की शर्तों और सहसंयोजकों की गर्भधारण करता है।

एक उदाहरण डेटा सेट (पोस्ट के अंत में प्रतिलिपि प्रस्तुत करने योग्य कोड) पर विचार करें, जिसमें yएक मोनोटोनिक फ़ंक्शन होता है जो कि कुछ गौसियों के जोड़े से जुड़ा होता है, साथ ही कुछ शोर:

यहाँ छवि विवरण दर्ज करें

डेटा सेट में कुछ भविष्यवाणियां होती हैं:

  • x: डेटा का सूचकांक (1-100)।
  • w: एक गौण सुविधा जो yएक गौसियन मौजूद है के वर्गों को चिह्नित करती है। w1-20 के मान हैं, जहां x11 और 30 के बीच है, और 51 से 70 है। अन्यथा, w0 है।
  • w2: w + 1, ताकि 0 मान न हों।

R का mgcvपैकेज इन डेटा के लिए कई संभावित मॉडल निर्दिष्ट करना आसान बनाता है:

यहाँ छवि विवरण दर्ज करें

मॉडल 1 और 2 काफी सहज हैं। भविष्यवाणी yमें सूचकांक मूल्य से केवल xडिफ़ॉल्ट चिकनाई पर थोड़ा सही कुछ पैदा करता है, लेकिन बहुत चिकनी। भविष्यवाणी yकेवल से wमें "औसत गाऊसी" वर्तमान का एक मॉडल में परिणाम yहै, और कोई अन्य डेटा बिंदुओं, जो सभी के लिए एक है "जागरूकता" wका मान 0।

मॉडल 3 दोनों का उपयोग करता है xऔर w1 डी चिकनी के रूप में, एक अच्छा फिट का उत्पादन करता है। मॉडल 4 का उपयोग करता है xऔर wएक 2 डी चिकनी में, एक अच्छा फिट भी दे रहा है। ये दो मॉडल बहुत समान हैं, हालांकि समान नहीं हैं।

मॉडल 5 मॉडल x"द्वारा" w। मॉडल 6 विपरीत करता है। mgcvके प्रलेखन में कहा गया है कि "द्वारा तर्क यह सुनिश्चित करता है कि सुचारू कार्य कई गुणा हो जाता है [कोविएट में 'तर्क' द्वारा"। तो क्या मॉडल 5 और 6 समान नहीं होना चाहिए?

मॉडल 7 और 8 भविष्यवाणियों में से एक का उपयोग एक रैखिक शब्द के रूप में करते हैं। ये मेरे लिए सहज ज्ञान युक्त हैं, क्योंकि वे बस कर रहे हैं कि एक GLM इन भविष्यवक्ताओं के साथ क्या करेगा, और फिर मॉडल के बाकी हिस्सों में प्रभाव जोड़ देगा।

अंत में, मॉडल 9 मॉडल 5 के समान है, सिवाय इसके कि x"द्वारा" w2(जो है w + 1) स्मूथ है । यहाँ मेरे लिए विचित्र बात यह है कि शून्य की अनुपस्थिति w2"द्वारा" बातचीत में उल्लेखनीय रूप से अलग प्रभाव पैदा करती है।

तो, मेरे प्रश्न ये हैं:

  • मॉडल 3 और 4 में विनिर्देशों के बीच क्या अंतर है? क्या कोई और उदाहरण है जो अंतर को अधिक स्पष्ट रूप से बताएगा?
  • क्या, वास्तव में, यहाँ "कर" है? वुड की किताब और इस वेबसाइट में मैंने जो कुछ पढ़ा है, उससे पता चलता है कि "द्वारा" एक गुणक प्रभाव पैदा करता है, लेकिन मुझे इसके अंतर्ज्ञान को समझने में परेशानी हो रही है।
  • मॉडल 5 और 9 के बीच ऐसा उल्लेखनीय अंतर क्यों होगा?

रेप्रेक्स इस प्रकार है, आर में लिखा गया है।

library(magrittr)
library(tidyverse)
library(mgcv)

set.seed(1222)
data.ex <- tibble(
  x = 1:100,
  w = c(rep(0, 10), 1:20, rep(0, 20), 1:20, rep(0, 30)),
  w2 = w + 1,
  y = dnorm(x, mean = rep(c(20, 60), each = 50), sd = 3) + (seq(0, 1, length = 100)^2) / 2 + rnorm(100, sd = 0.01)
)

models <- tibble(
  model = 1:9,
  formula = c('y ~ s(x)', 'y ~ s(w)', 'y ~ s(x) + s(w)', 'y ~ s(x, w)', 'y ~ s(x, by = w)', 'y ~ s(w, by = x)', 'y ~ x + s(w)', 'y ~ w + s(x)', 'y ~ s(x, by = w2)'),
  gam = map(formula, function(x) gam(as.formula(x), data = data.ex)),
  data.to.plot = map(gam, function(x) cbind(data.ex, predicted = predict(x)))
)

plot.models <- unnest(models, data.to.plot) %>%
  mutate(facet = sprintf('%i: %s', model, formula)) %>%
  ggplot(data = ., aes(x = x, y = y)) +
  geom_point() +
  geom_line(aes(y = predicted), color = 'red') +
  facet_wrap(facets = ~facet)
print(plot.models)

यह यहां के लोगों के लिए थोड़ा असामाजिक है, जो कि रेप्रेक्स की निर्भरता के रूप में tidyverse पैकेज का उपयोग करते हैं ; मैं उन पैकेजों में से कुछ का उपयोग करता हूं और फिर भी मुझे आपके कोड को चलाने के लिए इंस्टॉल फेस्ट की आवश्यकता है। मिनिमल , यानी सिर्फ जरूरी पैकेजों को सूचीबद्ध करना, अधिक उपयोगी होगा। उस ने कहा, प्रतिनिधि के लिए धन्यवाद; मैं अभी इसे चला रहा हूं
मोनिका - जी। सिम्पसन

जवाबों:


11

Q1 मॉडल 3 और 4 के बीच क्या अंतर है?

मॉडल 3 एक विशुद्ध रूप से योगात्मक मॉडल है

y=α+f1(x)+f2(w)+ε

αxw

मॉडल 4 दो निरंतर चर की एक चिकनी बातचीत है

y=α+f1(x,w)+ε

wxxwf1(x)predict()xwtype = 'terms'predict()s(x)

xw

xwte()

m4a <- gam(y ~ te(x, w), data = data.ex, method = 'REML')

pdata <- mutate(data.ex, Fittedm4a = predict(m4a))
ggplot(pdata, aes(x = x, y = y)) +
  geom_point() +
  geom_line(aes(y = Fittedm4a), col = 'red')

यहाँ छवि विवरण दर्ज करें

एक अर्थ में, मॉडल 4 फिटिंग है

y=α+f1(x)+f2(w)+f3(x,w)+ε

f3xwf3

m4b <- gam(y ~ ti(x) + ti(w) + ti(x, w), data = data.ex, method = 'REML')

लेकिन ध्यान दें कि यह अनुमान 4 चिकनाई पैरामीटर है:

  1. एक के मुख्य चिकनी प्रभाव के साथ जुड़ा हुआ हैx
  2. के मुख्य चिकने प्रभाव से जुड़ा हुआw
  3. x
  4. w

te()मॉडल सिर्फ दो चिकनाई मानकों, सीमांत आधार प्रति एक में शामिल है।

www2

Q2 क्या, वास्तव में, "यहाँ" कर रहा है?

bybybywwx

y=α+f1(x)w+ε

xβ1wwxx

Q3 मॉडल 5 और 9 के बीच ऐसा उल्लेखनीय अंतर क्यों होगा?

f1(x)wf1(x)×0=0f1(x)×1=f1(x)wf1(x)w

www


यह Q1 के लिए एक उपयोगी उत्तर है, धन्यवाद! 1 डी स्मूच या एक 2 डी स्मूथ के sums की पसंद मोटे तौर पर (फिर, मोटे तौर पर ) मुख्य प्रभाव बनाम मानक रैखिक मॉडलिंग में बातचीत के अनुरूप लगती है । लेकिन यह byपैरामीटर के अस्तित्व को और अधिक खराब बना देता है।
jdobres

मैंने अब Q2 पर कुछ जोड़ा है, जो उम्मीद करता है कि उन मॉडल क्या कर रहे हैं। मैं अब Q3 में देखूंगा।
मोनिका को बहाल करें - जी। सिम्पसन

मुझे लगता है कि क्यू 3 का जवाब अंकगणित का एक सरल मुद्दा है जो 5 और 9 में मॉडल के अलग-अलग गुणांक भाग के साथ बातचीत कर रहा है
मोनिका जी - जी सिम्पसन

बहुत मददगार! क्यू 2 को स्पष्ट करने के लिए, क्या आप कह रहे हैं कि "द्वारा" तर्क में प्रदान किए गए भविष्यवक्ता अनिवार्य रूप से सुचारू भविष्यवक्ता के परिणाम के लिए एक अतिरिक्त गुणांक बन जाता है? मुझे संदेह है कि मेरा अंतर्ज्ञान गलत है, क्योंकि यह मॉडल 5 के समान दिखने वाले मॉडल 5 की ओर ले जाना चाहिए
jdobres

α+f1(w)α+f1(x)wwwxwwxw
मोनिका को बहाल करें - जी। सिम्पसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.