Skip to main content
3 of 3
added 1780 characters in body
Shawn Hemelstrand
  • 18.5k
  • 6
  • 35
  • 92

First off, your objective here is very backwards. It shouldn't be which method is the most interesting, it should be which method is applicable to my situation. In your situation, a GAM is complete overkill when you don't have to deal with nonlinearity, and is going to be more data hungry then typical techniques. A GLM with a specific residual distribution should really only be applied if you expect the conditional distribution to exhibit a specific pattern (e.g. Bernoulli distribution of a binary response). Linear regression is for modeling a Gaussian conditional distribution and would be applicable in a situation where you don't need to go beyond that assumption.

However, with such a finite amount of data, I can't expect you to get anything of value with $n = 11$ data points. What's worse, you are going to dangerously overfit the model by having almost as many predictors as observations. In fact, such a model should in principle be impossible to fit anyway given you have more predictors than observations, so I think some information may be missing from your question. A very simple demonstration in R with some simulated data shows the results are nonsensical:

#### Setup Parameters ####
set.seed(123) # random seed
n <- 11 # observations 
num_x <- 14 # predictors

#### Simulate X Variables ####
x <- matrix(
  rnorm(n * num_x), 
  nrow = n, 
  ncol = num_x
  )

#### Merge X Data ####
x_df <- as.data.frame(x)
colnames(x_df) <- paste0("x", 1:num_x)

#### Simulate Y and Merge Data Again ####
y <- rnorm(n)
data <- cbind(x_df, y)

#### Fit Regression ###
fit <- lm(
  formula = y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11 + x12 + x13 + x14,
  data = data
)

#### Print Model ####
summary(fit)

As shown below (notice it completely drops coefficients at $X_{11}$ and warns us that the matrix has become singular):

Call:
lm(formula = y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + 
    x10 + x11 + x12 + x13 + x14, data = data)

Residuals:
ALL 11 residuals are 0: no residual degrees of freedom!

Coefficients: (4 not defined because of singularities)
             Estimate Std. Error t value Pr(>|t|)
(Intercept)  0.028574        NaN     NaN      NaN
x1           1.148516        NaN     NaN      NaN
x2           0.421618        NaN     NaN      NaN
x3          -0.008065        NaN     NaN      NaN
x4          -0.278369        NaN     NaN      NaN
x5           2.076605        NaN     NaN      NaN
x6          -2.059897        NaN     NaN      NaN
x7           0.661934        NaN     NaN      NaN
x8          -1.367416        NaN     NaN      NaN
x9          -0.074724        NaN     NaN      NaN
x10          0.774342        NaN     NaN      NaN
x11                NA         NA      NA       NA
x12                NA         NA      NA       NA
x13                NA         NA      NA       NA
x14                NA         NA      NA       NA

No matter what technique you use, your results are going to be highly unreliable with such little data anyway. Since you already peaked at this data and threw different combinations of techniques at it, the results are not going to be very trustworthy. I would find a way to either get a new sample as well as find out how to get more data in the future. This will be problematic in your future research if you can't manage get more than eleven observations.

Shawn Hemelstrand
  • 18.5k
  • 6
  • 35
  • 92