dsm(via Natalie Kelly, AAD. Seen in Moby Dick.)
Taking the previous example…
\[ n_j = \color{red}{A_j}\color{blue}{\hat{p}_j} \color{green}{\exp}\left[\color{grey}{ \beta_0 + s(\text{y}_j) + s(\text{Depth}_j)} \right] + \epsilon_j \]
where \( \epsilon_j \sim N(0, \sigma^2) \), \( \quad n_j\sim \) count distribution
\[ 
\color{red}{n_j} = A_j\hat{p}_j \exp\left[ \beta_0 + s(\text{y}_j) + s(\text{Depth}_j) \right] + \epsilon_j
 \]
where \( \epsilon_j \sim N(0, \sigma^2) \), \( \quad \color{red}{n_j\sim \text{count distribution}} \)
\[ 
n_j = A_j\hat{p}_j \exp\left[ \beta_0 + \color{red}{s(\text{y}_j) + s(\text{Depth}_j}) \right] + \epsilon_j
 \]
where \( \epsilon_j \sim N(0, \sigma^2) \), \( \quad n_j\sim \) count distribution
\[ 
n_j = A_j\hat{p}_j \exp\left[ \beta_0 + s(\text{y}_j) \right] + \epsilon_j
 \]
where \( \epsilon_j \sim N(0, \sigma^2) \), \( \quad n_j\sim \) count distribution
formula=count ~ s(y)family=nb() or family=tw()ddf.obj=df_hrsegment.data=segs, observation.data=obs library(dsm)
dsm_x_tw <- dsm(count~s(x), ddf.obj=df,
                segment.data=segs, observation.data=obs,
                family=tw())
dsm is based on mgcv by Simon Wood
summary(dsm_x_tw)
Family: Tweedie(p=1.326) 
Link function: log 
Formula:
count ~ s(x) + offset(off.set)
Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -19.8115     0.2277  -87.01   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Approximate significance of smooth terms:
       edf Ref.df     F  p-value    
s(x) 4.962  6.047 6.403 1.07e-06 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
R-sq.(adj) =  0.0283   Deviance explained = 17.7%
-REML = 409.94  Scale est. = 6.0413    n = 949
plot(dsm_x_tw)+dsm_xy_tw <- dsm(count ~ s(x) + s(y),
                 ddf.obj=df,
                 segment.data=segs,
                 observation.data=obs,
                 family=tw())
summary(dsm_xy_tw)
Family: Tweedie(p=1.306) 
Link function: log 
Formula:
count ~ s(x) + s(y) + offset(off.set)
Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -20.0908     0.2381  -84.39   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Approximate significance of smooth terms:
       edf Ref.df     F  p-value    
s(x) 4.943  6.057 3.224 0.004239 ** 
s(y) 5.293  6.420 4.034 0.000322 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
R-sq.(adj) =  0.0678   Deviance explained = 27.3%
-REML = 399.84  Scale est. = 5.3157    n = 949
plot(dsm_xy_tw, pages=1)
scale=0: each plot on different scalepages=1: plot togethers(x,y) (and s(x,y,z,...))dsm_xyb_tw <- dsm(count ~ s(x, y),
                 ddf.obj=df,
                 segment.data=segs,
                 observation.data=obs,
                 family=tw())
summary(dsm_xyb_tw)
Family: Tweedie(p=1.29) 
Link function: log 
Formula:
count ~ s(x, y) + offset(off.set)
Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -20.2745     0.2477  -81.85   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Approximate significance of smooth terms:
         edf Ref.df     F  p-value    
s(x,y) 16.89  21.12 4.333 3.73e-10 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
R-sq.(adj) =  0.102   Deviance explained = 34.6%
-REML = 394.86  Scale est. = 4.8248    n = 949
plot(dsm_xyb_tw)
plot(dsm_xyb_tw, select=1,
     scheme=2, asp=1)
too.far excludes points far from data