I've measured pink noise stimulations count and DEEP sleep length to find out if stimulations prolong DEEP sleep.

I've slept 145 nights with Dreem 2 headband and did a statistical analysis

On average, pink noise stimulations increase my DEEP sleep by ~11 minutes per night. Additional ~1h20m of DEEP sleep per week seems to be a significant effect.

There is a some scientific evidence that pink noise can increase deep sleep quality (delta power) and quantity. But that's not happends, when pink noise not synced with accurately detected deep sleep stage (by EEG). Dreem 2 EEG Headband have this feature.

The purpose of this self experiment (n=1) is to **find out if pink noise stimulations can increase amount of DEEP sleep**.

Since Dreem doesnt provide me a access to raw EEG signal (all my requests were refused) delta power is not analyzed (but they claim power increase it by 11.79%, p-value = 3.52e-5).

1 adult male anthropometrics was described in previous article

During 145 nights (from 2020-08-27 to 2021-08-21) amount of pink noise stimulations and DEEP sleep length was assessed by Dreem 2 EEG Headband which was validated^{[1]} against gold standard PSG. In a stimulus study, accuracy was also checked and shows strong correlations to PSG and spectrogram agreement. There were 22 nights without stimulations at all and 123 nights with stimulations. Amount of stimulations were different for each day and determined by Dreem 2 internal algorhytms.

Subjective sleep quality, mood, depression, anxiety, stress, fatigue and sleepiness was assessed by a popular in scientific research questionnaires described in previous experiment

The data summary shown below

*DEEP in hours*

Linear regression

effect | p-value | effect size | |

DEEP, minutes | 0.035 | 0.0006* | weak |

We can see a slope of 0.035 minutes increase in DEEP sleep stage for each additional 1 stimulation with weak effect size. Even with weak effect size, average of 310 stimulations per night extended DEEP sleep for additional 11 minutes. 95% Confidence for slope is very narrow [0.0346,0.0359].

DEEP, minutes

The main result of this experiment is a statistically significant association between pink noise stumulations count and DEEP sleep time.

Dreem 2 seem to be able to increase DEEP sleep time for an additional 11 minutes. Since my average DEEP is around 90 minutes the effect is about +11% of DEEP sleep. Not so huge, but its additional ~1 hour per week.

In conclusion, when i'm planning to sleep with Dreem 2 i'll make Stimulations feature ON.

Amount of DEEP sleep decreases during aging and using this feature may slow down this process.

Limitations:

- These results are NOT generalizable
- Absence of blinding, randomization, observational nature, n=1
- Often correlation ≠ causation
- Questionnaires widely used in research are prone to participant bias.
- There is a lot of factors affecting sleep (diet, exercise, caffeine etc) which not taken into account

Welcome for questions, suggestions and critics in comments below.

Dreem 2 device unmodified data is fully available here and format is explained by manufacturer.

Data for questionaires will be presented soon.

R Code:

`library(effectsize)`

library(lubridate)

library(ggplot2)

ggplotRegression <- function (fit) {

require(ggplot2)

ggplot(fit$model, aes_string(x = names(fit$model)[2], y = names(fit$model)[1])) +

geom_point() +

stat_smooth(method = "lm", col = "red") +

labs(title = paste("Adj R2 = ",signif(summary(fit)$adj.r.squared, 5),

"Intercept =",signif(fit$coef[[1]],5 ),

" Slope =",signif(fit$coef[[2]], 5),

" P =",signif(summary(fit)$coef[2,4], 5)))

}

dreem <- read.csv("https://blog.kto.to/uploads/dreem.csv", skip = 5, sep = ';', header = TRUE)

dreem <- dreem[!is.na(dreem$Type),]

starttime = vector(); stims = vector(); deeptime = vector(); remtime = vector(); waso = vector(); sol = vector(); lighttime = vector()

for (i in 1:nrow(dreem)) {

deeptime[i] <- period_to_seconds(hms(dreem$Deep.Sleep.Duration[i]))

}

dreem$DEEP <- (deeptime/60)

l <- lm(DEEP ~ Number.of.Stimulations, data=dreem)

summary(dreem)

length(dreem$Number.of.Stimulations[dreem$Number.of.Stimulations>0])

length(dreem$Number.of.Stimulations[dreem$Number.of.Stimulations==0])

summary(anova(l))

s <- summary(l); s

interpret_r2(s$adj.r.squared[1])

confint(l , level = 0.05)

ggplotRegression(l)

`Call:`

lm(formula = DEEP ~ Number.of.Stimulations, data = dreem)

Residuals:

Min 1Q Median 3Q Max

-43.055 -14.494 -2.857 12.111 54.287

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 92.81139 3.55987 26.072 < 2e-16 ***

Number.of.Stimulations 0.03528 0.01002 3.521 0.000577 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 20.94 on 143 degrees of freedom

Multiple R-squared: 0.07978, Adjusted R-squared: 0.07335

F-statistic: 12.4 on 1 and 143 DF, p-value: 0.0005771

`interpret_r2(s$adj.r.squared[1])`

[1] "weak"

`confint(l , level = 0.05)`

47.5 % 52.5 %

(Intercept) 92.5877661 93.03500637

Number.of.Stimulations 0.0346501 0.03590891

RStudio version 1.3.959 and R version 4.0.2 was user for a simple linear regression model and to calculate slopes and p-values.

Effect sizes based on adjusted R2, Cohen's 1988 rules