From b2f53073e7c1113ea4b82c3f4d53764c362b5a8d Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 4 Oct 2023 22:03:31 +0200 Subject: [PATCH 001/100] test --- tests/testthat/test-check_predictions.R | 34 +++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tests/testthat/test-check_predictions.R diff --git a/tests/testthat/test-check_predictions.R b/tests/testthat/test-check_predictions.R new file mode 100644 index 000000000..caf0c66d4 --- /dev/null +++ b/tests/testthat/test-check_predictions.R @@ -0,0 +1,34 @@ +skip_on_os("mac") +skip_on_cran() + +test_that("check_predictions", { + data(mtcars) + model <- lm(mpg ~ disp, data = mtcars) + set.seed(99) + out <- check_predictions(model) + + expect_named( + out, + c( + "sim_1", "sim_2", "sim_3", "sim_4", "sim_5", "sim_6", "sim_7", + "sim_8", "sim_9", "sim_10", "sim_11", "sim_12", "sim_13", "sim_14", + "sim_15", "sim_16", "sim_17", "sim_18", "sim_19", "sim_20", "sim_21", + "sim_22", "sim_23", "sim_24", "sim_25", "sim_26", "sim_27", "sim_28", + "sim_29", "sim_30", "sim_31", "sim_32", "sim_33", "sim_34", "sim_35", + "sim_36", "sim_37", "sim_38", "sim_39", "sim_40", "sim_41", "sim_42", + "sim_43", "sim_44", "sim_45", "sim_46", "sim_47", "sim_48", "sim_49", + "sim_50", "y" + ) + ) + expect_equal( + out$sim_1, + c( + 23.70112, 24.56502, 25.43419, 20.40954, 13.58266, 20.72532, + 11.95366, 25.14559, 22.61286, 18.48403, 20.26737, 21.2291, 20.67149, + 10.07628, 0.25886, 10.64176, 10.18407, 20.68235, 28.10115, 27.55045, + 28.22301, 18.94021, 16.87727, 14.05421, 13.8378, 28.13797, 26.86451, + 23.90539, 10.68719, 28.17587, 21.65853, 26.07681 + ), + tolerance = 1e-4 + ) +}) From 4ec706e12570378e2a781189fac5386ea0127728 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 5 Oct 2023 09:31:33 +0200 Subject: [PATCH 002/100] test --- tests/testthat/test-check_predictions.R | 48 ++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/tests/testthat/test-check_predictions.R b/tests/testthat/test-check_predictions.R index caf0c66d4..61d97f9b9 100644 --- a/tests/testthat/test-check_predictions.R +++ b/tests/testthat/test-check_predictions.R @@ -23,7 +23,7 @@ test_that("check_predictions", { expect_equal( out$sim_1, c( - 23.70112, 24.56502, 25.43419, 20.40954, 13.58266, 20.72532, + 23.70112, 24.56502, 25.43419, 20.40954, 13.58266, 20.72532, 11.95366, 25.14559, 22.61286, 18.48403, 20.26737, 21.2291, 20.67149, 10.07628, 0.25886, 10.64176, 10.18407, 20.68235, 28.10115, 27.55045, 28.22301, 18.94021, 16.87727, 14.05421, 13.8378, 28.13797, 26.86451, @@ -32,3 +32,49 @@ test_that("check_predictions", { tolerance = 1e-4 ) }) + + +test_that("check_predictions, glmmTMB", { + skip_if_not_installed("glmmTMB") + data(mtcars) + model <- glmmTMB::glmmTMB(vs ~ disp, data = mtcars, family = binomial()) + set.seed(99) + out <- check_predictions(model) + + expect_named( + out, + c( + "sim_1", "sim_2", "sim_3", "sim_4", "sim_5", "sim_6", "sim_7", + "sim_8", "sim_9", "sim_10", "sim_11", "sim_12", "sim_13", "sim_14", + "sim_15", "sim_16", "sim_17", "sim_18", "sim_19", "sim_20", "sim_21", + "sim_22", "sim_23", "sim_24", "sim_25", "sim_26", "sim_27", "sim_28", + "sim_29", "sim_30", "sim_31", "sim_32", "sim_33", "sim_34", "sim_35", + "sim_36", "sim_37", "sim_38", "sim_39", "sim_40", "sim_41", "sim_42", + "sim_43", "sim_44", "sim_45", "sim_46", "sim_47", "sim_48", "sim_49", + "sim_50", "y" + ) + ) + expect_equal( + out$sim_1, + c( + 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, + 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1 + ), + tolerance = 1e-4 + ) + expect_true(attributes(out)$model_info$is_bernoulli) + + model <- glmmTMB::glmmTMB(vs ~ disp + (1 | cyl), data = mtcars, family = binomial()) + set.seed(99) + out <- check_predictions(model) + + expect_equal( + out$sim_1, + c( + 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, + 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0 + ), + tolerance = 1e-4 + ) + expect_true(attributes(out)$model_info$is_bernoulli) +}) From 187ab586cb03c2f44811003d88faeb3760eaec25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Th=C3=A9riault?= <13123390+rempsyc@users.noreply.github.com> Date: Thu, 5 Oct 2023 10:54:04 -0400 Subject: [PATCH 003/100] JOSE paper (#586) Co-authored-by: Dominique Makowski Co-authored-by: Daniel --- DESCRIPTION | 5 +- NEWS.md | 4 +- inst/WORDLIST | 24 +- papers/JOSE/apa.csl | 1917 +++++++++++++++++ papers/JOSE/arxiv.sty | 255 +++ papers/JOSE/cover_letter.Rmd | 29 + papers/JOSE/cover_letter.pdf | Bin 0 -> 56483 bytes papers/JOSE/paper.Rmd | 296 +++ .../mybibfile.bib => JOSE/paper.bib} | 19 +- papers/JOSE/paper.log | 1133 ++++++++++ papers/JOSE/paper.md | 325 +++ papers/JOSE/paper.pdf | Bin 0 -> 593364 bytes .../paper_files/figure-latex/model_fig-1.pdf | Bin 0 -> 8485 bytes .../paper.Rmd => JOSE/paper_longform.Rmd} | 118 +- papers/JOSE/table1.jpg | Bin 0 -> 393255 bytes papers/JOSS/{paper.bib => paper_temp.bib} | 0 papers/JOSS/{paper.md => paper_temp.md} | 0 papers/Mathematics/cover_letter.Rmd | 27 - papers/Mathematics/journalnames.tex | 234 -- papers/Mathematics/logo-mdpi.pdf | Bin 11831 -> 0 bytes papers/Mathematics/logo-orcid.pdf | Bin 1907 -> 0 bytes papers/Mathematics/logo-updates.pdf | Bin 11692 -> 0 bytes papers/Mathematics/mdpi.bst | 1347 ------------ papers/Mathematics/mdpi.cls | 1176 ---------- papers/Mathematics/paper.pdf | Bin 250727 -> 0 bytes papers/Mathematics/paper.tex | 956 -------- .../paper_files/figure-latex/model-1.pdf | Bin 7824 -> 0 bytes .../paper_files/figure-latex/model2-1.pdf | Bin 8536 -> 0 bytes .../figure-latex/multimethod-1.pdf | Bin 6696 -> 0 bytes .../figure-latex/multivariate-1.pdf | Bin 5096 -> 0 bytes .../paper_files/figure-latex/scatter-1.pdf | Bin 7724 -> 0 bytes .../paper_files/figure-latex/univariate-1.pdf | Bin 5097 -> 0 bytes .../figure-latex/unnamed-chunk-3-1.pdf | Bin 7724 -> 0 bytes .../figure-latex/unnamed-chunk-4-1.pdf | Bin 6672 -> 0 bytes .../figure-latex/unnamed-chunk-5-1.pdf | Bin 8534 -> 0 bytes .../figure-latex/unnamed-chunk-5-2.pdf | Bin 6695 -> 0 bytes vignettes/check_outliers.Rmd | 300 +++ vignettes/paper.bib | 161 ++ 38 files changed, 4529 insertions(+), 3797 deletions(-) create mode 100644 papers/JOSE/apa.csl create mode 100644 papers/JOSE/arxiv.sty create mode 100644 papers/JOSE/cover_letter.Rmd create mode 100644 papers/JOSE/cover_letter.pdf create mode 100644 papers/JOSE/paper.Rmd rename papers/{Mathematics/mybibfile.bib => JOSE/paper.bib} (90%) create mode 100644 papers/JOSE/paper.log create mode 100644 papers/JOSE/paper.md create mode 100644 papers/JOSE/paper.pdf create mode 100644 papers/JOSE/paper_files/figure-latex/model_fig-1.pdf rename papers/{Mathematics/paper.Rmd => JOSE/paper_longform.Rmd} (85%) create mode 100644 papers/JOSE/table1.jpg rename papers/JOSS/{paper.bib => paper_temp.bib} (100%) rename papers/JOSS/{paper.md => paper_temp.md} (100%) delete mode 100644 papers/Mathematics/cover_letter.Rmd delete mode 100644 papers/Mathematics/journalnames.tex delete mode 100644 papers/Mathematics/logo-mdpi.pdf delete mode 100644 papers/Mathematics/logo-orcid.pdf delete mode 100644 papers/Mathematics/logo-updates.pdf delete mode 100644 papers/Mathematics/mdpi.bst delete mode 100644 papers/Mathematics/mdpi.cls delete mode 100644 papers/Mathematics/paper.pdf delete mode 100644 papers/Mathematics/paper.tex delete mode 100644 papers/Mathematics/paper_files/figure-latex/model-1.pdf delete mode 100644 papers/Mathematics/paper_files/figure-latex/model2-1.pdf delete mode 100644 papers/Mathematics/paper_files/figure-latex/multimethod-1.pdf delete mode 100644 papers/Mathematics/paper_files/figure-latex/multivariate-1.pdf delete mode 100644 papers/Mathematics/paper_files/figure-latex/scatter-1.pdf delete mode 100644 papers/Mathematics/paper_files/figure-latex/univariate-1.pdf delete mode 100644 papers/Mathematics/paper_files/figure-latex/unnamed-chunk-3-1.pdf delete mode 100644 papers/Mathematics/paper_files/figure-latex/unnamed-chunk-4-1.pdf delete mode 100644 papers/Mathematics/paper_files/figure-latex/unnamed-chunk-5-1.pdf delete mode 100644 papers/Mathematics/paper_files/figure-latex/unnamed-chunk-5-2.pdf create mode 100644 vignettes/check_outliers.Rmd create mode 100644 vignettes/paper.bib diff --git a/DESCRIPTION b/DESCRIPTION index 933df479a..d72634892 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.5.6 +Version: 0.10.6 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -93,7 +93,9 @@ Suggests: dbscan, estimatr, fixest, + flextable, forecast, + ftExtra, gamm4, ggplot2, glmmTMB, @@ -128,6 +130,7 @@ Suggests: psych, qqplotr (>= 0.0.6), randomForest, + rempsyc, rmarkdown, rstanarm, rstantools, diff --git a/NEWS.md b/NEWS.md index 06eee8f47..bc7687113 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,6 +1,6 @@ -# performance (development version) +# performance 0.10.6 -## General +## General * Support for `nestedLogit` models. diff --git a/inst/WORDLIST b/inst/WORDLIST index adf602827..fbef7c991 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -9,6 +9,7 @@ Ankerst Archimbaud Arel Asq +BCI BFBayesFactor BMJ Baayen @@ -75,6 +76,7 @@ Gazen Gelman Gnanadesikan Guilford +HDI HJ Hastie Herron @@ -110,10 +112,10 @@ Killeen Kliegl Kristensen Kullback -Lakens LOF LOGLOSS LOOIC +Lakens Laniado Leibler Lemeshow @@ -123,6 +125,7 @@ Leys Lillo Liu Lomax +MADs MSA Maddala Magee @@ -148,6 +151,7 @@ Nakagawa's Nordhausen Normed ORCID +OSF Olkin PNFI Pek @@ -193,7 +197,6 @@ Tibshirani Tily Tjur Tjur's -Trochim Tsai Tweedie VIF @@ -207,9 +210,9 @@ Visualisation Vuong Vuong's WAIC -WMK Weisberg Windmeijer +Winsorization Witten Xu YL @@ -237,6 +240,7 @@ brmsfit cauchy clusterable concurvity +datawizard dbscan der detrend @@ -252,23 +256,21 @@ fpsyg gam geoms ggplot -github gjo glm glmmTMB glmrob grey heteroskedasticity -homoskedasticity homoscedasticity +homoskedasticity https intra intraclass -io -ize joss kmeans lavaan +lm lme lmrob lmtest @@ -285,18 +287,22 @@ models’ multicollinearity multimodel multiresponse +multivariable nd nonnest overfitted patilindrajeets poisson preprint +priori pscl quared quartile quartiles rOpenSci +recoding rempsyc +reproducibility rescaling rma rmarkdown @@ -308,6 +314,7 @@ se smicd sphericity strengejacke +suboptimal subscale subscales theoreritcal @@ -317,5 +324,8 @@ und underfitted underfitting visualisation +winsorization +winsorize +winsorized xy youtube diff --git a/papers/JOSE/apa.csl b/papers/JOSE/apa.csl new file mode 100644 index 000000000..946c7fcd2 --- /dev/null +++ b/papers/JOSE/apa.csl @@ -0,0 +1,1917 @@ + + \ No newline at end of file diff --git a/papers/JOSE/arxiv.sty b/papers/JOSE/arxiv.sty new file mode 100644 index 000000000..f32d6d899 --- /dev/null +++ b/papers/JOSE/arxiv.sty @@ -0,0 +1,255 @@ +\NeedsTeXFormat{LaTeX2e} + +\ProcessOptions\relax + +% fonts +\renewcommand{\rmdefault}{ptm} +\renewcommand{\sfdefault}{phv} + +% set page geometry +\usepackage[verbose=true,letterpaper]{geometry} +\AtBeginDocument{ + \newgeometry{ + textheight=9in, + textwidth=6.5in, + top=1in, + headheight=14pt, + headsep=25pt, + footskip=30pt + } +} + +\widowpenalty=10000 +\clubpenalty=10000 +\flushbottom +\sloppy + +\usepackage{fancyhdr} +\fancyhf{} +\pagestyle{fancy} +\renewcommand{\headrulewidth}{0pt} +\fancyheadoffset{0pt} +\rhead{\scshape A preprint - \today} +\cfoot{\thepage} + + +%Handling Keywords +\def\keywordname{{\bfseries \emph Keywords}}% +\def\keywords#1{\par\addvspace\medskipamount{\rightskip=0pt plus1cm +\def\and{\ifhmode\unskip\nobreak\fi\ $\cdot$ +}\noindent\keywordname\enspace\ignorespaces#1\par}} + +% font sizes with reduced leading +\renewcommand{\normalsize}{% + \@setfontsize\normalsize\@xpt\@xipt + \abovedisplayskip 7\p@ \@plus 2\p@ \@minus 5\p@ + \abovedisplayshortskip \z@ \@plus 3\p@ + \belowdisplayskip \abovedisplayskip + \belowdisplayshortskip 4\p@ \@plus 3\p@ \@minus 3\p@ +} +\normalsize +\renewcommand{\small}{% + \@setfontsize\small\@ixpt\@xpt + \abovedisplayskip 6\p@ \@plus 1.5\p@ \@minus 4\p@ + \abovedisplayshortskip \z@ \@plus 2\p@ + \belowdisplayskip \abovedisplayskip + \belowdisplayshortskip 3\p@ \@plus 2\p@ \@minus 2\p@ +} +\renewcommand{\footnotesize}{\@setfontsize\footnotesize\@ixpt\@xpt} +\renewcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt} +\renewcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt} +\renewcommand{\large}{\@setfontsize\large\@xiipt{14}} +\renewcommand{\Large}{\@setfontsize\Large\@xivpt{16}} +\renewcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{20}} +\renewcommand{\huge}{\@setfontsize\huge\@xxpt{23}} +\renewcommand{\Huge}{\@setfontsize\Huge\@xxvpt{28}} + +% sections with less space +\providecommand{\section}{} +\renewcommand{\section}{% + \@startsection{section}{1}{\z@}% + {-2.0ex \@plus -0.5ex \@minus -0.2ex}% + { 1.5ex \@plus 0.3ex \@minus 0.2ex}% + {\large\bf\raggedright}% +} +\providecommand{\subsection}{} +\renewcommand{\subsection}{% + \@startsection{subsection}{2}{\z@}% + {-1.8ex \@plus -0.5ex \@minus -0.2ex}% + { 0.8ex \@plus 0.2ex}% + {\normalsize\bf\raggedright}% +} +\providecommand{\subsubsection}{} +\renewcommand{\subsubsection}{% + \@startsection{subsubsection}{3}{\z@}% + {-1.5ex \@plus -0.5ex \@minus -0.2ex}% + { 0.5ex \@plus 0.2ex}% + {\normalsize\bf\raggedright}% +} +\providecommand{\paragraph}{} +\renewcommand{\paragraph}{% + \@startsection{paragraph}{4}{\z@}% + {1.5ex \@plus 0.5ex \@minus 0.2ex}% + {-1em}% + {\normalsize\bf}% +} +\providecommand{\subparagraph}{} +\renewcommand{\subparagraph}{% + \@startsection{subparagraph}{5}{\z@}% + {1.5ex \@plus 0.5ex \@minus 0.2ex}% + {-1em}% + {\normalsize\bf}% +} +\providecommand{\subsubsubsection}{} +\renewcommand{\subsubsubsection}{% + \vskip5pt{\noindent\normalsize\rm\raggedright}% +} + +% float placement +\renewcommand{\topfraction }{0.85} +\renewcommand{\bottomfraction }{0.4} +\renewcommand{\textfraction }{0.1} +\renewcommand{\floatpagefraction}{0.7} + +\newlength{\@abovecaptionskip}\setlength{\@abovecaptionskip}{7\p@} +\newlength{\@belowcaptionskip}\setlength{\@belowcaptionskip}{\z@} + +\setlength{\abovecaptionskip}{\@abovecaptionskip} +\setlength{\belowcaptionskip}{\@belowcaptionskip} + +% swap above/belowcaptionskip lengths for tables +\renewenvironment{table} + {\setlength{\abovecaptionskip}{\@belowcaptionskip}% + \setlength{\belowcaptionskip}{\@abovecaptionskip}% + \@float{table}} + {\end@float} + +% footnote formatting +\setlength{\footnotesep }{6.65\p@} +\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@} +\renewcommand{\footnoterule}{\kern-3\p@ \hrule width 12pc \kern 2.6\p@} +\setcounter{footnote}{0} + +% paragraph formatting +\setlength{\parindent}{\z@} +\setlength{\parskip }{5.5\p@} + +% list formatting +\setlength{\topsep }{4\p@ \@plus 1\p@ \@minus 2\p@} +\setlength{\partopsep }{1\p@ \@plus 0.5\p@ \@minus 0.5\p@} +\setlength{\itemsep }{2\p@ \@plus 1\p@ \@minus 0.5\p@} +\setlength{\parsep }{2\p@ \@plus 1\p@ \@minus 0.5\p@} +\setlength{\leftmargin }{3pc} +\setlength{\leftmargini }{\leftmargin} +\setlength{\leftmarginii }{2em} +\setlength{\leftmarginiii}{1.5em} +\setlength{\leftmarginiv }{1.0em} +\setlength{\leftmarginv }{0.5em} +\def\@listi {\leftmargin\leftmargini} +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 0.5\p@ + \parsep 1\p@ \@plus 0.5\p@ \@minus 0.5\p@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 0.5\p@ \@minus 0.5\p@ + \parsep \z@ + \partopsep 0.5\p@ \@plus 0\p@ \@minus 0.5\p@ + \itemsep \topsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} + +% create title +\providecommand{\maketitle}{} +\renewcommand{\maketitle}{% + \par + \begingroup + \renewcommand{\thefootnote}{\fnsymbol{footnote}} + % for perfect author name centering + \renewcommand{\@makefnmark}{\hbox to \z@{$^{\@thefnmark}$\hss}} + % The footnote-mark was overlapping the footnote-text, + % added the following to fix this problem (MK) + \long\def\@makefntext##1{% + \parindent 1em\noindent + \hbox to 1.8em{\hss $\m@th ^{\@thefnmark}$}##1 + } + \thispagestyle{empty} + \@maketitle + \@thanks + %\@notice + \endgroup + \let\maketitle\relax + \let\thanks\relax +} + +% rules for title box at top of first page +\newcommand{\@toptitlebar}{ + \hrule height 2\p@ + \vskip 0.25in + \vskip -\parskip% +} +\newcommand{\@bottomtitlebar}{ + \vskip 0.29in + \vskip -\parskip + \hrule height 2\p@ + \vskip 0.09in% +} + +% create title (includes both anonymized and non-anonymized versions) +\providecommand{\@maketitle}{} +\renewcommand{\@maketitle}{% + \vbox{% + \hsize\textwidth + \linewidth\hsize + \vskip 0.1in + \@toptitlebar + \centering + {\LARGE\sc \@title\par} + \@bottomtitlebar + \textsc{A Preprint}\\ + \vskip 0.1in + \def\And{% + \end{tabular}\hfil\linebreak[0]\hfil% + \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\ignorespaces% + } + \def\AND{% + \end{tabular}\hfil\linebreak[4]\hfil% + \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\ignorespaces% + } + \begin{tabular}[t]{c}\bf\rule{\z@}{24\p@}\@author\end{tabular}% + \vskip 0.4in \@minus 0.1in \center{\today} \vskip 0.2in + } +} + +% add conference notice to bottom of first page +\newcommand{\ftype@noticebox}{8} +\newcommand{\@notice}{% + % give a bit of extra room back to authors on first page + \enlargethispage{2\baselineskip}% + \@float{noticebox}[b]% + \footnotesize\@noticestring% + \end@float% +} + +% abstract styling +\renewenvironment{abstract} +{ + \centerline + {\large \bfseries \scshape Abstract} + \begin{quote} +} +{ + \end{quote} +} + +\endinput diff --git a/papers/JOSE/cover_letter.Rmd b/papers/JOSE/cover_letter.Rmd new file mode 100644 index 000000000..4251c050a --- /dev/null +++ b/papers/JOSE/cover_letter.Rmd @@ -0,0 +1,29 @@ +--- +output: pdf_document +--- + +Dear Dr. Vazire, + +We are pleased to submit this paper to *Collabra: Psychology*. + +The paper, titled "Check your outliers! An introduction to identifying statistical outliers in R with *easystats*", provides an overview of current recommendations and best practices regarding the diagnosis and treatment of outliers, a common issue faced by researchers---and a potential source of scientific malpractice. + +It explains the key approaches, highlights recommendations, and shows how users can adopt them in their R analysis with a single function. The manuscript covers univariate, multivariate, and model-based statistical outlier detection methods, their recommended threshold, standard output, and plotting method, among other things. + +Beyond acting like a concise review of outlier treatment procedures and practical tutorial, we also introduce a new outlier-detection method that relies on a consensus-based approach. In this sense, the paper fits well with the "Methodology and Research Practice in Psychology" section of the journal, as it essentially communicates to psychologists how to easily follow some of the best practices in the detection of statistical outlier using currently available open source and free software. This makes the manuscript relevant to data science, behavioural science, and good research and statistical practices more generally. + +As Associated Editor, we would like to suggest Jeffrey Girard, as he is familiar with the *easystats* and R ecosystems, as well as good statistical practices. Additionally, we would like to request a streamlined review, as the manuscript has been rejected within the previous 365 days from the journal *Mathematics*. Accordingly, we provide in this submission a detailed letter that includes prior reviews, the decision letter, as well as how we addressed the reviewers' comments. We have in this regard integrated most of the changes suggested by the reviewers. Note that the previous editors and reviewers have not given their permission for their comments to be openly available at *Collabra: Psychology*. However, although an open review was requested, the reviewers did not sign their reviews. + +Our current submission is original and has been neither published elsewhere nor is currently under consideration for publication elsewhere. All authors have contributed substantially to the software and manuscript. All authors gave final approval to the manuscript and accept to be accountable. We have no conflicts of interest to disclose. We have also read the Transparency and Openness policy of the Editorial Policies of *Collabra: Psychology*. + +Thank you for considering our submission. + +On the behalf of all authors, + +Rémi Thériault + +Department of Psychology, + +Université du Québec à Montréal, + +Montréal, Québec, Canada \ No newline at end of file diff --git a/papers/JOSE/cover_letter.pdf b/papers/JOSE/cover_letter.pdf new file mode 100644 index 0000000000000000000000000000000000000000..15650f828a5911b0fdaa1526bfab944c863573a8 GIT binary patch literal 56483 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 xZG). + +## Multivariate Outliers + +Univariate outliers can be useful when the focus is on a particular variable, for instance the reaction time, as extreme values might be indicative of inattention or non-task-related behavior^[ Note that they might not be the optimal way of treating reaction time outliers [@ratcliff1993methods; @van1995statistical]]. + +However, in many scenarios, variables of a data set are not independent, and an abnormal observation will impact multiple dimensions. For instance, a participant giving random answers to a questionnaire. In this case, computing the _z_ score for each of the questions might not lead to satisfactory results. Instead, one might want to look at these variables together. + +One common approach for this is to compute multivariate distance metrics such as the Mahalanobis distance. Although the Mahalanobis distance is very popular, just like the regular _z_ scores method, it is not robust and is heavily influenced by the outliers themselves. Therefore, for multivariate outliers, it is recommended to use the Minimum Covariance Determinant, a robust version of the Mahalanobis distance [MCD, @leys2018outliers; @leys2019outliers]. + +In *{performance}*'s `check_outliers()`, one can use this approach with `method = "mcd"`.^[Our default threshold for the MCD method is defined by `stats::qchisq(p = 1 - 0.001, df = ncol(x))`, which again is an approximation of the critical value for _p_ < .001 consistent with the thresholds of our other methods.] + +```{r multivariate} +outliers <- check_outliers(data, method = "mcd") +outliers +``` + +Here, we detected 9 multivariate outliers (i.e,. when looking at all variables of our dataset together). + +Other multivariate methods are available, such as another type of robust Mahalanobis distance that in this case relies on an orthogonalized Gnanadesikan-Kettenring pairwise estimator [@gnanadesikan1972robust]. These methods are documented and described in the function's [help page](https://easystats.github.io/performance/reference/check_outliers.html). + +## Model-Based Outliers + +Working with regression models creates the possibility of using model-based SOD methods. These methods rely on the concept of *leverage*, that is, how much influence a given observation can have on the model estimates. If few observations have a relatively strong leverage/influence on the model, one can suspect that the model's estimates are biased by these observations, in which case flagging them as outliers could prove helpful (see next section, "Handling Outliers"). + +In {performance}, two such model-based SOD methods are currently available: Cook's distance, for regular regression models, and Pareto, for Bayesian models. As such, `check_outliers()` can be applied directly on regression model objects, by simply specifying `method = "cook"` (or `method = "pareto"` for Bayesian models).^[Our default threshold for the Cook method is defined by `stats::qf(0.5, ncol(x), nrow(x) - ncol(x))`, which again is an approximation of the critical value for _p_ < .001 consistent with the thresholds of our other methods.] + +Currently, most lm models are supported (with the exception of `glmmTMB`, `lmrob`, and `glmrob` models), as long as they are supported by the underlying functions `stats::cooks.distance()` (or `loo::pareto_k_values()`) and `insight::get_data()` (for a full list of the 225 models currently supported by the `insight` package, see https://easystats.github.io/insight/#list-of-supported-models-by-class). Also note that although `check_outliers()` supports the pipe operators (`|>` or `%>%`), it does not support `tidymodels` at this time. We show a demo below. + +```{r model} +model <- lm(disp ~ mpg * disp, data = data) +outliers <- check_outliers(model, method = "cook") +outliers +``` + +Using the model-based outlier detection method, we identified a single outlier. + +Table 1 below summarizes which methods to use in which cases, and with what threshold. The recommended thresholds are the default thresholds. + +```{r table1_prep, echo=FALSE} +df <- data.frame( + `Statistical Test` = c( + "Supported regression model", + "Structural Equation Modeling (or other unsupported model)", + "Simple test with few variables (*t* test, correlation, etc.)"), + `Diagnosis Method` = c( + "**Model-based**: Cook (or Pareto for Bayesian models)", + "**Multivariate**: Minimum Covariance Determinant (MCD)", + "**Univariate**: robust *z* scores (MAD)"), + `Recommended Threshold` = c( + "_qf(0.5, ncol(x), nrow(x) - ncol(x))_ (or 0.7 for Pareto)", + "_qchisq(p = 1 - 0.001, df = ncol(x))_", + "_qnorm(p = 1 - 0.001 / 2)_, ~ 3.29"), + `Function Usage` = c( + '_check_outliers(model, method = "cook")_', + '_check_outliers(data, method = "mcd")_', + '_check_outliers(data, method = "zscore_robust")_'), + check.names = FALSE +) +``` + +### Table 1 + +_Summary of Statistical Outlier Detection Methods Recommendations_ + +```{r table1_print, echo=FALSE, message=FALSE, eval=FALSE} +x <- flextable::flextable(df, cwidth = 1.25) +x <- flextable::theme_apa(x) +x <- flextable::font(x, fontname = "Latin Modern Roman", part = "all") +x <- flextable::fontsize(x, size = 10, part = "all") +ftExtra::colformat_md(x) + +``` + +![](table1.jpg) + +All `check_outliers()` output objects possess a `plot()` method, meaning it is also possible to visualize the outliers using the generic `plot()` function on the resulting outlier object after loading the {see} package (Figure 1). + +```{r model_fig, fig.cap = "Visual depiction of outliers based on Cook's distance (leverage and standardized residuals), based on the fitted model."} +plot(outliers) +``` + +## Cook's Distance vs. MCD + +@leys2018outliers report a preference for the MCD method over Cook's distance. This is because Cook's distance removes one observation at a time and checks its corresponding influence on the model each time [@cook1977detection], and flags any observation that has a large influence. In the view of these authors, when there are several outliers, the process of removing a single outlier at a time is problematic as the model remains "contaminated" or influenced by other possible outliers in the model, rendering this method suboptimal in the presence of multiple outliers. + +However, distribution-based approaches are not a silver bullet either, and there are cases where the usage of methods agnostic to theoretical and statistical models of interest might be problematic. For example, a very tall person would be expected to also be much heavier than average, but that would still fit with the expected association between height and weight (i.e., it would be in line with a model such as `weight ~ height`). In contrast, using multivariate outlier detection methods there may flag this person as being an outlier---being unusual on two variables, height and weight---even though the pattern fits perfectly with our predictions. + +Finally, unusual observations happen naturally: extreme observations are expected even when taken from a normal distribution. While statistical models can integrate this "expectation", multivariate outlier methods might be too conservative, flagging too many observations despite belonging to the right generative process. For these reasons, we believe that model-based methods are still preferable to the MCD when using supported regression models. Additionally, if the presence of multiple outliers is a significant concern, regression methods that are more robust to outliers should be considered---like _t_ regression or quantile regression---as they render their precise identification less critical [@mcelreath2020statistical]. + +## Composite Outlier Score + +The *{performance}* package also offers an alternative, consensus-based approach that combines several methods, based on the assumption that different methods provide different angles of looking at a given problem. By applying a variety of methods, one can hope to "triangulate" the true outliers (those consistently flagged by multiple methods) and thus attempt to minimize false positives. + +In practice, this approach computes a composite outlier score, formed of the average of the binary (0 or 1) classification results of each method. It represents the probability that each observation is classified as an outlier by at least one method. The default decision rule classifies rows with composite outlier scores superior or equal to 0.5 as outlier observations (i.e., that were classified as outliers by at least half of the methods). In *{performance}*'s `check_outliers()`, one can use this approach by including all desired methods in the corresponding argument. + +```{r multimethod, fig.cap = "Visual depiction of outliers using several different statistical outlier detection methods."} +outliers <- check_outliers(model, method = c("zscore_robust", "mcd", "cook")) +which(outliers) +``` + +Outliers (counts or per variables) for individual methods can then be obtained through attributes. For example: + +```{r} +attributes(outliers)$outlier_var$zscore_robust +``` + +An example sentence for reporting the usage of the composite method could be: + +> Based on a composite outlier score [see the 'check_outliers()' function in the 'performance' R package, @ludecke2021performance] obtained via the joint application of multiple outliers detection algorithms [(a) median absolute deviation (MAD)-based robust _z_ scores, @leys2013outliers; (b) Mahalanobis minimum covariance determinant (MCD), @leys2019outliers; and (c) Cook's distance, @cook1977detection], we excluded two participants that were classified as outliers by at least half of the methods used. + +# Handling Outliers + +The above section demonstrated how to identify outliers using the `check_outliers()` function in the *{performance}* package. But what should we do with these outliers once identified? Although it is common to automatically discard any observation that has been marked as "an outlier" as if it might infect the rest of the data with its statistical ailment, we believe that the use of SOD methods is but one step in the get-to-know-your-data pipeline; a researcher or analyst's _domain knowledge_ must be involved in the decision of how to deal with observations marked as outliers by means of SOD. Indeed, automatic tools can help detect outliers, but they are nowhere near perfect. Although they can be useful to flag suspect data, they can have misses and false alarms, and they cannot replace human eyes and proper vigilance from the researcher. If you do end up manually inspecting your data for outliers, it can be helpful to think of outliers as belonging to different types of outliers, or categories, which can help decide what to do with a given outlier. + +## Error, Interesting, and Random Outliers + +@leys2019outliers distinguish between error outliers, interesting outliers, and random outliers. _Error outliers_ are likely due to human error and should be corrected before data analysis or outright removed since they are invalid observations. _Interesting outliers_ are not due to technical error and may be of theoretical interest; it might thus be relevant to investigate them further even though they should be removed from the current analysis of interest. _Random outliers_ are assumed to be due to chance alone and to belong to the correct distribution and, therefore, should be retained. + +It is recommended to _keep_ observations which are expected to be part of the distribution of interest, even if they are outliers [@leys2019outliers]. However, if it is suspected that the outliers belong to an alternative distribution, then those observations could have a large impact on the results and call into question their robustness, especially if significance is conditional on their inclusion, so should be removed. + +We should also keep in mind that there might be error outliers that are not detected by statistical tools, but should nonetheless be found and removed. For example, if we are studying the effects of X on Y among teenagers and we have one observation from a 20-year-old, this observation might not be a _statistical outlier_, but it is an outlier in the _context_ of our research, and should be discarded. We could call these observations *undetected* error outliers, in the sense that although they do not statistically stand out, they do not belong to the theoretical or empirical distribution of interest (e.g., teenagers). In this way, we should not blindly rely on statistical outlier detection methods; doing our due diligence to investigate undetected error outliers relative to our specific research question is also essential for valid inferences. + +## Winsorization + +_Removing_ outliers can in this case be a valid strategy, and ideally one would report results with and without outliers to see the extent of their impact on results. This approach however can reduce statistical power. Therefore, some propose a _recoding_ approach, namely, winsorization: bringing outliers back within acceptable limits [e.g., 3 MADs, @tukey1963less]. However, if possible, it is recommended to collect enough data so that even after removing outliers, there is still sufficient statistical power without having to resort to winsorization [@leys2019outliers]. + +The _easystats_ ecosystem makes it easy to incorporate this step into your workflow through the `winsorize()` function of *{datawizard}*, a lightweight R package to facilitate data wrangling and statistical transformations [@patil2022datawizard]. This procedure will bring back univariate outliers within the limits of 'acceptable' values, based either on the percentile, the _z_ score, or its robust alternative based on the MAD. + +## The Importance of Transparency + +Finally, it is a critical part of a sound outlier treatment that regardless of which SOD method used, it should be reported in a reproducible manner. Ideally, the handling of outliers should be specified *a priori* with as much detail as possible, and preregistered, to limit researchers' degrees of freedom and therefore risks of false positives [@leys2019outliers]. This is especially true given that interesting outliers and random outliers are often times hard to distinguish in practice. Thus, researchers should always prioritize transparency and report all of the following information: (a) how many outliers were identified (including percentage); (b) according to which method and criteria, (c) using which function of which R package (if applicable), and (d) how they were handled (excluded or winsorized, if the latter, using what threshold). If at all possible, (e) the corresponding code script along with the data should be shared on a public repository like the Open Science Framework (OSF), so that the exclusion criteria can be reproduced precisely. + +# References \ No newline at end of file diff --git a/papers/Mathematics/mybibfile.bib b/papers/JOSE/paper.bib similarity index 90% rename from papers/Mathematics/mybibfile.bib rename to papers/JOSE/paper.bib index 463fd9e2b..56c8ae7e1 100644 --- a/papers/Mathematics/mybibfile.bib +++ b/papers/JOSE/paper.bib @@ -41,18 +41,17 @@ @article{simmons2011false URL = {https://doi.org/10.1177/0956797611417632}, } -@Article{easystatspackage, - title = {easystats: Framework for Easy Statistical Modeling, Visualization, and Reporting}, - author = {Daniel Lüdecke and Mattan S. Ben-Shachar and Indrajeet Patil and Brenton M. Wiernik and Etienne Bacher and Rémi Thériault and Dominique Makowski}, - journal = {CRAN}, - year = {2022}, - note = {R package}, - url = {https://easystats.github.io/easystats/}, - } +@software{easystatspackage, + title = {{easystats}: Streamline Model Interpretation, Visualization, and Reporting}, + author = {Daniel Lüdecke and Dominique Makowski and Mattan S. Ben-Shachar and Indrajeet Patil and Brenton M. Wiernik and Etienne Bacher and Rémi Thériault}, + date = {2023-02-04T22:06:06Z}, + origdate = {2019-01-28T10:39:29Z}, + url = {https://easystats.github.io/easystats/} +} @Article{ludecke2021performance, author = {Daniel Lüdecke and Mattan S. Ben-Shachar and Indrajeet Patil and Philip Waggoner and Dominique Makowski}, - title = {{performance}: An R package for assessment, comparison and testing of statistical models}, + title = {{performance}: An {R} package for assessment, comparison and testing of statistical models}, volume = {6}, number = {60}, journal = {Journal of Open Source Software}, @@ -146,7 +145,7 @@ @article{ratcliff1993methods } @book{mcelreath2020statistical, - title={Statistical rethinking: A Bayesian course with examples in R and Stan}, + title={Statistical rethinking: A Bayesian course with examples in {R} and Stan}, author={McElreath, Richard}, year={2020}, publisher={CRC press} diff --git a/papers/JOSE/paper.log b/papers/JOSE/paper.log new file mode 100644 index 000000000..e31fca364 --- /dev/null +++ b/papers/JOSE/paper.log @@ -0,0 +1,1133 @@ +This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023) (preloaded format=xelatex 2023.10.4) 4 OCT 2023 18:48 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**paper.tex +(./paper.tex +LaTeX2e <2023-06-01> patch level 1 +L3 programming layer <2023-08-29> +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/base/article.cls +Document Class: article 2023/05/17 v1.4n Standard LaTeX document class +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2023/05/17 v1.4n Standard LaTeX file (size option) +) +\c@part=\count181 +\c@section=\count182 +\c@subsection=\count183 +\c@subsubsection=\count184 +\c@paragraph=\count185 +\c@subparagraph=\count186 +\c@figure=\count187 +\c@table=\count188 +\abovecaptionskip=\skip48 +\belowcaptionskip=\skip49 +\bibindent=\dimen140 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/marginnote/marginnote.sty +Package: marginnote 2018/08/09 1.4b non floating margin notes for LaTeX +\c@mn@abspage=\count189 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2022/05/29 v1.15 key=value parser (DPC) +\KV@toks@=\toks17 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2021/08/11 v1.11 sin cos tan (DPC) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: xetex.def on input line 107. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/graphics-def/xetex.def +File: xetex.def 2022/09/22 v5.0n Graphics/color driver for xetex +)) +\Gin@req@height=\dimen141 +\Gin@req@width=\dimen142 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2022/06/12 v2.14 LaTeX color extensions (UK) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: xetex.def on input line 227. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/graphics/mathcolor.ltx) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1353. +Package xcolor Info: Model `RGB' extended on input line 1369. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1371. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1372. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1373. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1374. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1375. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1376. +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/preprint/authblk.sty +Package: authblk 2001/02/27 1.3 (PWD) +\affilsep=\skip50 +\@affilsep=\skip51 +\c@Maxaffil=\count190 +\c@authors=\count191 +\c@affil=\count192 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count193 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/titlesec/titlesec.sty +Package: titlesec 2021/07/05 v2.14 Sectioning titles +\ttl@box=\box51 +\beforetitleunit=\skip52 +\aftertitleunit=\skip53 +\ttl@plus=\dimen143 +\ttl@minus=\dimen144 +\ttl@toksa=\toks18 +\titlewidth=\dimen145 +\titlewidthlast=\dimen146 +\titlewidthfirst=\dimen147 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/tools/calc.sty +Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ) +\calc@Acount=\count194 +\calc@Bcount=\count195 +\calc@Adimen=\dimen148 +\calc@Bdimen=\dimen149 +\calc@Askip=\skip54 +\calc@Bskip=\skip55 +LaTeX Info: Redefining \setlength on input line 80. +LaTeX Info: Redefining \addtolength on input line 81. +\calc@Ccount=\count196 +\calc@Cskip=\skip56 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks19 +\pgfutil@tempdima=\dimen150 +\pgfutil@tempdimb=\dimen151 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box52 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2023-01-15 v3.1.10 (3.1.10) +)) +Package: pgf 2023-01-15 v3.1.10 (3.1.10) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2023-01-15 v3.1.10 (3.1.10) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks20 +\pgfkeys@temptoks=\toks21 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.tex +\pgfkeys@tmptoks=\toks22 +)) +\pgf@x=\dimen152 +\pgf@y=\dimen153 +\pgf@xa=\dimen154 +\pgf@ya=\dimen155 +\pgf@xb=\dimen156 +\pgf@yb=\dimen157 +\pgf@xc=\dimen158 +\pgf@yc=\dimen159 +\pgf@xd=\dimen160 +\pgf@yd=\dimen161 +\w@pgf@writea=\write3 +\r@pgf@reada=\read2 +\c@pgf@counta=\count197 +\c@pgf@countb=\count198 +\c@pgf@countc=\count199 +\c@pgf@countd=\count266 +\t@pgf@toka=\toks23 +\t@pgf@tokb=\toks24 +\t@pgf@tokc=\toks25 +\pgf@sys@id@count=\count267 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2023-01-15 v3.1.10 (3.1.10) +) +Driver file for pgf: pgfsys-xetex.def +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def +File: pgfsys-xetex.def 2023-01-15 v3.1.10 (3.1.10) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def +File: pgfsys-dvipdfmx.def 2023-01-15 v3.1.10 (3.1.10) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def +File: pgfsys-common-pdf.def 2023-01-15 v3.1.10 (3.1.10) +) +\pgfsys@objnum=\count268 +))) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex +File: pgfsyssoftpath.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfsyssoftpath@smallbuffer@items=\count269 +\pgfsyssoftpath@bigbuffer@items=\count270 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex +File: pgfsysprotocol.code.tex 2023-01-15 v3.1.10 (3.1.10) +)) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2023-01-15 v3.1.10 (3.1.10) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen162 +\pgfmath@count=\count271 +\pgfmath@box=\box53 +\pgfmath@toks=\toks26 +\pgfmath@stack@operand=\toks27 +\pgfmath@stack@operation=\toks28 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count272 +)) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex +File: pgfcorepoints.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@picminx=\dimen163 +\pgf@picmaxx=\dimen164 +\pgf@picminy=\dimen165 +\pgf@picmaxy=\dimen166 +\pgf@pathminx=\dimen167 +\pgf@pathmaxx=\dimen168 +\pgf@pathminy=\dimen169 +\pgf@pathmaxy=\dimen170 +\pgf@xx=\dimen171 +\pgf@xy=\dimen172 +\pgf@yx=\dimen173 +\pgf@yy=\dimen174 +\pgf@zx=\dimen175 +\pgf@zy=\dimen176 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex +File: pgfcorepathconstruct.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@path@lastx=\dimen177 +\pgf@path@lasty=\dimen178 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex +File: pgfcorepathusage.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@shorten@end@additional=\dimen179 +\pgf@shorten@start@additional=\dimen180 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex +File: pgfcorescopes.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfpic=\box54 +\pgf@hbox=\box55 +\pgf@layerbox@main=\box56 +\pgf@picture@serial@count=\count273 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex +File: pgfcoregraphicstate.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgflinewidth=\dimen181 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex +File: pgfcoretransformations.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@pt@x=\dimen182 +\pgf@pt@y=\dimen183 +\pgf@pt@temp=\dimen184 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex +File: pgfcoreobjects.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex +File: pgfcorepathprocessing.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex +File: pgfcorearrows.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfarrowsep=\dimen185 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@max=\dimen186 +\pgf@sys@shading@range@num=\count274 +\pgf@shadingcount=\count275 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex +File: pgfcoreexternal.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfexternal@startupbox=\box57 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex +File: pgfcorelayers.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex +File: pgfcoretransparency.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex +File: pgfcorepatterns.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex +File: pgfcorerdf.code.tex 2023-01-15 v3.1.10 (3.1.10) +))) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfnodeparttextbox=\box58 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2023-01-15 v3.1.10 (3.1.10) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty +Package: pgfcomp-version-0-65 2023-01-15 v3.1.10 (3.1.10) +\pgf@nodesepstart=\dimen187 +\pgf@nodesepend=\dimen188 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty +Package: pgfcomp-version-1-18 2023-01-15 v3.1.10 (3.1.10) +)) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/pgf/utilities/pgffor.sty (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/pgf/math/pgfmath.sty (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2023-01-15 v3.1.10 (3.1.10) +\pgffor@iter=\dimen189 +\pgffor@skip=\dimen190 +\pgffor@stack=\toks29 +\pgffor@toks=\toks30 +)) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2023-01-15 v3.1.10 (3.1.10) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex +File: pgflibraryplothandlers.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@plot@mark@count=\count276 +\pgfplotmarksize=\dimen191 +) +\tikz@lastx=\dimen192 +\tikz@lasty=\dimen193 +\tikz@lastxsaved=\dimen194 +\tikz@lastysaved=\dimen195 +\tikz@lastmovetox=\dimen196 +\tikz@lastmovetoy=\dimen197 +\tikzleveldistance=\dimen198 +\tikzsiblingdistance=\dimen199 +\tikz@figbox=\box59 +\tikz@figbox@bg=\box60 +\tikz@tempbox=\box61 +\tikz@tempbox@bg=\box62 +\tikztreelevel=\count277 +\tikznumberofchildren=\count278 +\tikznumberofcurrentchild=\count279 +\tikz@fig@count=\count280 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfmatrixcurrentrow=\count281 +\pgfmatrixcurrentcolumn=\count282 +\pgf@matrix@numberofcolumns=\count283 +) +\tikz@expandcount=\count284 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2023-01-15 v3.1.10 (3.1.10) +))) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2023-07-08 v7.01b Hypertext links for LaTeX +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2022/02/03 v1.0f TeX engine tests +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/infwarerr/infwarerr.sty +Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode not found. +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/pdfescape/pdfescape.sty +Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/hycolor/hycolor.sty +Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/auxhook/auxhook.sty +Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2023-08-07 v2.53 Cross-referencing by name of section +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/refcount/refcount.sty +Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty +Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/kvoptions/kvoptions.sty +Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO) +)) +\c@section@level=\count285 +) +\@linkdim=\dimen256 +\Hy@linkcounter=\count286 +\Hy@pagecounter=\count287 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2023-07-08 v7.01b Hyperref: PDFDocEncoding definition (HO) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/intcalc/intcalc.sty +Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) +) +\Hy@SavedSpaceFactor=\count288 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2023-07-08 v7.01b Hyperref: PDF Unicode definition (HO) +) +Package hyperref Info: Hyper figures OFF on input line 4167. +Package hyperref Info: Link nesting OFF on input line 4172. +Package hyperref Info: Hyper index ON on input line 4175. +Package hyperref Info: Plain pages OFF on input line 4182. +Package hyperref Info: Backreferencing OFF on input line 4187. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4434. +\c@Hy@tempcnt=\count289 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip16 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 4772. +\XeTeXLinkMargin=\dimen257 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/bitset/bitset.sty +Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO) +)) +\Fld@menulength=\count290 +\Field@Width=\dimen258 +\Fld@charsize=\dimen259 +Package hyperref Info: Hyper figures OFF on input line 6051. +Package hyperref Info: Link nesting OFF on input line 6056. +Package hyperref Info: Hyper index ON on input line 6059. +Package hyperref Info: backreferencing OFF on input line 6066. +Package hyperref Info: Link coloring OFF on input line 6071. +Package hyperref Info: Link coloring with OCG OFF on input line 6076. +Package hyperref Info: PDF/A mode OFF on input line 6081. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/base/atbegshi-ltx.sty +Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi +package with kernel methods +) +\Hy@abspage=\count291 +\c@Item=\count292 +\c@Hfootnote=\count293 +) +Package hyperref Info: Driver (autodetected): hxetex. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/hyperref/hxetex.def +File: hxetex.def 2023-07-08 v7.01b Hyperref driver for XeTeX +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/stringenc/stringenc.sty +Package: stringenc 2019/11/29 v1.12 Convert strings between diff. encodings (HO) +) +\pdfm@box=\box63 +\c@Hy@AnnotLevel=\count294 +\HyField@AnnotCount=\count295 +\Fld@listcount=\count296 +\c@bookmark@seq@number=\count297 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/base/atveryend-ltx.sty +Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend package +with kernel methods +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 285. +) +\Hy@SectionHShift=\skip57 +) +Package hyperref Info: Option `colorlinks' set `true' on input line 12. +Package hyperref Info: Option `breaklinks' set `true' on input line 12. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2023/08/05 v3.6o Customizing captions (AR) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2023/07/31 v2.4d caption3 kernel (AR) +\caption@tempdima=\dimen260 +\captionmargin=\dimen261 +\caption@leftmargin=\dimen262 +\caption@rightmargin=\dimen263 +\caption@width=\dimen264 +\caption@indent=\dimen265 +\caption@parindent=\dimen266 +\caption@hangindent=\dimen267 +Package caption Info: Standard document class detected. +) +\c@caption@flags=\count298 +\c@continuedfloat=\count299 +Package caption Info: hyperref package is loaded. +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty +Package: tcolorbox 2023/09/26 version 6.1.0 text color boxes +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/tools/verbatim.sty +Package: verbatim 2022-07-02 v1.5u LaTeX2e package for verbatim enhancements +\every@verbatim=\toks31 +\verbatim@line=\toks32 +\verbatim@in@stream=\read3 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/environ/environ.sty +Package: environ 2014/05/04 v0.3 A new way to define environments +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/trimspaces/trimspaces.sty +Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list +) +\@envbody=\toks33 +) +\tcb@titlebox=\box64 +\tcb@upperbox=\box65 +\tcb@lowerbox=\box66 +\tcb@phantombox=\box67 +\c@tcbbreakpart=\count300 +\c@tcblayer=\count301 +\c@tcolorbox@number=\count302 +\tcb@temp=\box68 +\tcb@temp=\box69 +\tcb@temp=\box70 +\tcb@temp=\box71 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks34 +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2023/05/13 v2.17o AMS math features +\@mathmargin=\skip58 +For additional information on amsmath, use the `?' option. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2021/08/26 v2.01 AMS text +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks35 +\ex@=\dimen268 +)) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen269 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2022/04/08 v2.04 operator names +) +\inf@bad=\count303 +LaTeX Info: Redefining \frac on input line 234. +\uproot@=\count304 +\leftroot@=\count305 +LaTeX Info: Redefining \overline on input line 399. +LaTeX Info: Redefining \colon on input line 410. +\classnum@=\count306 +\DOTSCASE@=\count307 +LaTeX Info: Redefining \ldots on input line 496. +LaTeX Info: Redefining \dots on input line 499. +LaTeX Info: Redefining \cdots on input line 620. +\Mathstrutbox@=\box72 +\strutbox@=\box73 +LaTeX Info: Redefining \big on input line 722. +LaTeX Info: Redefining \Big on input line 723. +LaTeX Info: Redefining \bigg on input line 724. +LaTeX Info: Redefining \Bigg on input line 725. +\big@size=\dimen270 +LaTeX Font Info: Redeclaring font encoding OML on input line 743. +LaTeX Font Info: Redeclaring font encoding OMS on input line 744. +\macc@depth=\count308 +LaTeX Info: Redefining \bmod on input line 905. +LaTeX Info: Redefining \pmod on input line 910. +LaTeX Info: Redefining \smash on input line 940. +LaTeX Info: Redefining \relbar on input line 970. +LaTeX Info: Redefining \Relbar on input line 971. +\c@MaxMatrixCols=\count309 +\dotsspace@=\muskip17 +\c@parentequation=\count310 +\dspbrk@lvl=\count311 +\tag@help=\toks36 +\row@=\count312 +\column@=\count313 +\maxfields@=\count314 +\andhelp@=\toks37 +\eqnshift@=\dimen271 +\alignsep@=\dimen272 +\tagshift@=\dimen273 +\tagwidth@=\dimen274 +\totwidth@=\dimen275 +\lineht@=\dimen276 +\@envbody=\toks38 +\multlinegap=\skip59 +\multlinetaggap=\skip60 +\mathdisplay@stack=\toks39 +LaTeX Info: Redefining \[ on input line 2953. +LaTeX Info: Redefining \] on input line 2954. +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/iftex/ifxetex.sty +Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead. +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/iftex/ifluatex.sty +Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/seqsplit/seqsplit.sty +Package: seqsplit 2006/08/07 v0.1 Splitting long sequences (DNA, RNA, proteins, etc.) +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/base/fixltx2e.sty +Package: fixltx2e 2016/12/29 v2.1a fixes to LaTeX (obsolete) +Applying: [2015/01/01] Old fixltx2e package on input line 46. + +Package fixltx2e Warning: fixltx2e is not required with releases after 2015 +(fixltx2e) All fixes are now in the LaTeX kernel. +(fixltx2e) See the latexrelease package for details. + +Already applied: [0000/00/00] Old fixltx2e package on input line 53. +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/biblatex/biblatex.sty +Package: biblatex 2023/03/05 v3.19 programmable bibliographies (PK/MW) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/logreq/logreq.sty +Package: logreq 2010/08/04 v1.0 xml request logger +\lrq@indent=\count315 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/logreq/logreq.def +File: logreq.def 2010/08/04 v1.0 logreq spec v1.0 +)) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2022/04/13 v1.1d Standard LaTeX ifthen package (DPC) +) +\c@tabx@nest=\count316 +\c@listtotal=\count317 +\c@listcount=\count318 +\c@liststart=\count319 +\c@liststop=\count320 +\c@citecount=\count321 +\c@citetotal=\count322 +\c@multicitecount=\count323 +\c@multicitetotal=\count324 +\c@instcount=\count325 +\c@maxnames=\count326 +\c@minnames=\count327 +\c@maxitems=\count328 +\c@minitems=\count329 +\c@citecounter=\count330 +\c@maxcitecounter=\count331 +\c@savedcitecounter=\count332 +\c@uniquelist=\count333 +\c@uniquename=\count334 +\c@refsection=\count335 +\c@refsegment=\count336 +\c@maxextratitle=\count337 +\c@maxextratitleyear=\count338 +\c@maxextraname=\count339 +\c@maxextradate=\count340 +\c@maxextraalpha=\count341 +\c@abbrvpenalty=\count342 +\c@highnamepenalty=\count343 +\c@lownamepenalty=\count344 +\c@maxparens=\count345 +\c@parenlevel=\count346 +\blx@tempcnta=\count347 +\blx@tempcntb=\count348 +\blx@tempcntc=\count349 +\c@blx@maxsection=\count350 +\blx@maxsegment@0=\count351 +\blx@notetype=\count352 +\blx@parenlevel@text=\count353 +\blx@parenlevel@foot=\count354 +\blx@sectionciteorder@0=\count355 +\blx@sectionciteorderinternal@0=\count356 +\blx@entrysetcounter=\count357 +\blx@biblioinstance=\count358 +\labelnumberwidth=\skip61 +\labelalphawidth=\skip62 +\biblabelsep=\skip63 +\bibitemsep=\skip64 +\bibnamesep=\skip65 +\bibinitsep=\skip66 +\bibparsep=\skip67 +\bibhang=\skip68 +\blx@bcfin=\read4 +\blx@bcfout=\write4 +\blx@langwohyphens=\language3 +\c@mincomprange=\count359 +\c@maxcomprange=\count360 +\c@mincompwidth=\count361 +Package biblatex Info: Trying to load biblatex default data model... +Package biblatex Info: ... file 'blx-dm.def' found. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/biblatex/blx-dm.def +File: blx-dm.def 2023/03/05 v3.19 biblatex localization (PK/MW) +) +Package biblatex Info: Trying to load biblatex custom data model... +Package biblatex Info: ... file 'biblatex-dm.cfg' not found. +\c@afterword=\count362 +\c@savedafterword=\count363 +\c@annotator=\count364 +\c@savedannotator=\count365 +\c@author=\count366 +\c@savedauthor=\count367 +\c@bookauthor=\count368 +\c@savedbookauthor=\count369 +\c@commentator=\count370 +\c@savedcommentator=\count371 +\c@editor=\count372 +\c@savededitor=\count373 +\c@editora=\count374 +\c@savededitora=\count375 +\c@editorb=\count376 +\c@savededitorb=\count377 +\c@editorc=\count378 +\c@savededitorc=\count379 +\c@foreword=\count380 +\c@savedforeword=\count381 +\c@holder=\count382 +\c@savedholder=\count383 +\c@introduction=\count384 +\c@savedintroduction=\count385 +\c@namea=\count386 +\c@savednamea=\count387 +\c@nameb=\count388 +\c@savednameb=\count389 +\c@namec=\count390 +\c@savednamec=\count391 +\c@translator=\count392 +\c@savedtranslator=\count393 +\c@shortauthor=\count394 +\c@savedshortauthor=\count395 +\c@shorteditor=\count396 +\c@savedshorteditor=\count397 +\c@labelname=\count398 +\c@savedlabelname=\count399 +\c@institution=\count400 +\c@savedinstitution=\count401 +\c@lista=\count402 +\c@savedlista=\count403 +\c@listb=\count404 +\c@savedlistb=\count405 +\c@listc=\count406 +\c@savedlistc=\count407 +\c@listd=\count408 +\c@savedlistd=\count409 +\c@liste=\count410 +\c@savedliste=\count411 +\c@listf=\count412 +\c@savedlistf=\count413 +\c@location=\count414 +\c@savedlocation=\count415 +\c@organization=\count416 +\c@savedorganization=\count417 +\c@origlocation=\count418 +\c@savedoriglocation=\count419 +\c@origpublisher=\count420 +\c@savedorigpublisher=\count421 +\c@publisher=\count422 +\c@savedpublisher=\count423 +\c@language=\count424 +\c@savedlanguage=\count425 +\c@origlanguage=\count426 +\c@savedoriglanguage=\count427 +\c@pageref=\count428 +\c@savedpageref=\count429 +\shorthandwidth=\skip69 +\shortjournalwidth=\skip70 +\shortserieswidth=\skip71 +\shorttitlewidth=\skip72 +\shortauthorwidth=\skip73 +\shorteditorwidth=\skip74 +\locallabelnumberwidth=\skip75 +\locallabelalphawidth=\skip76 +\localshorthandwidth=\skip77 +\localshortjournalwidth=\skip78 +\localshortserieswidth=\skip79 +\localshorttitlewidth=\skip80 +\localshortauthorwidth=\skip81 +\localshorteditorwidth=\skip82 +Package biblatex Info: Trying to load enhanced support for Unicode engines... +Package biblatex Info: ... file 'blx-unicode.def' found. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/biblatex/blx-unicode.def) +Package biblatex Info: Trying to load compatibility code... +Package biblatex Info: ... file 'blx-compat.def' found. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/biblatex/blx-compat.def +File: blx-compat.def 2023/03/05 v3.19 biblatex compatibility (PK/MW) +) +Package biblatex Info: Trying to load generic definitions... +Package biblatex Info: ... file 'biblatex.def' found. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/biblatex/biblatex.def +File: biblatex.def 2023/03/05 v3.19 biblatex compatibility (PK/MW) +\c@textcitecount=\count430 +\c@textcitetotal=\count431 +\c@textcitemaxnames=\count432 +\c@biburlbigbreakpenalty=\count433 +\c@biburlbreakpenalty=\count434 +\c@biburlnumpenalty=\count435 +\c@biburlucpenalty=\count436 +\c@biburllcpenalty=\count437 +\biburlbigskip=\muskip18 +\biburlnumskip=\muskip19 +\biburlucskip=\muskip20 +\biburllcskip=\muskip21 +\c@smartand=\count438 +) +Package biblatex Info: Trying to load bibliography style 'numeric'... +Package biblatex Info: ... file 'numeric.bbx' found. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx +File: numeric.bbx 2023/03/05 v3.19 biblatex bibliography style (PK/MW) +Package biblatex Info: Trying to load bibliography style 'standard'... +Package biblatex Info: ... file 'standard.bbx' found. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/biblatex/bbx/standard.bbx +File: standard.bbx 2023/03/05 v3.19 biblatex bibliography style (PK/MW) +\c@bbx:relatedcount=\count439 +\c@bbx:relatedtotal=\count440 +)) +Package biblatex Info: Trying to load citation style 'numeric'... +Package biblatex Info: ... file 'numeric.cbx' found. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx +File: numeric.cbx 2023/03/05 v3.19 biblatex citation style (PK/MW) +Package biblatex Info: Redefining '\cite'. +Package biblatex Info: Redefining '\parencite'. +Package biblatex Info: Redefining '\footcite'. +Package biblatex Info: Redefining '\footcitetext'. +Package biblatex Info: Redefining '\smartcite'. +Package biblatex Info: Redefining '\supercite'. +Package biblatex Info: Redefining '\textcite'. +Package biblatex Info: Redefining '\textcites'. +Package biblatex Info: Redefining '\cites'. +Package biblatex Info: Redefining '\parencites'. +Package biblatex Info: Redefining '\smartcites'. +) +Package biblatex Info: Trying to load configuration file... +Package biblatex Info: ... file 'biblatex.cfg' found. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/biblatex/biblatex.cfg +File: biblatex.cfg +) +Package biblatex Info: XeTeX detected. +(biblatex) Assuming input encoding 'utf8'. +Package biblatex Info: Document encoding is UTF8 .... +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/l3kernel/expl3.sty +Package: expl3 2023-08-29 L3 programming layer (loader) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +File: l3backend-xetex.def 2023-04-19 L3 backend support: XeTeX +\g__graphics_track_int=\count441 +\l__pdf_internal_box=\box74 +\g__pdf_backend_object_int=\count442 +\g__pdf_backend_annotation_int=\count443 +\g__pdf_backend_link_int=\count444 +)) +Package biblatex Info: ... and expl3 +(biblatex) 2023-08-29 L3 programming layer (loader) +(biblatex) is new enough (at least 2020/04/06), +(biblatex) setting 'casechanger=expl3'. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/biblatex/blx-case-expl3.sty (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/l3packages/xparse/xparse.sty +Package: xparse 2023-08-29 L3 Experimental document command parser +) +Package: blx-case-expl3 2023/03/05 v3.19 expl3 case changing code for biblatex +)) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2020/01/02 v5.9 Page Geometry +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/iftex/ifvtex.sty +Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. +) +\Gm@cnth=\count445 +\Gm@cntv=\count446 +\c@Gm@tempcnt=\count447 +\Gm@bindingoffset=\dimen277 +\Gm@wd@mp=\dimen278 +\Gm@odd@mp=\dimen279 +\Gm@even@mp=\dimen280 +\Gm@layoutwidth=\dimen281 +\Gm@layoutheight=\dimen282 +\Gm@layouthoffset=\dimen283 +\Gm@layoutvoffset=\dimen284 +\Gm@dimlist=\toks40 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty +Package: fancyhdr 2022/11/09 v4.1 Extensive control of page headers and footers +\f@nch@headwidth=\skip83 +\f@nch@O@elh=\skip84 +\f@nch@O@erh=\skip85 +\f@nch@O@olh=\skip86 +\f@nch@O@orh=\skip87 +\f@nch@O@elf=\skip88 +\f@nch@O@erf=\skip89 +\f@nch@O@olf=\skip90 +\f@nch@O@orf=\skip91 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/xelatex/mathspec/mathspec.sty +Package: mathspec 2016/12/22 v0.2b LaTeX Package (Mathematics font selection for XeLaTeX) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/fontspec/fontspec.sty +Package: fontspec 2022/01/15 v2.8a Font selection for XeLaTeX and LuaLaTeX +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty +Package: fontspec-xetex 2022/01/15 v2.8a Font selection for XeLaTeX and LuaLaTeX +\l__fontspec_script_int=\count448 +\l__fontspec_language_int=\count449 +\l__fontspec_strnum_int=\count450 +\l__fontspec_tmp_int=\count451 +\l__fontspec_tmpa_int=\count452 +\l__fontspec_tmpb_int=\count453 +\l__fontspec_tmpc_int=\count454 +\l__fontspec_em_int=\count455 +\l__fontspec_emdef_int=\count456 +\l__fontspec_strong_int=\count457 +\l__fontspec_strongdef_int=\count458 +\l__fontspec_tmpa_dim=\dimen285 +\l__fontspec_tmpb_dim=\dimen286 +\l__fontspec_tmpc_dim=\dimen287 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2021/04/29 v2.0v Standard LaTeX package +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/fontspec/fontspec.cfg))) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2022/06/16 v2.9 package option processing (HA) +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/xkeyval/xkeyval.tex (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks41 +\XKV@tempa@toks=\toks42 +) +\XKV@depth=\count459 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +\c@eu@=\count460 +\c@eu@i=\count461 +\c@mkern=\count462 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/microtype/microtype.sty +Package: microtype 2023/03/13 v3.1a Micro-typographical refinements (RS) +\MT@toks=\toks43 +\MT@tempbox=\box75 +\MT@count=\count463 +LaTeX Info: Redefining \noprotrusionifhmode on input line 1059. +LaTeX Info: Redefining \leftprotrusion on input line 1060. +\MT@prot@toks=\toks44 +LaTeX Info: Redefining \rightprotrusion on input line 1078. +LaTeX Info: Redefining \textls on input line 1368. +\MT@outer@kern=\dimen288 +LaTeX Info: Redefining \textmicrotypecontext on input line 1988. +\MT@listname@count=\count464 +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/microtype/microtype-xetex.def +File: microtype-xetex.def 2023/03/13 v3.1a Definitions specific to xetex (RS) +LaTeX Info: Redefining \lsstyle on input line 238. +) +Package microtype Info: Loading configuration file microtype.cfg. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/microtype/microtype.cfg +File: microtype.cfg 2023/03/13 v3.1a microtype main configuration file (RS) +)) +Package hyperref Info: Option `unicode' set `true' on input line 154. +Package hyperref Info: Option `breaklinks' set `true' on input line 154. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/grffile/grffile.sty +Package: grffile 2019/11/11 v2.1 Extended file name support for graphics (legacy) +Package grffile Info: This package is an empty stub for compatibility on input line 40. +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/parskip/parskip.sty +Package: parskip 2021-03-14 v2.0h non-zero parskip adjustments +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty +Package: fancyvrb 2023/01/19 4.5a verbatim text (tvz,hv) +\FV@CodeLineNo=\count465 +\FV@InFile=\read5 +\FV@TabBox=\box76 +\c@FancyVerbLine=\count466 +\FV@StepNumber=\count467 +\FV@OutFile=\write5 +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/framed/framed.sty +Package: framed 2011/10/22 v 0.96: framed or shaded text with page breaks +\OuterFrameSep=\skip92 +\fb@frw=\dimen289 +\fb@frh=\dimen290 +\FrameRule=\dimen291 +\FrameSep=\dimen292 +) +\cslhangindent=\skip93 +\csllabelwidth=\skip94 +\cslentryspacingunit=\skip95 +\@quotelevel=\count468 +\@quotereset=\count469 +(./paper.aux) +\openout1 = `paper.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 284. +LaTeX Font Info: ... okay on input line 284. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 284. +LaTeX Font Info: ... okay on input line 284. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 284. +LaTeX Font Info: ... okay on input line 284. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 284. +LaTeX Font Info: ... okay on input line 284. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 284. +LaTeX Font Info: Trying to load font information for TS1+cmr on input line 284. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/base/ts1cmr.fd +File: ts1cmr.fd 2023/04/13 v2.5m Standard LaTeX font definitions +) +LaTeX Font Info: ... okay on input line 284. +LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 284. +LaTeX Font Info: ... okay on input line 284. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 284. +LaTeX Font Info: ... okay on input line 284. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 284. +LaTeX Font Info: ... okay on input line 284. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 284. +LaTeX Font Info: ... okay on input line 284. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 284. +LaTeX Font Info: ... okay on input line 284. +Package hyperref Info: Link coloring ON on input line 284. +(./paper.out) (./paper.out) +\@outlinefile=\write6 +\openout6 = `paper.out'. + +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +Package biblatex Info: Trying to load language 'english'... +Package biblatex Info: ... file 'english.lbx' found. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/biblatex/lbx/english.lbx +File: english.lbx 2023/03/05 v3.19 biblatex localization (PK/MW) +) +Package biblatex Info: XeTeX detected. +(biblatex) Assuming input encoding 'utf8'. +Package biblatex Info: Automatic encoding selection. +(biblatex) Assuming data encoding 'utf8'. +\openout4 = `paper.bcf'. + +Package biblatex Info: Trying to load bibliographic data... +Package biblatex Info: ... file 'paper.bbl' not found. +No file paper.bbl. +Package biblatex Info: Reference section=0 on input line 284. +Package biblatex Info: Reference segment=0 on input line 284. +*geometry* driver: auto-detecting +*geometry* detected driver: xetex +*geometry* verbose mode - [ preamble ] result: +* driver: xetex +* paper: a4paper +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: includemp +* h-part:(L,W,R)=(28.45274pt, 526.376pt, 42.67912pt) +* v-part:(T,H,B)=(99.58464pt, 660.10394pt, 85.35826pt) +* \paperwidth=597.50787pt +* \paperheight=845.04684pt +* \textwidth=387.33861pt +* \textheight=660.10394pt +* \oddsidemargin=95.22015pt +* \evensidemargin=95.22015pt +* \topmargin=-60.28131pt +* \headheight=62.59596pt +* \headsep=25.0pt +* \topskip=10.0pt +* \footskip=30.0pt +* \marginparwidth=128.0374pt +* \marginparsep=11.0pt +* \columnsep=10.0pt +* \skip\footins=9.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemargintrue +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Info: Redefining \microtypecontext on input line 284. +Package microtype Info: Applying patch `item' on input line 284. +Package microtype Info: Applying patch `toc' on input line 284. +Package microtype Info: Applying patch `eqnum' on input line 284. +Package microtype Info: Applying patch `footnote' on input line 284. +Package microtype Info: Applying patch `verbatim' on input line 284. +Package microtype Info: Character protrusion enabled (level 2). +Package microtype Info: Using protrusion set `basicmath'. +Package microtype Info: No adjustment of tracking. +Package microtype Info: No adjustment of spacing. +Package microtype Info: No adjustment of kerning. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg +File: mt-LatinModernRoman.cfg 2021/02/21 v1.1 microtype config. file: Latin Modern Roman (RS) +) +LaTeX Font Info: Font shape `TU/lmss/m/it' in size <17.28> not available +(Font) Font shape `TU/lmss/m/sl' tried instead on input line 285. +Package microtype Info: Loading generic protrusion settings for font family +(microtype) `lmss' (encoding: TU). +(microtype) For optimal results, create family-specific settings. +(microtype) See the microtype manual for details. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/microtype/mt-cmr.cfg +File: mt-cmr.cfg 2013/05/19 v2.2 microtype config. file: Computer Modern Roman (RS) +) +LaTeX Font Info: Trying to load font information for U+msa on input line 285. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/microtype/mt-msa.cfg +File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS) +) +LaTeX Font Info: Trying to load font information for U+msb on input line 285. +(c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) (c:/Users/rempsyc/AppData/Roaming/TinyTeX/texmf-dist/tex/latex/microtype/mt-msb.cfg +File: mt-msb.cfg 2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS) +) + +Package hyperref Warning: Suppressing link with empty target on input line 311. + + +Package hyperref Warning: Suppressing link with empty target on input line 311. + + +Package hyperref Warning: Suppressing link with empty target on input line 311. + +File: D:/Rpackages/rticles/rmarkdown/templates/joss/resources/JOSE-logo.png Graphic file (type bmp) + + +Package fancyhdr Warning: \headheight is too small (62.59596pt): +(fancyhdr) Make it at least 64.31554pt, for example: +(fancyhdr) \setlength{\headheight}{64.31554pt}. +(fancyhdr) You might also make \topmargin smaller to compensate: +(fancyhdr) \addtolength{\topmargin}{-1.71957pt}. + +LaTeX Font Info: Font shape `TU/lmss/m/it' in size <8> not available +(Font) Font shape `TU/lmss/m/sl' tried instead on input line 376. +[1 + +] +File: D:/Rpackages/rticles/rmarkdown/templates/joss/resources/JOSE-logo.png Graphic file (type bmp) + + +Package fancyhdr Warning: \headheight is too small (62.59596pt): +(fancyhdr) Make it at least 64.31554pt, for example: +(fancyhdr) \setlength{\headheight}{64.31554pt}. +(fancyhdr) You might also make \topmargin smaller to compensate: +(fancyhdr) \addtolength{\topmargin}{-1.71957pt}. + +[2] +LaTeX Font Info: Font shape `TU/lmtt/bx/n' in size <10> not available +(Font) Font shape `TU/lmtt/b/n' tried instead on input line 466. + +Overfull \hbox (32.66139pt too wide) in paragraph at lines 482--482 +[]\TU/lmtt/m/n/10 #> -----------------------------------------------------------------------------[] + [] + + +Overfull \hbox (32.66139pt too wide) in paragraph at lines 491--491 +[]\TU/lmtt/m/n/10 #> -----------------------------------------------------------------------------[] + [] + +File: D:/Rpackages/rticles/rmarkdown/templates/joss/resources/JOSE-logo.png Graphic file (type bmp) + + +Package fancyhdr Warning: \headheight is too small (62.59596pt): +(fancyhdr) Make it at least 64.31554pt, for example: +(fancyhdr) \setlength{\headheight}{64.31554pt}. +(fancyhdr) You might also make \topmargin smaller to compensate: +(fancyhdr) \addtolength{\topmargin}{-1.71957pt}. + +[3] +File: D:/Rpackages/rticles/rmarkdown/templates/joss/resources/JOSE-logo.png Graphic file (type bmp) + + +Package fancyhdr Warning: \headheight is too small (62.59596pt): +(fancyhdr) Make it at least 64.31554pt, for example: +(fancyhdr) \setlength{\headheight}{64.31554pt}. +(fancyhdr) You might also make \topmargin smaller to compensate: +(fancyhdr) \addtolength{\topmargin}{-1.71957pt}. + +[4] +File: table1.jpg Graphic file (type bmp) + +File: D:/Rpackages/rticles/rmarkdown/templates/joss/resources/JOSE-logo.png Graphic file (type bmp) + + +Package fancyhdr Warning: \headheight is too small (62.59596pt): +(fancyhdr) Make it at least 64.31554pt, for example: +(fancyhdr) \setlength{\headheight}{64.31554pt}. +(fancyhdr) You might also make \topmargin smaller to compensate: +(fancyhdr) \addtolength{\topmargin}{-1.71957pt}. + +[5] +File: paper_files/figure-latex/model_fig-1.pdf Graphic file (type pdf) + +File: D:/Rpackages/rticles/rmarkdown/templates/joss/resources/JOSE-logo.png Graphic file (type bmp) + + +Package fancyhdr Warning: \headheight is too small (62.59596pt): +(fancyhdr) Make it at least 64.31554pt, for example: +(fancyhdr) \setlength{\headheight}{64.31554pt}. +(fancyhdr) You might also make \topmargin smaller to compensate: +(fancyhdr) \addtolength{\topmargin}{-1.71957pt}. + +[6] +File: D:/Rpackages/rticles/rmarkdown/templates/joss/resources/JOSE-logo.png Graphic file (type bmp) + + +Package fancyhdr Warning: \headheight is too small (62.59596pt): +(fancyhdr) Make it at least 64.31554pt, for example: +(fancyhdr) \setlength{\headheight}{64.31554pt}. +(fancyhdr) You might also make \topmargin smaller to compensate: +(fancyhdr) \addtolength{\topmargin}{-1.71957pt}. + +[7] +File: D:/Rpackages/rticles/rmarkdown/templates/joss/resources/JOSE-logo.png Graphic file (type bmp) + + +Package fancyhdr Warning: \headheight is too small (62.59596pt): +(fancyhdr) Make it at least 64.31554pt, for example: +(fancyhdr) \setlength{\headheight}{64.31554pt}. +(fancyhdr) You might also make \topmargin smaller to compensate: +(fancyhdr) \addtolength{\topmargin}{-1.71957pt}. + +[8] +Underfull \hbox (badness 1584) in paragraph at lines 928--934 +[]\TU/lmr/m/n/10 Simmons, J. P., Nelson, L. D., & Simonsohn, U. (2011). False-positive psy- + [] + + +Underfull \hbox (badness 3049) in paragraph at lines 928--934 +\TU/lmr/m/n/10 chology: Undisclosed flexibility in data collection and analysis allows pre- + [] + + +Underfull \hbox (badness 3735) in paragraph at lines 928--934 +\TU/lmr/m/n/10 senting anything as significant. \TU/lmr/m/it/10 Psychological Science\TU/lmr/m/n/10 , \TU/lmr/m/it/10 22\TU/lmr/m/n/10 (11), 1359–1366. + [] + +File: D:/Rpackages/rticles/rmarkdown/templates/joss/resources/JOSE-logo.png Graphic file (type bmp) + + +Package fancyhdr Warning: \headheight is too small (62.59596pt): +(fancyhdr) Make it at least 64.31554pt, for example: +(fancyhdr) \setlength{\headheight}{64.31554pt}. +(fancyhdr) You might also make \topmargin smaller to compensate: +(fancyhdr) \addtolength{\topmargin}{-1.71957pt}. + +[9] (./paper.aux) + *********** +LaTeX2e <2023-06-01> patch level 1 +L3 programming layer <2023-08-29> + *********** +Package rerunfilecheck Info: File `paper.out' has not changed. +(rerunfilecheck) Checksum: 18F584A1BC96404D165BE4F0A067B822;2146. +Package logreq Info: Writing requests to 'paper.run.xml'. +\openout1 = `paper.run.xml'. + + ) +Here is how much of TeX's memory you used: + 36640 strings out of 477589 + 751637 string characters out of 5817003 + 1940416 words of memory out of 5000000 + 57291 multiletter control sequences out of 15000+600000 + 564989 words of font info for 90 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 84i,12n,87p,1194b,850s stack positions out of 10000i,1000n,20000p,200000b,200000s + +Output written on paper.pdf (9 pages). diff --git a/papers/JOSE/paper.md b/papers/JOSE/paper.md new file mode 100644 index 000000000..d44309809 --- /dev/null +++ b/papers/JOSE/paper.md @@ -0,0 +1,325 @@ +--- +title: "Check your outliers! An introduction to identifying statistical outliers in R with *easystats*" +tags: + - R + - univariate outliers + - multivariate outliers + - robust detection methods + - easystats +authors: + - name: Rémi Thériault + orcid: 0000-0003-4315-6788 + affiliation: 1 + - name: Mattan S. Ben-Shachar + orcid: 0000-0002-4287-4801 + affiliation: 2 + - name: Indrajeet Patil + orcid: 0000-0003-1995-6531 + affiliation: 3 + - name: Daniel Lüdecke + orcid: 0000-0002-8895-3206 + affiliation: 4 + - name: Brenton M. Wiernik + orcid: 0000-0001-9560-6336 + affiliation: 5 + - name: Dominique Makowski + orcid: 0000-0001-5375-9967 + affiliation: 6 +affiliations: + - index: 1 + name: Department of Psychology, Université du Québec à Montréal, Montréal, Québec, Canada + - index: 2 + name: Independent Researcher, Ramat Gan, Israel + - index: 3 + name: Center for Humans and Machines, Max Planck Institute for Human Development, Berlin, Germany + - index: 4 + name: Institute of Medical Sociology, University Medical Center Hamburg-Eppendorf, Germany + - index: 5 + name: Independent Researcher, Tampa, FL, USA + - index: 6 + name: School of Psychology, University of Sussex, Brighton, UK +correspondence: theriault.remi@courrier.uqam.ca. +type: article +status: submit +date: 7 June 2023 +bibliography: paper.bib +simplesummary: | + The *{performance}* package from the *easystats* ecosystem makes it easy to + diagnose outliers in R and according to current best practices thanks to the + `check_outiers()` function. +keywords: | + univariate outliers; multivariate outliers; robust detection methods; R; easystats +acknowledgement: | + *{performance}* is part of the collaborative + [*easystats*](https://github.com/easystats/easystats) ecosystem + [@easystatspackage]. Thus, we thank all + [members of easystats](https://github.com/orgs/easystats/people), + contributors, and users alike. +authorcontributions: | + R.T. drafted the paper; all authors contributed to both the writing of the + paper and the conception of the software. +funding: | + This research received no external funding. +conflictsofinterest: | + The authors declare no conflict of interest. +abbreviations: + - short: SOD + long: Statistical outlier detection + - short: SEM + long: Structural equation modelling + - short: SD + long: Standard deviation + - short: MAD + long: Median absolute deviation + - short: IQR + long: Interquartile range + - short: HDI + long: Highest density interval + - short: BCI + long: Bias corrected and accelerated interval + - short: MCD + long: Minimum covariance determinant + - short: ICS + long: invariant coordinate selection + - short: OSF + long: Open Science Framework +output: + rticles::joss_article: + journal: "JOSE" +csl: apa.csl +--- + + + +# Summary + +Beyond the challenge of keeping up-to-date with current best practices regarding the diagnosis and treatment of outliers, an additional difficulty arises concerning the mathematical implementation of the recommended methods. Here, we provide an overview of current recommendations and best practices and demonstrate how they can easily and conveniently be implemented in the R statistical computing software, using the *{performance}* package of the *easystats* ecosystem. We cover univariate, multivariate, and model-based statistical outlier detection methods, their recommended threshold, standard output, and plotting methods. We conclude by reviewing the different theoretical types of outliers, whether to exclude or winsorize them, and the importance of transparency. + +# Statement of Need + +Real-life data often contain observations that can be considered *abnormal* when compared to the main population. The cause of it can be hard to assess and the boundaries of "abnormal", difficult to define---they may belong to a different distribution (originating from a different generative process) or simply be extreme cases, statistically rare but not impossible. + +Nonetheless, the improper handling of these outliers can substantially affect statistical model estimations, biasing effect estimations and weakening the models' predictive performance. It is thus essential to address this problem in a thoughtful manner. Yet, despite the existence of established recommendations and guidelines, many researchers still do not treat outliers in a consistent manner, or do so using inappropriate strategies [@simmons2011false; @leys2013outliers]. + +One possible reason is that researchers are not aware of the existing recommendations, or do not know how to implement them using their analysis software. In this paper, we show how to follow current best practices for automatic and reproducible statistical outlier detection (SOD) using R and the *{performance}* package [@ludecke2021performance], which is part of the *easystats* ecosystem of packages that build an R framework for easy statistical modeling, visualization, and reporting [@easystatspackage]. Installation instructions can be found on [GitHub](https://github.com/easystats/performance) or its [website](https://easystats.github.io/performance/), and its list of dependencies on [CRAN](https://cran.r-project.org/package=performance). + +The instructional materials that follow are aimed at an audience of researchers who want to follow good practices, and are appropriate for advanced undergraduate students, graduate students, professors, or professionals having to deal with the nuances of outlier treatment. + +# Identifying Outliers + +Although many researchers attempt to identify outliers with measures based on the mean (e.g., _z_ scores), those methods are problematic because the mean and standard deviation themselves are not robust to the influence of outliers and those methods also assume normally distributed data (i.e., a Gaussian distribution). Therefore, current guidelines recommend using robust methods to identify outliers, such as those relying on the median as opposed to the mean [@leys2019outliers; @leys2013outliers; @leys2018outliers]. + +Nonetheless, which exact outlier method to use depends on many factors. In some cases, eye-gauging odd observations can be an appropriate solution, though many researchers will favour algorithmic solutions to detect potential outliers, for example, based on a continuous value expressing the observation stands out from the others. + +One of the factors to consider when selecting an algorithmic outlier detection method is the statistical test of interest. Identifying observations the regression model does not fit well can help find information relevant to our specific research context. This approach, known as model-based outliers detection (as outliers are extracted after the statistical model has been fit), can be contrasted with distribution-based outliers detection, which is based on the distance between an observation and the "center" of its population. Various quantification strategies of this distance exist for the latter, both univariate (involving only one variable at a time) or multivariate (involving multiple variables). + +When no method is readily available to detect model-based outliers, such as for structural equation modelling (SEM), looking for multivariate outliers may be of relevance. For simple tests (_t_ tests or correlations) that compare values of the same variable, it can be appropriate to check for univariate outliers. However, univariate methods can give false positives since _t_ tests and correlations, ultimately, are also models/multivariable statistics. They are in this sense more limited, but we show them nonetheless for educational purposes. + +Importantly, whatever approach researchers choose remains a subjective decision, which usage (and rationale) must be transparently documented and reproducible [@leys2019outliers]. Researchers should commit (ideally in a preregistration) to an outlier treatment method before collecting the data. They should report in the paper their decisions and details of their methods, as well as any deviation from their original plan. These transparency practices can help reduce false positives due to excessive researchers' degrees of freedom (i.e., choice flexibility throughout the analysis). In the following section, we will go through each of the mentioned methods and provide examples on how to implement them with R. + +## Univariate Outliers + +Researchers frequently attempt to identify outliers using measures of deviation from the center of a variable's distribution. One of the most popular such procedure is the _z_ score transformation, which computes the distance in standard deviation (SD) from the mean. However, as mentioned earlier, this popular method is not robust. Therefore, for univariate outliers, it is recommended to use the median along with the Median Absolute Deviation (MAD), which are more robust than the interquartile range or the mean and its standard deviation [@leys2019outliers; @leys2013outliers]. + +Researchers can identify outliers based on robust (i.e., MAD-based) _z_ scores using the `check_outliers()` function of the *{performance}* package, by specifying `method = "zscore_robust"`.^[Note that `check_outliers()` only checks numeric variables.] Although @leys2013outliers suggest a default threshold of 2.5 and @leys2019outliers a threshold of 3, *{performance}* uses by default a less conservative threshold of ~3.29.^[3.29 is an approximation of the two-tailed critical value for _p_ < .001, obtained through `qnorm(p = 1 - 0.001 / 2)`. We chose this threshold for consistency with the thresholds of all our other methods.] That is, data points will be flagged as outliers if they go beyond +/- ~3.29 MAD. Users can adjust this threshold using the `threshold` argument. + +Below we provide example code using the `mtcars` dataset, which was extracted from the 1974 *Motor Trend* US magazine. The dataset contains fuel consumption and 10 characteristics of automobile design and performance for 32 different car models (see `?mtcars` for details). We chose this dataset because it is accessible from base R and familiar to many R users. We might want to conduct specific statistical analyses on this data set, say, _t_ tests or structural equation modelling, but first, we want to check for outliers that may influence those test results. + +Because the automobile names are stored as column names in `mtcars`, we first have to convert them to an ID column to benefit from the `check_outliers()` ID argument. Furthermore, we only really need a couple columns for this demonstration, so we choose the first four (`mpg` = Miles/(US) gallon; `cyl` = Number of cylinders; `disp` = Displacement; `hp` = Gross horsepower). Finally, because there are no outliers in this dataset, we add two artificial outliers before running our function. + + +```r +library(performance) + +# Create some artificial outliers and an ID column +data <- rbind(mtcars[1:4], 42, 55) +data <- cbind(car = row.names(data), data) + +outliers <- check_outliers(data, method = "zscore_robust", ID = "car") +outliers +``` + +``` +#> 2 outliers detected: cases 33, 34. +#> - Based on the following method and threshold: zscore_robust (3.291). +#> - For variables: mpg, cyl, disp, hp. +#> +#> ----------------------------------------------------------------------------- +#> +#> The following observations were considered outliers for two or more +#> variables by at least one of the selected methods: +#> +#> Row car n_Zscore_robust +#> 1 33 33 2 +#> 2 34 34 2 +#> +#> ----------------------------------------------------------------------------- +#> Outliers per variable (zscore_robust): +#> +#> $mpg +#> Row car Distance_Zscore_robust +#> 33 33 33 3.709699 +#> 34 34 34 5.848328 +#> +#> $cyl +#> Row car Distance_Zscore_robust +#> 33 33 33 12.14083 +#> 34 34 34 16.52502 +``` + +What we see is that `check_outliers()` with the robust _z_ score method detected two outliers: cases 33 and 34, which were the observations we added ourselves. They were flagged for two variables specifically: `mpg` (Miles/(US) gallon) and `cyl` (Number of cylinders), and the output provides their exact _z_ score for those variables. + +We describe how to deal with those cases in more details later in the paper, but should we want to exclude these detected outliers from the main dataset, we can extract row numbers using `which()` on the output object, which can then be used for indexing: + + +```r +which(outliers) +``` + +``` +#> [1] 33 34 +``` + +```r +data_clean <- data[-which(outliers), ] +``` + +Other univariate methods are available, such as using the interquartile range (IQR), or based on different intervals, such as the Highest Density Interval (HDI) or the Bias Corrected and Accelerated Interval (BCI). These methods are documented and described in the function's [help page](). + +## Multivariate Outliers + +Univariate outliers can be useful when the focus is on a particular variable, for instance the reaction time, as extreme values might be indicative of inattention or non-task-related behavior^[ Note that they might not be the optimal way of treating reaction time outliers [@ratcliff1993methods; @van1995statistical]]. + +However, in many scenarios, variables of a data set are not independent, and an abnormal observation will impact multiple dimensions. For instance, a participant giving random answers to a questionnaire. In this case, computing the _z_ score for each of the questions might not lead to satisfactory results. Instead, one might want to look at these variables together. + +One common approach for this is to compute multivariate distance metrics such as the Mahalanobis distance. Although the Mahalanobis distance is very popular, just like the regular _z_ scores method, it is not robust and is heavily influenced by the outliers themselves. Therefore, for multivariate outliers, it is recommended to use the Minimum Covariance Determinant, a robust version of the Mahalanobis distance [MCD, @leys2018outliers; @leys2019outliers]. + +In *{performance}*'s `check_outliers()`, one can use this approach with `method = "mcd"`.^[Our default threshold for the MCD method is defined by `stats::qchisq(p = 1 - 0.001, df = ncol(x))`, which again is an approximation of the critical value for _p_ < .001 consistent with the thresholds of our other methods.] + + +```r +outliers <- check_outliers(data, method = "mcd") +outliers +``` + +``` +#> 9 outliers detected: cases 7, 15, 16, 17, 24, 29, 31, 33, 34. +#> - Based on the following method and threshold: mcd (20). +#> - For variables: mpg, cyl, disp, hp. +``` + +Here, we detected 9 multivariate outliers (i.e,. when looking at all variables of our dataset together). + +Other multivariate methods are available, such as another type of robust Mahalanobis distance that in this case relies on an orthogonalized Gnanadesikan-Kettenring pairwise estimator [@gnanadesikan1972robust]. These methods are documented and described in the function's [help page](https://easystats.github.io/performance/reference/check_outliers.html). + +## Model-Based Outliers + +Working with regression models creates the possibility of using model-based SOD methods. These methods rely on the concept of *leverage*, that is, how much influence a given observation can have on the model estimates. If few observations have a relatively strong leverage/influence on the model, one can suspect that the model's estimates are biased by these observations, in which case flagging them as outliers could prove helpful (see next section, "Handling Outliers"). + +In {performance}, two such model-based SOD methods are currently available: Cook's distance, for regular regression models, and Pareto, for Bayesian models. As such, `check_outliers()` can be applied directly on regression model objects, by simply specifying `method = "cook"` (or `method = "pareto"` for Bayesian models).^[Our default threshold for the Cook method is defined by `stats::qf(0.5, ncol(x), nrow(x) - ncol(x))`, which again is an approximation of the critical value for _p_ < .001 consistent with the thresholds of our other methods.] + +Currently, most lm models are supported (with the exception of `glmmTMB`, `lmrob`, and `glmrob` models), as long as they are supported by the underlying functions `stats::cooks.distance()` (or `loo::pareto_k_values()`) and `insight::get_data()` (for a full list of the 225 models currently supported by the `insight` package, see https://easystats.github.io/insight/#list-of-supported-models-by-class). Also note that although `check_outliers()` supports the pipe operators (`|>` or `%>%`), it does not support `tidymodels` at this time. We show a demo below. + + +```r +model <- lm(disp ~ mpg * disp, data = data) +outliers <- check_outliers(model, method = "cook") +outliers +``` + +``` +#> 1 outlier detected: case 34. +#> - Based on the following method and threshold: cook (0.708). +#> - For variable: (Whole model). +``` + +Using the model-based outlier detection method, we identified a single outlier. + +Table 1 below summarizes which methods to use in which cases, and with what threshold. The recommended thresholds are the default thresholds. + + + +### Table 1 + +_Summary of Statistical Outlier Detection Methods Recommendations_ + + + +![](table1.jpg) + +All `check_outliers()` output objects possess a `plot()` method, meaning it is also possible to visualize the outliers using the generic `plot()` function on the resulting outlier object after loading the {see} package (Figure 1). + + +```r +plot(outliers) +``` + +\begin{figure} +\includegraphics[width=1\linewidth]{paper_files/figure-latex/model_fig-1} \caption{Visual depiction of outliers based on Cook's distance (leverage and standardized residuals), based on the fitted model.}\label{fig:model_fig} +\end{figure} + +## Cook's Distance vs. MCD + +@leys2018outliers report a preference for the MCD method over Cook's distance. This is because Cook's distance removes one observation at a time and checks its corresponding influence on the model each time [@cook1977detection], and flags any observation that has a large influence. In the view of these authors, when there are several outliers, the process of removing a single outlier at a time is problematic as the model remains "contaminated" or influenced by other possible outliers in the model, rendering this method suboptimal in the presence of multiple outliers. + +However, distribution-based approaches are not a silver bullet either, and there are cases where the usage of methods agnostic to theoretical and statistical models of interest might be problematic. For example, a very tall person would be expected to also be much heavier than average, but that would still fit with the expected association between height and weight (i.e., it would be in line with a model such as `weight ~ height`). In contrast, using multivariate outlier detection methods there may flag this person as being an outlier---being unusual on two variables, height and weight---even though the pattern fits perfectly with our predictions. + +Finally, unusual observations happen naturally: extreme observations are expected even when taken from a normal distribution. While statistical models can integrate this "expectation", multivariate outlier methods might be too conservative, flagging too many observations despite belonging to the right generative process. For these reasons, we believe that model-based methods are still preferable to the MCD when using supported regression models. Additionally, if the presence of multiple outliers is a significant concern, regression methods that are more robust to outliers should be considered---like _t_ regression or quantile regression---as they render their precise identification less critical [@mcelreath2020statistical]. + +## Composite Outlier Score + +The *{performance}* package also offers an alternative, consensus-based approach that combines several methods, based on the assumption that different methods provide different angles of looking at a given problem. By applying a variety of methods, one can hope to "triangulate" the true outliers (those consistently flagged by multiple methods) and thus attempt to minimize false positives. + +In practice, this approach computes a composite outlier score, formed of the average of the binary (0 or 1) classification results of each method. It represents the probability that each observation is classified as an outlier by at least one method. The default decision rule classifies rows with composite outlier scores superior or equal to 0.5 as outlier observations (i.e., that were classified as outliers by at least half of the methods). In *{performance}*'s `check_outliers()`, one can use this approach by including all desired methods in the corresponding argument. + + +```r +outliers <- check_outliers(model, method = c("zscore_robust", "mcd", "cook")) +which(outliers) +``` + +``` +#> [1] 33 34 +``` + +Outliers (counts or per variables) for individual methods can then be obtained through attributes. For example: + + +```r +attributes(outliers)$outlier_var$zscore_robust +``` + +``` +#> $mpg +#> Row Distance_Zscore_robust +#> 33 33 3.709699 +#> 34 34 5.848328 +``` + +An example sentence for reporting the usage of the composite method could be: + +> Based on a composite outlier score [see the 'check_outliers()' function in the 'performance' R package, @ludecke2021performance] obtained via the joint application of multiple outliers detection algorithms [(a) median absolute deviation (MAD)-based robust _z_ scores, @leys2013outliers; (b) Mahalanobis minimum covariance determinant (MCD), @leys2019outliers; and (c) Cook's distance, @cook1977detection], we excluded two participants that were classified as outliers by at least half of the methods used. + +# Handling Outliers + +The above section demonstrated how to identify outliers using the `check_outliers()` function in the *{performance}* package. But what should we do with these outliers once identified? Although it is common to automatically discard any observation that has been marked as "an outlier" as if it might infect the rest of the data with its statistical ailment, we believe that the use of SOD methods is but one step in the get-to-know-your-data pipeline; a researcher or analyst's _domain knowledge_ must be involved in the decision of how to deal with observations marked as outliers by means of SOD. Indeed, automatic tools can help detect outliers, but they are nowhere near perfect. Although they can be useful to flag suspect data, they can have misses and false alarms, and they cannot replace human eyes and proper vigilance from the researcher. If you do end up manually inspecting your data for outliers, it can be helpful to think of outliers as belonging to different types of outliers, or categories, which can help decide what to do with a given outlier. + +## Error, Interesting, and Random Outliers + +@leys2019outliers distinguish between error outliers, interesting outliers, and random outliers. _Error outliers_ are likely due to human error and should be corrected before data analysis or outright removed since they are invalid observations. _Interesting outliers_ are not due to technical error and may be of theoretical interest; it might thus be relevant to investigate them further even though they should be removed from the current analysis of interest. _Random outliers_ are assumed to be due to chance alone and to belong to the correct distribution and, therefore, should be retained. + +It is recommended to _keep_ observations which are expected to be part of the distribution of interest, even if they are outliers [@leys2019outliers]. However, if it is suspected that the outliers belong to an alternative distribution, then those observations could have a large impact on the results and call into question their robustness, especially if significance is conditional on their inclusion, so should be removed. + +We should also keep in mind that there might be error outliers that are not detected by statistical tools, but should nonetheless be found and removed. For example, if we are studying the effects of X on Y among teenagers and we have one observation from a 20-year-old, this observation might not be a _statistical outlier_, but it is an outlier in the _context_ of our research, and should be discarded. We could call these observations *undetected* error outliers, in the sense that although they do not statistically stand out, they do not belong to the theoretical or empirical distribution of interest (e.g., teenagers). In this way, we should not blindly rely on statistical outlier detection methods; doing our due diligence to investigate undetected error outliers relative to our specific research question is also essential for valid inferences. + +## Winsorization + +_Removing_ outliers can in this case be a valid strategy, and ideally one would report results with and without outliers to see the extent of their impact on results. This approach however can reduce statistical power. Therefore, some propose a _recoding_ approach, namely, winsorization: bringing outliers back within acceptable limits [e.g., 3 MADs, @tukey1963less]. However, if possible, it is recommended to collect enough data so that even after removing outliers, there is still sufficient statistical power without having to resort to winsorization [@leys2019outliers]. + +The _easystats_ ecosystem makes it easy to incorporate this step into your workflow through the `winsorize()` function of *{datawizard}*, a lightweight R package to facilitate data wrangling and statistical transformations [@patil2022datawizard]. This procedure will bring back univariate outliers within the limits of 'acceptable' values, based either on the percentile, the _z_ score, or its robust alternative based on the MAD. + +## The Importance of Transparency + +Finally, it is a critical part of a sound outlier treatment that regardless of which SOD method used, it should be reported in a reproducible manner. Ideally, the handling of outliers should be specified *a priori* with as much detail as possible, and preregistered, to limit researchers' degrees of freedom and therefore risks of false positives [@leys2019outliers]. This is especially true given that interesting outliers and random outliers are often times hard to distinguish in practice. Thus, researchers should always prioritize transparency and report all of the following information: (a) how many outliers were identified (including percentage); (b) according to which method and criteria, (c) using which function of which R package (if applicable), and (d) how they were handled (excluded or winsorized, if the latter, using what threshold). If at all possible, (e) the corresponding code script along with the data should be shared on a public repository like the Open Science Framework (OSF), so that the exclusion criteria can be reproduced precisely. + +# References diff --git a/papers/JOSE/paper.pdf b/papers/JOSE/paper.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9e6812e5e0cb56d3150c59aa302ad3a60bc8456f GIT binary patch literal 593364 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%0DkE=+Ao_m+NpVGll6I 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ν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�){bXyb! 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 QkZNjH_TbS_#!D19O>1xn+*7CBNxPG58Ni|y>^ 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𒁻yrD8K&6#U_uhLz888Uf29$ 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�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�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%0Du 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 diff --git a/papers/Mathematics/paper.tex b/papers/Mathematics/paper.tex deleted file mode 100644 index 79e120cd3..000000000 --- a/papers/Mathematics/paper.tex +++ /dev/null @@ -1,956 +0,0 @@ -% LaTeX support: latex@mdpi.com -% In case you need support, please attach all files that are necessary for compiling as well as the log file, and specify the details of your LaTeX setup (which operating system and LaTeX version / tools you are using). - -%================================================================= -\documentclass[mathematics,article,submit,moreauthors,pdftex]{mdpi} - -% If you would like to post an early version of this manuscript as a preprint, you may use preprint as the journal and change 'submit' to 'accept'. The document class line would be, e.g., \documentclass[preprints,article,accept,moreauthors,pdftex]{mdpi}. This is especially recommended for submission to arXiv, where line numbers should be removed before posting. For preprints.org, the editorial staff will make this change immediately prior to posting. - -%% Some pieces required from the pandoc template -\setlist[itemize]{leftmargin=*,labelsep=5.8mm} -\setlist[enumerate]{leftmargin=*,labelsep=4.9mm} - - -%-------------------- -% Class Options: -%-------------------- -%---------- -% journal -%---------- -% Choose between the following MDPI journals: -% acoustics, actuators, addictions, admsci, aerospace, agriculture, agriengineering, agronomy, algorithms, animals, antibiotics, antibodies, antioxidants, applsci, arts, asc, asi, atmosphere, atoms, axioms, batteries, bdcc, behavsci , beverages, bioengineering, biology, biomedicines, biomimetics, biomolecules, biosensors, brainsci , buildings, cancers, carbon , catalysts, cells, ceramics, challenges, chemengineering, chemistry, chemosensors, children, cleantechnol, climate, clockssleep, cmd, coatings, colloids, computation, computers, condensedmatter, cosmetics, cryptography, crystals, dairy, data, dentistry, designs , diagnostics, diseases, diversity, drones, econometrics, economies, education, electrochem, electronics, energies, entropy, environments, epigenomes, est, fermentation, fibers, fire, fishes, fluids, foods, forecasting, forests, fractalfract, futureinternet, futurephys, galaxies, games, gastrointestdisord, gels, genealogy, genes, geohazards, geosciences, geriatrics, hazardousmatters, healthcare, heritage, highthroughput, horticulturae, humanities, hydrology, ijerph, ijfs, ijgi, ijms, ijns, ijtpp, informatics, information, infrastructures, inorganics, insects, instruments, inventions, iot, j, jcdd, jcm, jcp, jcs, jdb, jfb, jfmk, jimaging, jintelligence, jlpea, jmmp, jmse, jnt, jof, joitmc, jpm, jrfm, jsan, land, languages, laws, life, literature, logistics, lubricants, machines, magnetochemistry, make, marinedrugs, materials, mathematics, mca, medicina, medicines, medsci, membranes, metabolites, metals, microarrays, micromachines, microorganisms, minerals, modelling, molbank, molecules, mps, mti, nanomaterials, ncrna, neuroglia, nitrogen, notspecified, nutrients, ohbm, particles, pathogens, pharmaceuticals, pharmaceutics, pharmacy, philosophies, photonics, physics, plants, plasma, polymers, polysaccharides, preprints , proceedings, processes, proteomes, psych, publications, quantumrep, quaternary, qubs, reactions, recycling, religions, remotesensing, reports, resources, risks, robotics, safety, sci, scipharm, sensors, separations, sexes, signals, sinusitis, smartcities, sna, societies, socsci, soilsystems, sports, standards, stats, surfaces, surgeries, sustainability, symmetry, systems, technologies, test, toxics, toxins, tropicalmed, universe, urbansci, vaccines, vehicles, vetsci, vibration, viruses, vision, water, wem, wevj - -%--------- -% article -%--------- -% The default type of manuscript is "article", but can be replaced by: -% abstract, addendum, article, benchmark, book, bookreview, briefreport, casereport, changes, comment, commentary, communication, conceptpaper, conferenceproceedings, correction, conferencereport, expressionofconcern, extendedabstract, meetingreport, creative, datadescriptor, discussion, editorial, essay, erratum, hypothesis, interestingimages, letter, meetingreport, newbookreceived, obituary, opinion, projectreport, reply, retraction, review, perspective, protocol, shortnote, supfile, technicalnote, viewpoint -% supfile = supplementary materials - -%---------- -% submit -%---------- -% The class option "submit" will be changed to "accept" by the Editorial Office when the paper is accepted. This will only make changes to the frontpage (e.g., the logo of the journal will get visible), the headings, and the copyright information. Also, line numbering will be removed. Journal info and pagination for accepted papers will also be assigned by the Editorial Office. - -%------------------ -% moreauthors -%------------------ -% If there is only one author the class option oneauthor should be used. Otherwise use the class option moreauthors. - -%--------- -% pdftex -%--------- -% The option pdftex is for use with pdfLaTeX. If eps figures are used, remove the option pdftex and use LaTeX and dvi2pdf. - -%================================================================= -\firstpage{1} -\makeatletter -\setcounter{page}{\@firstpage} -\makeatother -\pubvolume{xx} -\issuenum{1} -\articlenumber{5} -\pubyear{2019} -\copyrightyear{2019} -%\externaleditor{Academic Editor: name} -\history{Received: date; Accepted: date; Published: date} -\updates{yes} % If there is an update available, un-comment this line - -%% MDPI internal command: uncomment if new journal that already uses continuous page numbers -%\continuouspages{yes} - -%------------------------------------------------------------------ -% The following line should be uncommented if the LaTeX file is uploaded to arXiv.org -%\pdfoutput=1 - -%================================================================= -% Add packages and commands here. The following packages are loaded in our class file: fontenc, calc, indentfirst, fancyhdr, graphicx, lastpage, ifthen, lineno, float, amsmath, setspace, enumitem, mathpazo, booktabs, titlesec, etoolbox, amsthm, hyphenat, natbib, hyperref, footmisc, geometry, caption, url, mdframed, tabto, soul, multirow, microtype, tikz - -%================================================================= -%% Please use the following mathematics environments: Theorem, Lemma, Corollary, Proposition, Characterization, Property, Problem, Example, ExamplesandDefinitions, Hypothesis, Remark, Definition -%% For proofs, please use the proof environment (the amsthm package is loaded by the MDPI class). - -%================================================================= -% Full title of the paper (Capitalized) -\Title{Check your outliers! An introduction to identifying statistical -outliers in R with \emph{easystats}} - -% Authors, for the paper (add full first names) -\Author{Rémi -Thériault$^{1,*}$\href{https://orcid.org/0000-0003-4315-6788}{\orcidicon}, Mattan -S. -Ben-Shachar$^{2}$\href{https://orcid.org/0000-0002-4287-4801}{\orcidicon}, Indrajeet -Patil$^{3}$\href{https://orcid.org/0000-0003-1995-6531}{\orcidicon}, Daniel -Lüdecke$^{4}$\href{https://orcid.org/0000-0002-8895-3206}{\orcidicon}, Brenton -M. -Wiernik$^{5}$\href{https://orcid.org/0000-0001-9560-6336}{\orcidicon}, Dominique -Makowski$^{6}$\href{https://orcid.org/0000-0001-5375-9967}{\orcidicon}} - -% Authors, for metadata in PDF -\AuthorNames{Rémi Thériault, Mattan S. Ben-Shachar, Indrajeet -Patil, Daniel Lüdecke, Brenton M. Wiernik, Dominique Makowski} - -% Affiliations / Addresses (Add [1] after \address if there is only one affiliation.) -\address{% -$^{1}$ \quad Department of Psychology, Université du Québec à Montréal, -Montréal, Québec, Canada; \\ -$^{2}$ \quad Independent Researcher; \\ -$^{3}$ \quad Center for Humans and Machines, Max Planck Institute for -Human Development, Berlin, Germany; \\ -$^{4}$ \quad Institute of Medical Sociology, University Medical Center -Hamburg-Eppendorf, Germany; \\ -$^{5}$ \quad Independent Researcher, Tampa, FL, USA; \\ -$^{6}$ \quad School of Psychology, University of Sussex, Brighton, -UK; \\ -} -% Contact information of the corresponding author -\corres{Correspondence: \href{mailto:theriault.remi@courrier.uqam.ca}{\nolinkurl{theriault.remi@courrier.uqam.ca}}.} - -% Current address and/or shared authorship - - - - - - - - -% The commands \thirdnote{} till \eighthnote{} are available for further notes - -% Simple summary -\simplesumm{The \emph{\{performance\}} package from the \emph{easystats} -ecosystem makes it easy to diagnose outliers in R and according to -current best practices thanks to the \texttt{check\_outiers()} -function.} - -% Abstract (Do not insert blank lines, i.e. \\) -\abstract{Beyond the challenge of keeping up-to-date with current best -practices regarding the diagnosis and treatment of outliers, an -additional difficulty arises concerning the mathematical implementation -of the recommended methods. In this paper, we provide an overview of -current recommandations and best practices and demonstrate how they can -easily and conveniently be implemented in the R statistical computing -software, using the \emph{\{performance\}} package of the -\emph{easystats} ecosystem. We cover univariate, multivariate, and -model-based statistical outlier detection methods, their recommended -threshold, standard output, and plotting methods. We conclude with -recommendations on the handling of outliers: the different theoretical -types of outliers, whether to exclude or winsorize them, and the -importance of transparency.} - -% Keywords -\keyword{univariate outliers; multivariate outliers; robust detection -methods; R; easystats} - -% The fields PACS, MSC, and JEL may be left empty or commented out if not applicable -%\PACS{J0101} -%\MSC{} -%\JEL{} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Only for the journal Diversity -%\LSID{\url{http://}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Only for the journal Applied Sciences: -%\featuredapplication{Authors are encouraged to provide a concise description of the specific application or a potential application of the work. This section is not mandatory.} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Only for the journal Data: -%\dataset{DOI number or link to the deposited data set in cases where the data set is published or set to be published separately. If the data set is submitted and will be published as a supplement to this paper in the journal Data, this field will be filled by the editors of the journal. In this case, please make sure to submit the data set as a supplement when entering your manuscript into our manuscript editorial system.} - -%\datasetlicense{license under which the data set is made available (CC0, CC-BY, CC-BY-SA, CC-BY-NC, etc.)} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Only for the journal Toxins -%\keycontribution{The breakthroughs or highlights of the manuscript. Authors can write one or two sentences to describe the most important part of the paper.} - -%\setcounter{secnumdepth}{4} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% Pandoc syntax highlighting -\usepackage{color} -\usepackage{fancyvrb} -\newcommand{\VerbBar}{|} -\newcommand{\VERB}{\Verb[commandchars=\\\{\}]} -\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}} -% Add ',fontsize=\small' for more characters per line -\usepackage{framed} -\definecolor{shadecolor}{RGB}{248,248,248} -\newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}} -\newcommand{\AlertTok}[1]{\textcolor[rgb]{0.94,0.16,0.16}{#1}} -\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} -\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.77,0.63,0.00}{#1}} -\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} -\newcommand{\BuiltInTok}[1]{#1} -\newcommand{\CharTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} -\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}} -\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} -\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} -\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}} -\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{#1}} -\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} -\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} -\newcommand{\ErrorTok}[1]{\textcolor[rgb]{0.64,0.00,0.00}{\textbf{#1}}} -\newcommand{\ExtensionTok}[1]{#1} -\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} -\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} -\newcommand{\ImportTok}[1]{#1} -\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} -\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}} -\newcommand{\NormalTok}[1]{#1} -\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.81,0.36,0.00}{\textbf{#1}}} -\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{#1}} -\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}} -\newcommand{\RegionMarkerTok}[1]{#1} -\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} -\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} -\newcommand{\StringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} -\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} -\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} -\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} - -% tightlist command for lists without linebreak -\providecommand{\tightlist}{% - \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} - -% From pandoc table feature -\usepackage{longtable,booktabs,array} -\usepackage{calc} % for calculating minipage widths -% Correct order of tables after \paragraph or \subparagraph -\usepackage{etoolbox} -\makeatletter -\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} -\makeatother -% Allow footnotes in longtable head/foot -\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} -\makesavenoteenv{longtable} - - - -\begin{document} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\hypertarget{introduction}{% -\section{Introduction}\label{introduction}} - -Real-life data often contain observations that can be considered -\emph{abnormal} when compared to the main population. The cause of -it---be it because they belong to a different distribution (originating -from a different generative process) or simply being extreme cases, -statistically rare but not impossible---can be hard to assess, and the -boundaries of ``abnormal'' are hard to define. - -Nonetheless, the improper handling of these outliers can substantially -affect statistical model estimations, biasing effect estimations and -weakening the models' predictive performance. It is thus essential to -address this problem in a thoughtful manner. Yet, despite the existence -of established recommendations and guidelines, many researchers still do -not treat outliers in a consistent manner, or do so using inappropriate -strategies \citep{simmons2011false, leys2013outliers}. - -One possible reason is that researchers are not aware of the existing -recommendations, or do not know how to implement them using their -analysis software. In this paper, we show how to follow current best -practices for automatic and reproducible statistical outlier detection -(SOD) using R and the \emph{\{performance\}} package -\citep{ludecke2021performance}, which is part of the \emph{easystats} -ecosystem of packages that build an R framework for easy statistical -modeling, visualization, and reporting \citep{easystatspackage}. - -\hypertarget{identifying-outliers}{% -\section{Identifying Outliers}\label{identifying-outliers}} - -Although many researchers attempt to identify outliers with measures -based on the mean (e.g., \emph{z} scores), those methods are problematic -because the mean and standard deviation themselves are not robust to the -influence of outliers and they assume normally distributed data (i.e., a -Gaussian distribution). Therefore, current guidelines recommend using -robust methods to identify outliers, such as those relying on the median -as opposed to the mean -\citep{leys2019outliers, leys2013outliers, leys2018outliers}. - -Nonetheless, which exact outlier method to use depends on many factors. -In some cases, eye-gauging odd observations can be an appropriate -solution, though many researchers will favour algorithmic solutions to -detect potential outliers, for example, based on a continuous value -expressing the observation stands out from the others. - -One of the factors to consider when selecting an algorithmic outlier -detection method is the statistical test of interest. When using a -regression model, relevant information can be found by identifying -observations that do not fit well with the model. This approach, known -as model-based outliers detection (as outliers are extracted after the -statistical model has been fit), can be contrasted with -distribution-based outliers detection, which is based on the distance -between an observation and the ``center'' of its population. Various -quantification strategies of this distance exist for the latter, both -univariate (involving only one variable at a time) or multivariate -(involving multiple variables). - -When no method is readily available to detect model-based outliers, such -as for structural equation modelling (SEM), looking for multivariate -outliers may be of relevance. For simple tests (\emph{t} tests or -correlations) that compare values of the same variable, it can be -appropriate to check for univariate outliers. However, univariate -methods can give false positives since \emph{t} tests and correlations, -ultimately, are also models/multivariable statistics. They are in this -sense more limited, but we show them nonetheless for educational -purposes. - -Importantly, whatever approach researchers choose remains a subjective -decision, which usage (and rationale) must be transparently documented -and reproducible \citep{leys2019outliers}. Researchers should commit -(ideally in a preregistration) to an outlier treatment method before -collecting the data. They should report in the paper their decisions and -details of their methods, as well as any deviation from their original -plan. These transparency practices can help reduce false positives due -to excessive researchers' degrees of freedom (i.e., choice flexibility -throughout the analysis). In the following section, we will go through -each of the mentioned methods and provide examples on how to implement -them with R. - -\hypertarget{univariate-outliers}{% -\subsection{Univariate Outliers}\label{univariate-outliers}} - -Researchers frequently attempt to identify outliers using measures of -deviation from the center of a variable's distribution. One of the most -popular such procedure is the \emph{z} score transformation, which -computes the distance in standard deviation (SD) from the mean. However, -as mentioned earlier, this popular method is not robust. Therefore, for -univariate outliers, it is recommended to use the median along with the -Median Absolute Deviation (MAD), which are more robust than the -interquartile range or the mean and its standard deviation -\citep{leys2019outliers, leys2013outliers}. - -Researchers can identify outliers based on robust (i.e., MAD-based) -\emph{z} scores using the \texttt{check\_outliers()} function of the -\emph{\{performance\}} package, by specifying -\texttt{method\ =\ "zscore\_robust"}.\footnote{Note that - \texttt{check\_outliers()} only checks numeric variables.} Although -\citet{leys2013outliers} suggest a default threshold of 2.5 and -\citet{leys2019outliers} a threshold of 3, \emph{\{performance\}} uses -by default a less conservative threshold of -\textasciitilde3.29.\footnote{3.29 is an approximation of the two-tailed - critical value for \emph{p} \textless{} .001, obtained through - \texttt{qnorm(p\ =\ 1\ -\ 0.001\ /\ 2)}. We chose this threshold for - consistency with the thresholds of all our other methods.} That is, -data points will be flagged as outliers if they go beyond +/- -\textasciitilde3.29 MAD. Users can adjust this threshold using the -\texttt{threshold} argument, as demonstrated below. - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{library}\NormalTok{(performance)} - -\CommentTok{\# Create some artificial outliers and an ID column} -\NormalTok{data }\OtherTok{\textless{}{-}} \FunctionTok{rbind}\NormalTok{(mtcars[}\DecValTok{1}\SpecialCharTok{:}\DecValTok{4}\NormalTok{], }\DecValTok{42}\NormalTok{, }\DecValTok{55}\NormalTok{)} -\NormalTok{data }\OtherTok{\textless{}{-}} \FunctionTok{cbind}\NormalTok{(}\AttributeTok{car =} \FunctionTok{row.names}\NormalTok{(data), data)} - -\NormalTok{outliers }\OtherTok{\textless{}{-}} \FunctionTok{check\_outliers}\NormalTok{(data, }\AttributeTok{method =} \StringTok{"zscore\_robust"}\NormalTok{, }\AttributeTok{ID =} \StringTok{"car"}\NormalTok{)} -\NormalTok{outliers} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -#> 2 outliers detected: cases 33, 34. -#> - Based on the following method and threshold: zscore_robust (3.09). -#> - For variables: mpg, cyl, disp, hp. -#> -#> ----------------------------------------------------------------------------- -#> -#> The following observations were considered outliers for two or more -#> variables by at least one of the selected methods: -#> -#> Row car n_Zscore_robust -#> 1 33 33 2 -#> 2 34 34 2 -#> -#> ----------------------------------------------------------------------------- -#> Outliers per variable (zscore_robust): -#> -#> $mpg -#> Row car Distance_Zscore_robust -#> 33 33 33 3.709699 -#> 34 34 34 5.848328 -#> -#> $cyl -#> Row car Distance_Zscore_robust -#> 33 33 33 12.14083 -#> 34 34 34 16.52502 -\end{verbatim} - -The row numbers of the detected outliers can be obtained by using -\texttt{which()} on the output object, which can be used for exclusions -for example: - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{which}\NormalTok{(outliers)} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -#> [1] 33 34 -\end{verbatim} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{data\_clean }\OtherTok{\textless{}{-}}\NormalTok{ data[}\SpecialCharTok{{-}}\FunctionTok{which}\NormalTok{(outliers), ]} -\end{Highlighting} -\end{Shaded} - -All \texttt{check\_outliers()} output objects possess a \texttt{plot()} -method, meaning it is also possible to visualize the outliers: - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{library}\NormalTok{(see)} - -\FunctionTok{plot}\NormalTok{(outliers)} -\end{Highlighting} -\end{Shaded} - -\begin{figure} -\includegraphics[width=1\linewidth]{paper_files/figure-latex/univariate-1} \caption{Visual depiction of outliers using the robust z-score method.}\label{fig:univariate} -\end{figure} - -Other univariate methods are available, such as using the interquartile -range (IQR), or based on different intervals, such as the Highest -Density Interval (HDI) or the Bias Corrected and Accelerated Interval -(BCI). These methods are documented and described in the function's -\href{https://easystats.github.io/performance/reference/check_outliers.html}{help -page}. - -\hypertarget{multivariate-outliers}{% -\subsection{Multivariate Outliers}\label{multivariate-outliers}} - -Univariate outliers can be useful when the focus is on a particular -variable, for instance the reaction time, as extreme values might be -indicative of inattention or non-task-related behavior\footnote{ Note - that they might not be the optimal way of treating reaction time - outliers \citep{ratcliff1993methods, van1995statistical}}. - -However, in many scenarios, variables of a data set are not independent, -and an abnormal observation will impact multiple dimensions. For -instance, a participant giving random answers to a questionnaire. In -this case, computing the \emph{z} score for each of the questions might -not lead to satisfactory results. Instead, one might want to look at -these variables together. - -One common approach for this is to compute multivariate distance metrics -such as the Mahalanobis distance. Although the Mahalanobis distance is -very popular, just like the regular \emph{z} scores method, it is not -robust and is heavily influenced by the outliers themselves. Therefore, -for multivariate outliers, it is recommended to use the Minimum -Covariance Determinant, a robust version of the Mahalanobis distance -\citep[MCD,][]{leys2018outliers, leys2019outliers}. - -In \emph{\{performance\}}'s \texttt{check\_outliers()}, one can use this -approach with \texttt{method\ =\ "mcd"}.\footnote{Our default threshold - for the MCD method is defined by - \texttt{stats::qchisq(p\ =\ 1\ -\ 0.001,\ df\ =\ ncol(x))}, which - again is an approximation of the critical value for \emph{p} - \textless{} .001 consistent with the thresholds of our other methods.} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{outliers }\OtherTok{\textless{}{-}} \FunctionTok{check\_outliers}\NormalTok{(data, }\AttributeTok{method =} \StringTok{"mcd"}\NormalTok{)} -\NormalTok{outliers} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -#> 9 outliers detected: cases 7, 15, 16, 17, 24, 29, 31, 33, 34. -#> - Based on the following method and threshold: mcd (20). -#> - For variables: mpg, cyl, disp, hp. -\end{verbatim} - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{plot}\NormalTok{(outliers)} -\end{Highlighting} -\end{Shaded} - -\begin{figure} -\includegraphics[width=1\linewidth]{paper_files/figure-latex/multivariate-1} \caption{Visual depiction of outliers using the Minimum Covariance Determinant (MCD) method, a robust version of the Mahalanobis distance.}\label{fig:multivariate} -\end{figure} - -Other multivariate methods are available, such as another type of robust -Mahalanobis distance that in this case relies on an orthogonalized -Gnanadesikan-Kettenring pairwise estimator -\citep{gnanadesikan1972robust}. These methods are documented and -described in the function's -\href{https://easystats.github.io/performance/reference/check_outliers.html}{help -page}. - -\hypertarget{model-based-outliers}{% -\subsection{Model-Based Outliers}\label{model-based-outliers}} - -Working with regression models creates the possibility of using -model-based SOD methods. These methods rely on the concept of -\emph{leverage}, that is, how much influence a given observation can -have on the model estimates. If few observations have a relatively -strong leverage/influence on the model, one can suspect that the model's -estimates are biased by these observations, in which case flagging them -as outliers could prove helpful (see next section, ``Handling -Outliers''). - -In \{performance\}, two such model-based SOD methods are currently -available: Cook's distance, for regular regression models, and Pareto, -for Bayesian models. As such, \texttt{check\_outliers()} can be applied -directly on regression model objects, by simply specifying -\texttt{method\ =\ "cook"} (or \texttt{method\ =\ "pareto"} for Bayesian -models).\footnote{Our default threshold for the Cook method is defined - by \texttt{stats::qf(0.5,\ ncol(x),\ nrow(x)\ -\ ncol(x))}, which - again is an approximation of the critical value for \emph{p} - \textless{} .001 consistent with the thresholds of our other methods.} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{model }\OtherTok{\textless{}{-}} \FunctionTok{lm}\NormalTok{(disp }\SpecialCharTok{\textasciitilde{}}\NormalTok{ mpg }\SpecialCharTok{*}\NormalTok{ disp, }\AttributeTok{data =}\NormalTok{ data)} -\NormalTok{outliers }\OtherTok{\textless{}{-}} \FunctionTok{check\_outliers}\NormalTok{(model, }\AttributeTok{method =} \StringTok{"cook"}\NormalTok{)} -\NormalTok{outliers} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -#> 1 outlier detected: case 34. -#> - Based on the following method and threshold: cook (0.708). -#> - For variable: (Whole model). -\end{verbatim} - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{plot}\NormalTok{(outliers)} -\end{Highlighting} -\end{Shaded} - -\begin{figure} -\includegraphics[width=1\linewidth]{paper_files/figure-latex/model-1} \caption{Visual depiction of outliers based on Cook's distance (leverage and standardized residuals).}\label{fig:model} -\end{figure} - -Table 1 below summarizes which methods to use in which cases, and with -what threshold. - -\begin{longtable}[]{@{} - >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.3506}} - >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.3161}} - >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.3333}}@{}} -\caption{Summary of Statistical Outlier Detection Methods -Recommendations.}\tabularnewline -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -Statistical Test -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -Diagnosis Method -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -Recommended Threshold -\end{minipage} \\ -\midrule() -\endfirsthead -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -Statistical Test -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -Diagnosis Method -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -Recommended Threshold -\end{minipage} \\ -\midrule() -\endhead -Supported regression model & \textbf{Model-based}: Cook (or Pareto for -Bayesian models) & \texttt{qf(0.5,\ ncol(x),\ nrow(x)\ -\ ncol(x))} (or -0.7 for Pareto) \\ -Structural Equation Modeling (or other unsupported model) & -\textbf{Multivariate}: Minimum Covariance Determinant (MCD) & -\texttt{qchisq(p\ =\ 1\ -\ 0.001,\ df\ =\ ncol(x))} \\ -Simple test with few variables (\emph{t} test, correlation, etc.) & -\textbf{Univariate}: robust \emph{z} scores (MAD) & -\texttt{qnorm(p\ =\ 1\ -\ 0.001\ /\ 2)}, \textasciitilde{} 3.29 \\ -\bottomrule() -\end{longtable} - -\hypertarget{cooks-distance-vs.-mcd}{% -\subsubsection{Cook's Distance vs.~MCD}\label{cooks-distance-vs.-mcd}} - -\citet{leys2018outliers} report a preference for the MCD method over -Cook's distance. This is because Cook's distance removes one observation -at a time and checks its corresponding influence on the model each time -\citep{cook1977detection}, and flags any observation that has a large -influence. In the view of these authors, when there are several -outliers, the process of removing a single outlier at a time is -problematic as the model remains ``contaminated'' or influenced by other -possible outliers in the model, rendering this method suboptimal in the -presence of multiple outliers. - -However, distribution-based approaches are not a silver bullet either, -and there are cases where the usage of methods agnostic to theoretical -and statistical models of interest might be problematic. For example, a -very tall person would be expected to also be much heavier than average, -but that would still fit with the expected association between height -and weight (i.e., it would be in line with a model such as -\texttt{weight\ \textasciitilde{}\ height}). In contrast, using -multivariate outlier detection methods there may flag this person as -being an outlier---being unusual on two variables, height and -weight---even though the pattern fits perfectly with our predictions. - -In the example below, we plot the raw data and see two possible -outliers. The first one falls along the regression line, and is -therefore ``in line'' with our hypothesis. The second one clearly -diverges from the regression line, and therefore we can conclude that -this outlier may have a disproportionate influence on our model. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{data }\OtherTok{\textless{}{-}}\NormalTok{ women[}\FunctionTok{rep}\NormalTok{(}\FunctionTok{seq\_len}\NormalTok{(}\FunctionTok{nrow}\NormalTok{(women)), }\AttributeTok{each =} \DecValTok{100}\NormalTok{), ]} -\NormalTok{data }\OtherTok{\textless{}{-}} \FunctionTok{rbind}\NormalTok{(data, }\FunctionTok{c}\NormalTok{(}\DecValTok{100}\NormalTok{, }\DecValTok{258}\NormalTok{), }\FunctionTok{c}\NormalTok{(}\DecValTok{100}\NormalTok{, }\DecValTok{200}\NormalTok{))} -\NormalTok{model }\OtherTok{\textless{}{-}} \FunctionTok{lm}\NormalTok{(weight }\SpecialCharTok{\textasciitilde{}}\NormalTok{ height, data)} -\NormalTok{rempsyc}\SpecialCharTok{::}\FunctionTok{nice\_scatter}\NormalTok{(data, }\StringTok{"height"}\NormalTok{, }\StringTok{"weight"}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{figure} -\includegraphics[width=1\linewidth]{paper_files/figure-latex/scatter-1} \caption{Scatter plot of height and weight, with two extreme observations: one model-consistent (top-right) and the other, model-inconsistent (i.e., an outlier; bottom-right).}\label{fig:scatter} -\end{figure} - -Using either the \emph{z}-score or MCD methods, our model-consistent -observation will be incorrectly flagged as an outlier or influential -observation. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{outliers }\OtherTok{\textless{}{-}} \FunctionTok{check\_outliers}\NormalTok{(model, }\AttributeTok{method =} \FunctionTok{c}\NormalTok{(}\StringTok{"zscore\_robust"}\NormalTok{, }\StringTok{"mcd"}\NormalTok{))} -\FunctionTok{which}\NormalTok{(outliers)} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -#> [1] 1501 1502 -\end{verbatim} - -In contrast, the model-based detection method displays the desired -behaviour: it correctly flags the person who is very tall but very -light, without flagging the person who is both tall and heavy. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{outliers }\OtherTok{\textless{}{-}} \FunctionTok{check\_outliers}\NormalTok{(model, }\AttributeTok{method =} \StringTok{"cook"}\NormalTok{)} -\FunctionTok{which}\NormalTok{(outliers)} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -#> [1] 1502 -\end{verbatim} - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{plot}\NormalTok{(outliers)} -\end{Highlighting} -\end{Shaded} - -\begin{figure} -\includegraphics[width=1\linewidth]{paper_files/figure-latex/model2-1} \caption{The leverage method (Cook's distance) correctly distinguishes the true outlier from the model-consistent extreme observation).}\label{fig:model2} -\end{figure} - -Finally, unusual observations happen naturally: extreme observations are -expected even when taken from a normal distribution. While statistical -models can integrate this ``expectation'', multivariate outlier methods -might be too conservative, flagging too many observations despite -belonging to the right generative process. For these reasons, we believe -that model-based methods are still preferable to the MCD when using -supported regression models. Additionally, if the presence of multiple -outliers is a significant concern, regression methods that are more -robust to outliers should be considered---like \emph{t} regression or -quantile regression---as they render their precise identification less -critical \citep{mcelreath2020statistical}. - -\hypertarget{multiple-methods}{% -\subsection{Multiple Methods}\label{multiple-methods}} - -An alternative approach that is possible is to combine several methods, -based on the assumption that different methods provide different angles -of looking at the problem. By applying a variety of methods, one can -hope to ``triangulate'' the true outliers (those consistently flagged by -multiple methods) and thus attempt to minimize false positives. - -In practice, this approach computes a composite outlier score, formed of -the average of the binary (0 or 1) classification results of each -method. It represents the probability that each observation is -classified as an outlier by at least one method. The default decision -rule classifies rows with composite outlier scores superior or equal to -0.5 as outlier observations (i.e., that were classified as outliers by -at least half of the methods). In \emph{\{performance\}}'s -\texttt{check\_outliers()}, one can use this approach by including all -desired methods in the corresponding argument. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{outliers }\OtherTok{\textless{}{-}} \FunctionTok{check\_outliers}\NormalTok{(model, }\AttributeTok{method =} \FunctionTok{c}\NormalTok{(}\StringTok{"zscore\_robust"}\NormalTok{, }\StringTok{"mcd"}\NormalTok{, }\StringTok{"cook"}\NormalTok{))} -\FunctionTok{which}\NormalTok{(outliers)} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -#> [1] 1501 1502 -\end{verbatim} - -Outliers (counts or per variables) for individual methods can then be -obtained through attributes. For example: - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{attributes}\NormalTok{(outliers)}\SpecialCharTok{$}\NormalTok{outlier\_var}\SpecialCharTok{$}\NormalTok{zscore\_robust} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -#> $weight -#> Row Distance_Zscore_robust -#> 1501 1501 6.913530 -#> 1502 1502 3.653492 -#> -#> $height -#> Row Distance_Zscore_robust -#> 1501 1501 5.901794 -#> 1502 1502 5.901794 -\end{verbatim} - -An example sentence for reporting the usage of the composite method -could be: - -\begin{quote} -Based on a composite outlier score (see the `check\_outliers()' function -in the `performance' R package, \citep{ludecke2021performance}) obtained -via the joint application of multiple outliers detection algorithms ((a) -median absolute deviation (MAD)-based robust \emph{z} scores, -\citep{leys2013outliers}; (b) Mahalanobis minimum covariance determinant -(MCD), \citep{leys2019outliers}; and (c) Cook's distance, -\citep{cook1977detection}), we excluded two participants that were -classified as outliers by at least half of the methods used. -\end{quote} - -\hypertarget{handling-outliers}{% -\section{Handling Outliers}\label{handling-outliers}} - -The above section demonstrated how to identify outliers using the -\texttt{check\_outliers()} function in the \emph{\{performance\}} -package. But what should we do with these outliers once identified? -Although it is common to automatically discard any observation that has -been marked as ``an outlier'' as if it might infect the rest of the data -with its statistical ailment, we believe that the use of SOD methods is -but one step in the get-to-know-your-data pipeline; a researcher or -analyst's \emph{domain knowledge} must be involved in the decision of -how to deal with observations marked as outliers by means of SOD. -Indeed, automatic tools can help detect outliers, but they are nowhere -near perfect. Although they can be useful to flag suspect data, they can -have misses and false alarms, and they cannot replace human eyes and -proper vigilance from the researcher. If you do end up manually -inspecting your data for outliers, it can be helpful to think of -outliers as belonging to different types of outliers, or categories, -which can help decide what to do with a given outlier. - -\hypertarget{error-interesting-and-random-outliers}{% -\subsection{Error, Interesting, and Random -Outliers}\label{error-interesting-and-random-outliers}} - -\citet{leys2019outliers} distinguish between error outliers, interesting -outliers, and random outliers. \emph{Error outliers} are likely due to -human error and should be corrected before data analysis or outright -removed since they are invalid observations. \emph{Interesting outliers} -are not due to technical error and may be of theoretical interest; it -might thus be relevant to investigate them further even though they -should be removed from the current analysis of interest. \emph{Random -outliers} are assumed to be due to chance alone and to belong to the -correct distribution and, therefore, should be retained. - -It is recommended to \emph{keep} observations which are expected to be -part of the distribution of interest, even if they are outliers -\citep{leys2019outliers}. However, if it is suspected that the outliers -belong to an alternative distribution, then those observations could -have a large impact on the results and call into question their -robustness, especially if significance is conditional on their -inclusion. - -On the other hand, there are also outliers that cannot be detected by -statistical tools, but should be found and removed. For example, if we -are studying the effects of X on Y among teenagers and we have one -observation from a 20-year-old, this observation might not be a -\emph{statistical outlier}, but it is an outlier in the \emph{context} -of our research, and should be discarded to allow for valid inferences. - -\hypertarget{winsorization}{% -\subsection{Winsorization}\label{winsorization}} - -\emph{Removing} outliers can in this case be a valid strategy, and -ideally one would report results with and without outliers to see the -extent of their impact on results. This approach however can reduce -statistical power. Therefore, some propose a \emph{recoding} approach, -namely, winsorization: bringing outliers back within acceptable limits -\citep[e.g., 3 MADs,][]{tukey1963less}. However, if possible, it is -recommended to collect enough data so that even after removing outliers, -there is still sufficient statistical power without having to resort to -winsorization \citep{leys2019outliers}. - -The \emph{easystats} ecosystem makes it easy to incorporate this step -into your workflow through the \texttt{winsorize()} function of -\emph{\{datawizard\}}, a lightweight R package to facilitate data -wrangling and statistical transformations \citep{patil2022datawizard}. -This procedure will bring back univariate outliers within the limits of -`acceptable' values, based either on the percentile, the \emph{z} score, -or its robust alternative based on the MAD. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{data[}\DecValTok{1501}\SpecialCharTok{:}\DecValTok{1502}\NormalTok{, ] }\CommentTok{\# See outliers rows} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -#> height weight -#> 1501 100 258 -#> 1502 100 200 -\end{verbatim} - -\begin{Shaded} -\begin{Highlighting}[] -\CommentTok{\# Winsorizing using the MAD} -\FunctionTok{library}\NormalTok{(datawizard)} -\NormalTok{winsorized\_data }\OtherTok{\textless{}{-}} \FunctionTok{winsorize}\NormalTok{(data, }\AttributeTok{method =} \StringTok{"zscore"}\NormalTok{, }\AttributeTok{robust =} \ConstantTok{TRUE}\NormalTok{, }\AttributeTok{threshold =} \DecValTok{3}\NormalTok{)} - -\CommentTok{\# Values \textgreater{} +/{-} MAD have been winsorized} -\NormalTok{winsorized\_data[}\DecValTok{1501}\SpecialCharTok{:}\DecValTok{1502}\NormalTok{, ]} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -#> height weight -#> 1501 82.7912 188.3736 -#> 1502 82.7912 188.3736 -\end{verbatim} - -\hypertarget{the-importance-of-transparency}{% -\subsection{The Importance of -Transparency}\label{the-importance-of-transparency}} - -Once again, it is a critical part of a sound outlier treatment that -regardless of which SOD method used, it should be reported in a -reproducible manner. Ideally, the handling of outliers should be -specified \emph{a priori} with as much detail as possible, and -preregistered, to limit researchers' degrees of freedom and therefore -risks of false positives \citep{leys2019outliers}. This is especially -true given that interesting outliers and random outliers are often times -hard to distinguish in practice. Thus, researchers should always -prioritize transparency and report all of the following information: (a) -how many outliers were identified; (b) according to which method and -criteria, (c) using which function of which R package (if applicable), -and (d) how they were handled (excluded or winsorized, if the latter, -using what threshold). If at all possible, (e) the corresponding code -script along with the data should be shared on a public repository like -the Open Science Framework (OSF), so that the exclusion criteria can be -reproduced precisely. - -\hypertarget{conclusion}{% -\section{Conclusion}\label{conclusion}} - -In this paper, we have showed how to investigate outliers using the -\texttt{check\_outliers()} function of the \emph{\{performance\}} -package while following current good practices. However, best practice -for outlier treatment does not stop at using appropriate statistical -algorithms, but entails respecting existing recommendations, such as -preregistration, reproducibility, consistency, transparency, and -justification. Ideally, one would additionally also report the package, -function, and threshold used (linking to the full code when possible). -We hope that this paper and the accompanying \texttt{check\_outlier()} -function of \emph{easystats} will help researchers engage in good -research practices while providing a smooth outlier detection -experience. - -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% %% optional -% \supplementary{The following are available online at www.mdpi.com/link, Figure S1: title, Table S1: title, Video S1: title.} -% -% % Only for the journal Methods and Protocols: -% % If you wish to submit a video article, please do so with any other supplementary material. -% % \supplementary{The following are available at www.mdpi.com/link: Figure S1: title, Table S1: title, Video S1: title. A supporting video article is available at doi: link.} - -\vspace{6pt} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\acknowledgments{\emph{\{performance\}} is part of the collaborative -\href{https://github.com/easystats/easystats}{\emph{easystats}} -ecosystem \citep{easystatspackage}. Thus, we thank all -\href{https://github.com/orgs/easystats/people}{members of easystats}, -contributors, and users alike.} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\authorcontributions{R.T. drafted the paper; all authors contributed to -both the writing of the paper and the conception of the software.} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\conflictsofinterest{The authors declare no conflict of interest.} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% optional -\abbreviations{The following abbreviations are used in this manuscript:\\ - -\noindent -\begin{tabular}{@{}ll} -SOD & Statistical outlier detection \\ -SEM & Structural equation modelling \\ -SD & Standard deviation \\ -MAD & Median absolute deviation \\ -IQR & Interquartile range \\ -HDI & Highest density interval \\ -BCI & Bias corrected and accelerated interval \\ -MCD & Minimum covariance determinant \\ -ICS & invariant coordinate selection \\ -OSF & Open Science Framework \\ -\end{tabular}} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Citations and References in Supplementary files are permitted provided that they also appear in the reference list here. - -%===================================== -% References, variant A: internal bibliography -%===================================== -%\reftitle{References} -%\begin{thebibliography}{999} -% Reference 1 -%\bibitem[Author1(year)]{ref-journal} -%Author1, T. The title of the cited article. {\em Journal Abbreviation} {\bf 2008}, {\em 10}, 142--149. -% Reference 2 -%\bibitem[Author2(year)]{ref-book} -%Author2, L. The title of the cited contribution. In {\em The Book Title}; Editor1, F., Editor2, A., Eds.; Publishing House: City, Country, 2007; pp. 32--58. -%\end{thebibliography} - -% The following MDPI journals use author-date citation: Arts, Econometrics, Economies, Genealogy, Humanities, IJFS, JRFM, Laws, Religions, Risks, Social Sciences. For those journals, please follow the formatting guidelines on http://www.mdpi.com/authors/references -% To cite two works by the same author: \citeauthor{ref-journal-1a} (\citeyear{ref-journal-1a}, \citeyear{ref-journal-1b}). This produces: Whittaker (1967, 1975) -% To cite two works by the same author with specific pages: \citeauthor{ref-journal-3a} (\citeyear{ref-journal-3a}, p. 328; \citeyear{ref-journal-3b}, p.475). This produces: Wong (1999, p. 328; 2000, p. 475) - -%===================================== -% References, variant B: external bibliography -%===================================== -\reftitle{References} -\externalbibliography{yes} -\bibliography{mybibfile.bib} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% optional - -%% for journal Sci -%\reviewreports{\\ -%Reviewer 1 comments and authors’ response\\ -%Reviewer 2 comments and authors’ response\\ -%Reviewer 3 comments and authors’ response -%} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -\end{document} diff --git a/papers/Mathematics/paper_files/figure-latex/model-1.pdf b/papers/Mathematics/paper_files/figure-latex/model-1.pdf deleted file mode 100644 index 981b683182c03b614ea89b61e359f74ecda8f020..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7824 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 N6a})gD{3kM{|~RI*H-`l diff --git a/papers/Mathematics/paper_files/figure-latex/multivariate-1.pdf b/papers/Mathematics/paper_files/figure-latex/multivariate-1.pdf deleted file mode 100644 index 19572182e9ef4da34d5489d0b41754b6b00cde7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5096 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 Pvhs2O0RasoO~C&Fi9q43 diff --git a/papers/Mathematics/paper_files/figure-latex/scatter-1.pdf b/papers/Mathematics/paper_files/figure-latex/scatter-1.pdf deleted file mode 100644 index ff314a81644d542d52ca96e56a0ba436ed3e8dbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7724 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 diff --git a/papers/Mathematics/paper_files/figure-latex/univariate-1.pdf b/papers/Mathematics/paper_files/figure-latex/univariate-1.pdf deleted file mode 100644 index bd9572308eb75bf9d586f90bafe0aa81007b9b0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5097 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 diff --git a/papers/Mathematics/paper_files/figure-latex/unnamed-chunk-4-1.pdf b/papers/Mathematics/paper_files/figure-latex/unnamed-chunk-4-1.pdf deleted file mode 100644 index 3316d1de5f50110a003edc590877c13e01a9a1b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6672 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 hPtm1~Kp=sC2(X{>#?lq}v#U@6Tvs_bKh diff --git a/papers/Mathematics/paper_files/figure-latex/unnamed-chunk-5-1.pdf b/papers/Mathematics/paper_files/figure-latex/unnamed-chunk-5-1.pdf deleted file mode 100644 index 74d6134f75f4ff31e6015d0ffed1340cd00835de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8534 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 diff --git a/papers/Mathematics/paper_files/figure-latex/unnamed-chunk-5-2.pdf b/papers/Mathematics/paper_files/figure-latex/unnamed-chunk-5-2.pdf deleted file mode 100644 index ef8134512432b169791f823b49e2d08945edeae4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6695 zcmZ{pXFyX~)5j?bQdGJSX#uGUgoG|lI?}838UjWjp@dH8y@?1YB2Aj06zN4k6p)Ve zB3+c;K|=LSblu(O+4s3$ZqD49Gjk^Q!|y+rQ%6ymA1okD#u>aA{3UoGc-Y*H3=9+m zB5fa#NlB4`6x?7oC^!vb@e23o*5$@>zs`^^&-fi}e`sl5nDeTYz1W$~m}5DsD1DV4h#WvVot{3SaB4Zb z*pBpA9X&tVS);FQ5WBQ(IX`zAY9%*+;hFeji94m^hpp<__LufnY1Zp?#@DPcX1VG) zeEf}xU-Yi8Olxm_J2E)C{-d>NMl+~_t?u~9oo39B>*bE=6WZxRwv@Wpt@EP``ObbU zGMkKvrpclzc5|E8b)+wY2^Uea$}NO*LH8b1!ei_xprcQ=HeBnX{a{yxM-<9E?uCgW$rk z)Mytp>uJoqN1jzgkQq*7zWV0#lZt%+Ws&>?^5|pNox7S0dPF2e8AXi+@q2v@&rWQ3 zIU+EnYwH9o!n4ToCTdJ*3rreF-g z*DFN?VI%#?;W_a;%&QO9ZsZTQc<9evyFQBd()&)mzFhLPW`3e&d-!#7DUUCV*@(5z z@_+{%_yJE$BTl|(%!oKABgaNZ29oH>D^h09-%zGblVEmqP1&7z_uOdXLicK39k*jH zM;WkH6BSX0K9mT2d~@EME>Xy1yh;~atG+Bh%Zs({WiM%dZ%b*sZsPmw#ozFkvMZA7 zHt*f#?QpPWE}Om<6QO$?Lu{OXQ{0HCjb+BrIS!Zfq5q}k?*7B7#7XvGe2*kNl}{L% zprY;d8gkH-QJ9H<@lUX~SxcRCR0_Ihbn z5MJ$G$19*wkKMdS?6-scSH7W5b~Z|hSqZAu>8#g!(i$A6c;;TOd-@o^IKJqqld7Q9 z5RH}GkH|E=B$zRAeFBkE+KM~ljg)Z1w=ezuTYXdwt-Z1wrb^+t{*|Q#GIdlplj&%; z)}7g2>#bnM21{~iZR2lZ@HeDi+yyj>BbI5b^;D7;3HH2%W#E;O288y!{Y;GonLpo! z_|~f{IStYlW>Fee;&eys*@QhwSI`W1D%iNQoyUbT0CRZkqpHp}R~WM#I)BnDJaj5<|j+s$!p00s$d8O#yX)_R7M}%H9}n9)~NS zQ57sXhqn$KC3;KNvU~SbIFC$RjL5rSvsko4Z1ur6ACXd^{y+=Uj1+Tx&N!zG-^B{X zPZ(7H#iy(O^hSE4Sj8h-S^9;g==d9&H8zY3(Wm82%ln-d056JxHlZ9>UxkTDIYWjX z-N^=}DmcSVncdZn+l=PhM2<1hoqbGKC7$l|b*LUu8rgHP66(vk?7SY5@%>KN79QfC z7y%IP=37yK=HKY2-EdWbQcmZmz297WK|%0wE6hlH<#9nY9z~bT^#T&K&+CmFi09V+ zRt?V|ma?_V%%OG)wIvS@!^KGI)M^EW(`+@&Ex9UyXU-`RBp~{uNb$-zcYTS5NzRt+RXC%YpQE&^h|(>;{QWsI^&ynqx`j`l!^URk(=+r>E3vcP~q6pz8Jl_-c7C=wYsoN(l$2Q4Lp6kVL+BtGcOaWBWGda&lP4!p#)W zl3H^S&@{1(3$=QvwzxgY_WntfA?fvo&Mum^C|YUOG^=!IC3j<7-POawA@xO2uw< z1TTmGvC%k2**Jy)zZ)83`0Ps4URWB~HjkloBCmT#TsP^88dq{GV|rb(j(6kbYe9Q! zQ2L6I13C_K6{cYKuR~nk)DZpgL{9SnDa(}&7=5P3gGW0NDd28PSshMq>cQYqL+^#V zZ6wXqwcOs+;1DR9dIE5xPMW-`jc+oQ)ipB2Yu94WQB=THr8uII<~+L^s9x8E0UPscxm#)ei<{k! ztVjaO5)QmmK{}ULB9-eZV&CMtxIB-a?lc9!4PRBFlt0}67Sud>nFFM+*`Hc4vd9;1 z&(Qn!v8Z29xpwbY>(642HVIMzBB@^=)Y2uqbQPkL=|$JlE_A}gXp79PX-A z9b_n>F3V-pc4X3ZQQ+aS*6YmUs7C4U#Qt5Uu3xR#kLIA;r+yD6<}IHhBqibZch{E6 z=nJoI&U6K8<)lm2W4y`2XS&ws1f~bL3tQ?c>9Zz}%IDbw^#CE-v(ih?JbQTs4d8RP zdbj`})&ZWBqxCo|om3Hyt?mo|6CIxBuFYZIfr1Z%d9_?$vW=XrW}8f=AJW%8LCQ2W zH=IvtVv?@E>SAem=;Oy%k)uA7yz*n8_Pj*$*u}@)YaKC%#-I*6&V3gIklEwmjecGW z{j$^3Xw1Q&g~hD-G~#IC$2e$u802)Kv{EdwH`--|n6*SV)YUioqrYD4uJa?8D_3ip zn;Xwu_RH^OolBlkWP1m-VR89S^86E=aa{b1TYrP|FJ1j5pWJdO0g zaxoYP(uCQ;ZRC;OKr=z?GhtD2pb$jZ;vZ;@L*w5lj3s!eJ`4pk17S4;HUrEXWkCi~ z#$q*4N(!V50fKRx`~-85k~d04ABB?;Qc^&Wiar89^u1N{~0uBRdo6#2dF-^h^yaW^Tr1v>tmJwVb}*jK)41h5%%nMhzDr!% z=s9PtcGuGyVaGJ6cYQ8FeyNfd;cPAXK9-IOS}YibKE0q z0R1uvrXJGF1r0^rjkwc+TzUiW*Am6!Ntzb;=B{tBp4frRjX@xhx{?Xub#0vY!X z(DYEW_xG9#P;(SU0l3WdBjO*^#4ZdBXfDUL_X=JWi@&i5o=5|jFfF*@*$W(8WZHRUB45+g2!`{3P|c_ck9zOn!H1W@VGB_Fzso^ z=|IQ@+Ne(BqVpO@U;D2?Y08|1piPCwMh8 zhr(8*L0Zk))tL`bASrNfj=!l@vyNaf1Kt&d+HBqX)F*Vlmu?7>7POj{Q#lb;T5F4wB!tnocI`mKSp`CB-=(+^`crO& zX@7V!Pi0Id8(c^gL`ik~MXVszwfD;MkGwfZsn}j6Qs)uC?@T4KRHO|IEwcDot|A7 zM%kYtfJ8PSi;agSjcc3lHkTJcbrHsQr4*&KnK+v{ zbye*-M0tZb*qqrmxii>j*qeZlyOixH+@wr2X5|rFS!{FMExOq^jc@+JvqO9D)(8*k zrn#!)SLIo^t{s=GzhmR+jRC2hK<`3AWtgVl(kDv05vvV?(zf={Je z>>klq6OqVU9}=HU`CC?V_$aC-g9FJx`K|T%H~a6X_GaA#8Mi zYnbWN^Rc0^z2WYm;-TBQhX(1Tn>iW9O$w)B-}9~-e$-USu2fjg>xV{=eR%w+|E1jl zxBw;Maqhv{aM%#qAmrQOtLq!?yXkv$KzhP=&T-Cs(sZIve4Ch!n25N9xc16!1m6eR z4;B&U5oPgl@wRcI3?2Y!$UUK}g8gC$k!DAEQCBe&`yp$$K3ZruL{n(S*?01?Xr-7s z_!XED64}SxOZ2U=FOvV$HLYv%vBa^A8q~v&(>^%C5=@8qL;1=18~L(K0LJZR&XsGm zC-A_A2o22*?ab-385(>C9(*&lOB~xl26eX2@RFDGktp%J{q10Evejh6f8v;)zCit% zdTdXwPscuH|N3%#{aU@7`MO0u;&QEGZ4*Mz%fc(cFZ7g<0!@*r^7vy|VUa`evfO}! z<(MUV+10XfCx`E9-+7U3p9dP-{60l4(tOq5be}UC5Sy$W_39p&MTXDu237?o{t*4a zh;NEN9rP`z=+4J?DZyyDylf)5Q8|i`z7VBWX*L&C>(1|qjr&)Y$(OytLp}w4+RQn6 zANL_O9L<_QN9v zlRv6LOKgogEMtbFXxcnJLcipGNnb3aKjE9Mcadt9$q`>TVgI7!6DzlTMU#06c?p@c-3?mS=BVdN;g(kO)SS(f zN?Xj-d$ecp?wSF4X5mTUSbnn>x#s7r@4V7nP11x<9zAt6P^Bs$J%v;Y?L#6fdn;oq z^Lm~?*)$jBB%>CADNM#zG`0&*4vYk~DOOlQo_$Hxf4t8ncKb**(=AgFXDI=U zt5>L-0?a2ZU^>;+YiJL(L)CaAO}`TR&4Q`%MxVyAjopdidxeHZrbmb}>+L?@mXm(s z+=v+TQ?$e>i>R{L_rSiBhWfj?MOCXG0u};RgQE!1eF=Si{LlDdB`&Y>Joc>LxAx3= z2M*74IK4s^);?h&h~$W52~5Xq9)6IE^m|yIP=$8DSU6v*&dsA)GoO_hO&Q|cOju`; zx$a$6`!T=pi(k+75$mw@J$Li3-jk&7qhHWuX?@FjE|cQ1wz|4B3~f^P-F_Y|?Opp_fATdYuyn8(s zp{AJAXGe?y!sl-+)_~G7YtpxOtXo4Rq0?`;Wnn)K0^Y8$9ow{r^(*e*_^k4g3(XCZ zwZwRz-5qxcPi@6x1Ki}x8skWNzM!u;TDxGdf3Wy{2mp)J@pYU1GB2vBBk z`Q)u`p!+=ky7Q05r(QHd_1kZ@Z^=FlSUF}m*xf3O)6NPYJPO-C{TGr;{Dq-pf6lU% z5ZJLX9DyBX;M}#p*8~wi-4Tr2oHCl#XlzHKY{x< z<^CF#|HN^SzK1R9=j0q`#B#otjWZU0v55XN=`SBun3E?A1&7*@fqo|i;>!K!Wc??! z|K|T+3H~B`?D$>|2o?|&6#R!?_{sJEGXQD>6ci8_6#VBA{uV8Nb?CQtAOm3oerEVb zfVUgWo=gx37AC`H{__Hgiiik_0PTT)*&tZ8fxCc+ziePpY^wjXVLxnOb;5tyz+h|_ z{>ugt``3O#LV{Rv^q+o$5Zw9y+a~cZn}~$OzjBBQO8l!nQLqG7QvK(Cq7b2f$3n!h z-z + \usepackage[utf8]{inputenc} + %\VignetteIndexEntry{Checking outliers with *performance*} + %\VignetteEngine{knitr::rmarkdown} +editor_options: + chunk_output_type: console +--- + +```{r , include=FALSE} +library(knitr) +library(performance) +options(knitr.kable.NA = "") +knitr::opts_chunk$set( + comment = ">", + message = FALSE, + warning = FALSE, + out.width = "100%", + dpi = 450 +) +options(digits = 2) + +pkgs <- c( + "see", "performance", "datawizard", "rempsyc", + "ggplot2", "flextable", "ftExtra" +) +successfully_loaded <- vapply(pkgs, requireNamespace, FUN.VALUE = logical(1L), quietly = TRUE) +can_evaluate <- all(successfully_loaded) + +if (can_evaluate) { + knitr::opts_chunk$set(eval = TRUE) + vapply(pkgs, require, FUN.VALUE = logical(1L), quietly = TRUE, character.only = TRUE) +} else { + knitr::opts_chunk$set(eval = FALSE) +} +``` + + +# Reuse of this Material + +> Note: This vignette is an extended write-up of the [JOSE paper](https://jose.theoj.org/papers/42749638170253bb2854649fb52bf4ca). This educational module can be freely reused for teaching purposes as long as the original JOSE paper and this vignette are cited or acknowledged. The raw code file, which can be adapted to other rmarkdown formats for teaching purposes, can be accessed [here](https://github.com/easystats/performance/blob/HEAD/vignettes/check_outliers.Rmd). To contribute to and improve this content directly, please submit a Pull Request at the *{performance}* package GitHub repository by following our usual contributing guidelines: https://easystats.github.io/performance/CONTRIBUTING.html. To report issues or problems, with this module, or seek support, please open an issue: https://github.com/easystats/performance/issues. + +# Summary + +Beyond the challenge of keeping up-to-date with current best practices regarding the diagnosis and treatment of outliers, an additional difficulty arises concerning the mathematical implementation of the recommended methods. In this vignette, we provide an overview of current recommendations and best practices and demonstrate how they can easily and conveniently be implemented in the R statistical computing software, using the *{performance}* package of the *easystats* ecosystem. We cover univariate, multivariate, and model-based statistical outlier detection methods, their recommended threshold, standard output, and plotting methods. We conclude with recommendations on the handling of outliers: the different theoretical types of outliers, whether to exclude or winsorize them, and the importance of transparency. + +# Statement of Need + +Real-life data often contain observations that can be considered *abnormal* when compared to the main population. The cause of it---be it because they belong to a different distribution (originating from a different generative process) or simply being extreme cases, statistically rare but not impossible---can be hard to assess, and the boundaries of "abnormal" difficult to define. + +Nonetheless, the improper handling of these outliers can substantially affect statistical model estimations, biasing effect estimations and weakening the models' predictive performance. It is thus essential to address this problem in a thoughtful manner. Yet, despite the existence of established recommendations and guidelines, many researchers still do not treat outliers in a consistent manner, or do so using inappropriate strategies [@simmons2011false; @leys2013outliers]. + +One possible reason is that researchers are not aware of the existing recommendations, or do not know how to implement them using their analysis software. In this paper, we show how to follow current best practices for automatic and reproducible statistical outlier detection (SOD) using R and the *{performance}* package [@ludecke2021performance], which is part of the *easystats* ecosystem of packages that build an R framework for easy statistical modeling, visualization, and reporting [@easystatspackage]. Installation instructions can be found on [GitHub](https://github.com/easystats/performance) or its [website](https://easystats.github.io/performance/), and its list of dependencies on [CRAN](https://cran.r-project.org/package=performance). + +The instructional materials that follow are aimed at an audience of researchers who want to follow good practices, and are appropriate for advanced undergraduate students, graduate students, professors, or professionals having to deal with the nuances of outlier treatment. + +# Identifying Outliers + +Although many researchers attempt to identify outliers with measures based on the mean (e.g., _z_ scores), those methods are problematic because the mean and standard deviation themselves are not robust to the influence of outliers and those methods also assume normally distributed data (i.e., a Gaussian distribution). Therefore, current guidelines recommend using robust methods to identify outliers, such as those relying on the median as opposed to the mean [@leys2019outliers; @leys2013outliers; @leys2018outliers]. + +Nonetheless, which exact outlier method to use depends on many factors. In some cases, eye-gauging odd observations can be an appropriate solution, though many researchers will favour algorithmic solutions to detect potential outliers, for example, based on a continuous value expressing the observation stands out from the others. + +One of the factors to consider when selecting an algorithmic outlier detection method is the statistical test of interest. When using a regression model, relevant information can be found by identifying observations that do not fit well with the model. This approach, known as model-based outliers detection (as outliers are extracted after the statistical model has been fit), can be contrasted with distribution-based outliers detection, which is based on the distance between an observation and the "center" of its population. Various quantification strategies of this distance exist for the latter, both univariate (involving only one variable at a time) or multivariate (involving multiple variables). + +When no method is readily available to detect model-based outliers, such as for structural equation modelling (SEM), looking for multivariate outliers may be of relevance. For simple tests (_t_ tests or correlations) that compare values of the same variable, it can be appropriate to check for univariate outliers. However, univariate methods can give false positives since _t_ tests and correlations, ultimately, are also models/multivariable statistics. They are in this sense more limited, but we show them nonetheless for educational purposes. + +Importantly, whatever approach researchers choose remains a subjective decision, which usage (and rationale) must be transparently documented and reproducible [@leys2019outliers]. Researchers should commit (ideally in a preregistration) to an outlier treatment method before collecting the data. They should report in the paper their decisions and details of their methods, as well as any deviation from their original plan. These transparency practices can help reduce false positives due to excessive researchers' degrees of freedom (i.e., choice flexibility throughout the analysis). In the following section, we will go through each of the mentioned methods and provide examples on how to implement them with R. + +## Univariate Outliers + +Researchers frequently attempt to identify outliers using measures of deviation from the center of a variable's distribution. One of the most popular such procedure is the _z_ score transformation, which computes the distance in standard deviation (SD) from the mean. However, as mentioned earlier, this popular method is not robust. Therefore, for univariate outliers, it is recommended to use the median along with the Median Absolute Deviation (MAD), which are more robust than the interquartile range or the mean and its standard deviation [@leys2019outliers; @leys2013outliers]. + +Researchers can identify outliers based on robust (i.e., MAD-based) _z_ scores using the `check_outliers()` function of the *{performance}* package, by specifying `method = "zscore_robust"`.^[Note that `check_outliers()` only checks numeric variables.] Although @leys2013outliers suggest a default threshold of 2.5 and @leys2019outliers a threshold of 3, *{performance}* uses by default a less conservative threshold of ~3.29.^[3.29 is an approximation of the two-tailed critical value for _p_ < .001, obtained through `qnorm(p = 1 - 0.001 / 2)`. We chose this threshold for consistency with the thresholds of all our other methods.] That is, data points will be flagged as outliers if they go beyond +/- ~3.29 MAD. Users can adjust this threshold using the `threshold` argument. + +Below we provide example code using the `mtcars` dataset, which was extracted from the 1974 *Motor Trend* US magazine. The dataset contains fuel consumption and 10 characteristics of automobile design and performance for 32 different car models (see `?mtcars` for details). We chose this dataset because it is accessible from base R and familiar to many R users. We might want to conduct specific statistical analyses on this data set, say, _t_ tests or structural equation modelling, but first, we want to check for outliers that may influence those test results. + +Because the automobile names are stored as column names in `mtcars`, we first have to convert them to an ID column to benefit from the `check_outliers()` ID argument. Furthermore, we only really need a couple columns for this demonstration, so we choose the first four (`mpg` = Miles/(US) gallon; `cyl` = Number of cylinders; `disp` = Displacement; `hp` = Gross horsepower). Finally, because there are no outliers in this dataset, we add two artificial outliers before running our function. + +```{r z_score} +library(performance) + +# Create some artificial outliers and an ID column +data <- rbind(mtcars[1:4], 42, 55) +data <- cbind(car = row.names(data), data) + +outliers <- check_outliers(data, method = "zscore_robust", ID = "car") +outliers +``` + +What we see is that `check_outliers()` with the robust _z_ score method detected two outliers: cases 33 and 34, which were the observations we added ourselves. They were flagged for two variables specifically: `mpg` (Miles/(US) gallon) and `cyl` (Number of cylinders), and the output provides their exact _z_ score for those variables. + +We describe how to deal with those cases in more details later in the paper, but should we want to exclude these detected outliers from the main dataset, we can extract row numbers using `which()` on the output object, which can then be used for indexing: + +```{r} +which(outliers) + +data_clean <- data[-which(outliers), ] +``` + +All `check_outliers()` output objects possess a `plot()` method, meaning it is also possible to visualize the outliers using the generic `plot()` function on the resulting outlier object after loading the {see} package. + +```{r univariate, eval=FALSE} +library(see) +plot(outliers) +``` + +```{r univariate_implicit, fig.cap = "Visual depiction of outliers using the robust z-score method. The distance represents an aggregate score for variables mpg, cyl, disp, and hp.", echo=FALSE} +library(see) +plot(outliers) + + ggplot2::theme(axis.text.x = ggplot2::element_text( + angle = 45, size = 7 + )) +``` + +Other univariate methods are available, such as using the interquartile range (IQR), or based on different intervals, such as the Highest Density Interval (HDI) or the Bias Corrected and Accelerated Interval (BCI). These methods are documented and described in the function's [help page](). + +## Multivariate Outliers + +Univariate outliers can be useful when the focus is on a particular variable, for instance the reaction time, as extreme values might be indicative of inattention or non-task-related behavior^[ Note that they might not be the optimal way of treating reaction time outliers [@ratcliff1993methods; @van1995statistical]]. + +However, in many scenarios, variables of a data set are not independent, and an abnormal observation will impact multiple dimensions. For instance, a participant giving random answers to a questionnaire. In this case, computing the _z_ score for each of the questions might not lead to satisfactory results. Instead, one might want to look at these variables together. + +One common approach for this is to compute multivariate distance metrics such as the Mahalanobis distance. Although the Mahalanobis distance is very popular, just like the regular _z_ scores method, it is not robust and is heavily influenced by the outliers themselves. Therefore, for multivariate outliers, it is recommended to use the Minimum Covariance Determinant, a robust version of the Mahalanobis distance [MCD, @leys2018outliers; @leys2019outliers]. + +In *{performance}*'s `check_outliers()`, one can use this approach with `method = "mcd"`.^[Our default threshold for the MCD method is defined by `stats::qchisq(p = 1 - 0.001, df = ncol(x))`, which again is an approximation of the critical value for _p_ < .001 consistent with the thresholds of our other methods.] + +```{r multivariate} +outliers <- check_outliers(data, method = "mcd") +outliers +``` + +Here, we detected 9 multivariate outliers (i.e,. when looking at all variables of our dataset together). + +```{r multivariate_plot, eval=FALSE} +plot(outliers) +``` + +```{r multivariate_implicit, fig.cap = "Visual depiction of outliers using the Minimum Covariance Determinant (MCD) method, a robust version of the Mahalanobis distance. The distance represents the MCD scores for variables mpg, cyl, disp, and hp.", echo=FALSE} +plot(outliers) + + ggplot2::theme(axis.text.x = ggplot2::element_text( + angle = 45, size = 7 + )) +``` + +Other multivariate methods are available, such as another type of robust Mahalanobis distance that in this case relies on an orthogonalized Gnanadesikan-Kettenring pairwise estimator [@gnanadesikan1972robust]. These methods are documented and described in the function's [help page](https://easystats.github.io/performance/reference/check_outliers.html). + +## Model-Based Outliers + +Working with regression models creates the possibility of using model-based SOD methods. These methods rely on the concept of *leverage*, that is, how much influence a given observation can have on the model estimates. If few observations have a relatively strong leverage/influence on the model, one can suspect that the model's estimates are biased by these observations, in which case flagging them as outliers could prove helpful (see next section, "Handling Outliers"). + +In {performance}, two such model-based SOD methods are currently available: Cook's distance, for regular regression models, and Pareto, for Bayesian models. As such, `check_outliers()` can be applied directly on regression model objects, by simply specifying `method = "cook"` (or `method = "pareto"` for Bayesian models).^[Our default threshold for the Cook method is defined by `stats::qf(0.5, ncol(x), nrow(x) - ncol(x))`, which again is an approximation of the critical value for _p_ < .001 consistent with the thresholds of our other methods.] + +Currently, most lm models are supported (with the exception of `glmmTMB`, `lmrob`, and `glmrob` models), as long as they are supported by the underlying functions `stats::cooks.distance()` (or `loo::pareto_k_values()`) and `insight::get_data()` (for a full list of the 225 models currently supported by the `insight` package, see https://easystats.github.io/insight/#list-of-supported-models-by-class). Also note that although `check_outliers()` supports the pipe operators (`|>` or `%>%`), it does not support `tidymodels` at this time. We show a demo below. + +```{r model, fig.cap = "Visual depiction of outliers based on Cook's distance (leverage and standardized residuals), based on the fitted model."} +model <- lm(disp ~ mpg * hp, data = data) +outliers <- check_outliers(model, method = "cook") +outliers + +plot(outliers) +``` + +Using the model-based outlier detection method, we identified two outliers. + +Table 1 below summarizes which methods to use in which cases, and with what threshold. The recommended thresholds are the default thresholds. + +```{r table1_prep, echo=FALSE} +df <- data.frame( + `Statistical Test` = c( + "Supported regression model", + "Structural Equation Modeling (or other unsupported model)", + "Simple test with few variables (*t* test, correlation, etc.)" + ), + `Diagnosis Method` = c( + "**Model-based**: Cook (or Pareto for Bayesian models)", + "**Multivariate**: Minimum Covariance Determinant (MCD)", + "**Univariate**: robust *z* scores (MAD)" + ), + `Recommended Threshold` = c( + "_qf(0.5, ncol(x), nrow(x) - ncol(x))_ (or 0.7 for Pareto)", + "_qchisq(p = 1 - 0.001, df = ncol(x))_", + "_qnorm(p = 1 - 0.001 / 2)_, ~ 3.29" + ), + `Function Usage` = c( + '_check_outliers(model, method = "cook")_', + '_check_outliers(data, method = "mcd")_', + '_check_outliers(data, method = "zscore_robust")_' + ), + check.names = FALSE +) +``` + +### Table 1 + +_Summary of Statistical Outlier Detection Methods Recommendations_ + +```{r table1_print, echo=FALSE, message=FALSE} +x <- flextable::flextable(df, cwidth = 2.25) +x <- flextable::theme_apa(x) +x <- flextable::font(x, fontname = "Latin Modern Roman", part = "all") +# x <- flextable::fontsize(x, size = 10, part = "all") +ftExtra::colformat_md(x) +``` + +## Cook's Distance vs. MCD + +@leys2018outliers report a preference for the MCD method over Cook's distance. This is because Cook's distance removes one observation at a time and checks its corresponding influence on the model each time [@cook1977detection], and flags any observation that has a large influence. In the view of these authors, when there are several outliers, the process of removing a single outlier at a time is problematic as the model remains "contaminated" or influenced by other possible outliers in the model, rendering this method suboptimal in the presence of multiple outliers. + +However, distribution-based approaches are not a silver bullet either, and there are cases where the usage of methods agnostic to theoretical and statistical models of interest might be problematic. For example, a very tall person would be expected to also be much heavier than average, but that would still fit with the expected association between height and weight (i.e., it would be in line with a model such as `weight ~ height`). In contrast, using multivariate outlier detection methods there may flag this person as being an outlier---being unusual on two variables, height and weight---even though the pattern fits perfectly with our predictions. + +In the example below, we plot the raw data and see two possible outliers. The first one falls along the regression line, and is therefore "in line" with our hypothesis. The second one clearly diverges from the regression line, and therefore we can conclude that this outlier may have a disproportionate influence on our model. + +```{r scatter, fig.cap = "Scatter plot of height and weight, with two extreme observations: one model-consistent (top-right) and the other, model-inconsistent (i.e., an outlier; bottom-right)."} +data <- women[rep(seq_len(nrow(women)), each = 100), ] +data <- rbind(data, c(100, 258), c(100, 200)) +model <- lm(weight ~ height, data) +rempsyc::nice_scatter(data, "height", "weight") +``` + +Using either the *z*-score or MCD methods, our model-consistent observation will be incorrectly flagged as an outlier or influential observation. + +```{r} +outliers <- check_outliers(model, method = c("zscore_robust", "mcd")) +which(outliers) +``` + +In contrast, the model-based detection method displays the desired behaviour: it correctly flags the person who is very tall but very light, without flagging the person who is both tall and heavy. + +```{r model2, fig.cap = "The leverage method (Cook's distance) correctly distinguishes the true outlier from the model-consistent extreme observation), based on the fitted model."} +outliers <- check_outliers(model, method = "cook") +which(outliers) +plot(outliers) +``` + +Finally, unusual observations happen naturally: extreme observations are expected even when taken from a normal distribution. While statistical models can integrate this "expectation", multivariate outlier methods might be too conservative, flagging too many observations despite belonging to the right generative process. For these reasons, we believe that model-based methods are still preferable to the MCD when using supported regression models. Additionally, if the presence of multiple outliers is a significant concern, regression methods that are more robust to outliers should be considered---like _t_ regression or quantile regression---as they render their precise identification less critical [@mcelreath2020statistical]. + +## Composite Outlier Score + +The *{performance}* package also offers an alternative, consensus-based approach that combines several methods, based on the assumption that different methods provide different angles of looking at a given problem. By applying a variety of methods, one can hope to "triangulate" the true outliers (those consistently flagged by multiple methods) and thus attempt to minimize false positives. + +In practice, this approach computes a composite outlier score, formed of the average of the binary (0 or 1) classification results of each method. It represents the probability that each observation is classified as an outlier by at least one method. The default decision rule classifies rows with composite outlier scores superior or equal to 0.5 as outlier observations (i.e., that were classified as outliers by at least half of the methods). In *{performance}*'s `check_outliers()`, one can use this approach by including all desired methods in the corresponding argument. + +```{r multimethod, fig.cap = "Visual depiction of outliers using several different statistical outlier detection methods."} +outliers <- check_outliers(model, method = c("zscore_robust", "mcd", "cook")) +which(outliers) +``` + +Outliers (counts or per variables) for individual methods can then be obtained through attributes. For example: + +```{r} +attributes(outliers)$outlier_var$zscore_robust +``` + +An example sentence for reporting the usage of the composite method could be: + +> Based on a composite outlier score [see the 'check_outliers()' function in the 'performance' R package, @ludecke2021performance] obtained via the joint application of multiple outliers detection algorithms [(a) median absolute deviation (MAD)-based robust _z_ scores, @leys2013outliers; (b) Mahalanobis minimum covariance determinant (MCD), @leys2019outliers; and (c) Cook's distance, @cook1977detection], we excluded two participants that were classified as outliers by at least half of the methods used. + +# Handling Outliers + +The above section demonstrated how to identify outliers using the `check_outliers()` function in the *{performance}* package. But what should we do with these outliers once identified? Although it is common to automatically discard any observation that has been marked as "an outlier" as if it might infect the rest of the data with its statistical ailment, we believe that the use of SOD methods is but one step in the get-to-know-your-data pipeline; a researcher or analyst's _domain knowledge_ must be involved in the decision of how to deal with observations marked as outliers by means of SOD. Indeed, automatic tools can help detect outliers, but they are nowhere near perfect. Although they can be useful to flag suspect data, they can have misses and false alarms, and they cannot replace human eyes and proper vigilance from the researcher. If you do end up manually inspecting your data for outliers, it can be helpful to think of outliers as belonging to different types of outliers, or categories, which can help decide what to do with a given outlier. + +## Error, Interesting, and Random Outliers + +@leys2019outliers distinguish between error outliers, interesting outliers, and random outliers. _Error outliers_ are likely due to human error and should be corrected before data analysis or outright removed since they are invalid observations. _Interesting outliers_ are not due to technical error and may be of theoretical interest; it might thus be relevant to investigate them further even though they should be removed from the current analysis of interest. _Random outliers_ are assumed to be due to chance alone and to belong to the correct distribution and, therefore, should be retained. + +It is recommended to _keep_ observations which are expected to be part of the distribution of interest, even if they are outliers [@leys2019outliers]. However, if it is suspected that the outliers belong to an alternative distribution, then those observations could have a large impact on the results and call into question their robustness, especially if significance is conditional on their inclusion, so should be removed. + +We should also keep in mind that there might be error outliers that are not detected by statistical tools, but should nonetheless be found and removed. For example, if we are studying the effects of X on Y among teenagers and we have one observation from a 20-year-old, this observation might not be a _statistical outlier_, but it is an outlier in the _context_ of our research, and should be discarded. We could call these observations *undetected* error outliers, in the sense that although they do not statistically stand out, they do not belong to the theoretical or empirical distribution of interest (e.g., teenagers). In this way, we should not blindly rely on statistical outlier detection methods; doing our due diligence to investigate undetected error outliers relative to our specific research question is also essential for valid inferences. + +## Winsorization + +_Removing_ outliers can in this case be a valid strategy, and ideally one would report results with and without outliers to see the extent of their impact on results. This approach however can reduce statistical power. Therefore, some propose a _recoding_ approach, namely, winsorization: bringing outliers back within acceptable limits [e.g., 3 MADs, @tukey1963less]. However, if possible, it is recommended to collect enough data so that even after removing outliers, there is still sufficient statistical power without having to resort to winsorization [@leys2019outliers]. + +The _easystats_ ecosystem makes it easy to incorporate this step into your workflow through the `winsorize()` function of *{datawizard}*, a lightweight R package to facilitate data wrangling and statistical transformations [@patil2022datawizard]. This procedure will bring back univariate outliers within the limits of 'acceptable' values, based either on the percentile, the _z_ score, or its robust alternative based on the MAD. + +```{r winsorization} +data[1501:1502, ] # See outliers rows +# Winsorizing using the MAD +library(datawizard) +winsorized_data <- winsorize(data, method = "zscore", robust = TRUE, threshold = 3) +# Values > +/- MAD have been winsorized +winsorized_data[1501:1502, ] +``` + +## The Importance of Transparency + +Once again, it is a critical part of a sound outlier treatment that regardless of which SOD method used, it should be reported in a reproducible manner. Ideally, the handling of outliers should be specified *a priori* with as much detail as possible, and preregistered, to limit researchers' degrees of freedom and therefore risks of false positives [@leys2019outliers]. This is especially true given that interesting outliers and random outliers are often times hard to distinguish in practice. Thus, researchers should always prioritize transparency and report all of the following information: (a) how many outliers were identified (including percentage); (b) according to which method and criteria, (c) using which function of which R package (if applicable), and (d) how they were handled (excluded or winsorized, if the latter, using what threshold). If at all possible, (e) the corresponding code script along with the data should be shared on a public repository like the Open Science Framework (OSF), so that the exclusion criteria can be reproduced precisely. + +# Conclusion + +In this vignette, we have showed how to investigate outliers using the `check_outliers()` function of the *{performance}* package while following current good practices. However, best practice for outlier treatment does not stop at using appropriate statistical algorithms, but entails respecting existing recommendations, such as preregistration, reproducibility, consistency, transparency, and justification. Ideally, one would additionally also report the package, function, and threshold used (linking to the full code when possible). We hope that this paper and the accompanying `check_outlier()` function of *easystats* will help researchers engage in good research practices while providing a smooth outlier detection experience. + +# References diff --git a/vignettes/paper.bib b/vignettes/paper.bib new file mode 100644 index 000000000..56c8ae7e1 --- /dev/null +++ b/vignettes/paper.bib @@ -0,0 +1,161 @@ +@article{leys2019outliers, + title = {How to Classify, Detect, and Manage Univariate and Multivariate Outliers, With Emphasis on Pre-Registration},author = {Leys, Christophe and Delacre, Marie and Mora, Youri L. and Lakens, Daniël and Ley, Christophe}, + journal = {International Review of Social Psychology}, + year = {2019}, + doi = {10.5334/irsp.289} +} + +@article{leys2013outliers, + title = {Detecting outliers: Do not use standard deviation around the mean, use absolute deviation around the median}, + author = {Christophe Leys and Christophe Ley and Olivier Klein and Philippe Bernard and Laurent Licata}, + journal = {Journal of Experimental Social Psychology}, + volume = {49}, + number = {4}, + pages = {764-766}, + year = {2013}, + doi = {10.1016/j.jesp.2013.03.013}, + url = {https://doi.org/10.1016/j.jesp.2013.03.013} +} + +@article{leys2018outliers, + title = {Detecting multivariate outliers: Use a robust variant of the Mahalanobis distance}, + journal = {Journal of Experimental Social Psychology}, + volume = {74}, + pages = {150-156}, + year = {2018}, + issn = {0022-1031}, + doi = {10.1016/j.jesp.2017.09.011}, + url = {https://www.sciencedirect.com/science/article/pii/S0022103117302123}, + author = {Christophe Leys and Olivier Klein and Yves Dominicy and Christophe Ley}, +} + +@article{simmons2011false, + author = {Joseph P. Simmons and Leif D. Nelson and Uri Simonsohn}, + title ={False-Positive Psychology: Undisclosed Flexibility in Data Collection and Analysis Allows Presenting Anything as Significant}, + journal = {Psychological Science}, + volume = {22}, + number = {11}, + pages = {1359-1366}, + year = {2011}, + doi = {10.1177/0956797611417632}, + URL = {https://doi.org/10.1177/0956797611417632}, +} + +@software{easystatspackage, + title = {{easystats}: Streamline Model Interpretation, Visualization, and Reporting}, + author = {Daniel Lüdecke and Dominique Makowski and Mattan S. Ben-Shachar and Indrajeet Patil and Brenton M. Wiernik and Etienne Bacher and Rémi Thériault}, + date = {2023-02-04T22:06:06Z}, + origdate = {2019-01-28T10:39:29Z}, + url = {https://easystats.github.io/easystats/} +} + +@Article{ludecke2021performance, + author = {Daniel Lüdecke and Mattan S. Ben-Shachar and Indrajeet Patil and Philip Waggoner and Dominique Makowski}, + title = {{performance}: An {R} package for assessment, comparison and testing of statistical models}, + volume = {6}, + number = {60}, + journal = {Journal of Open Source Software}, + year = {2021}, + pages = {3139}, + doi = {10.21105/joss.03139}, + url = {https://doi.org/10.21105/joss.03139} + } + +@Article{patil2022datawizard, + title = {{datawizard}: An {R} package for easy data preparation and statistical transformations}, + author = {Indrajeet Patil and Dominique Makowski and Mattan S. Ben-Shachar and Brenton M. Wiernik and Etienne Bacher and Daniel Lüdecke}, + journal = {Journal of Open Source Software}, + year = {2022}, + volume = {7}, + number = {78}, + pages = {4684}, + doi = {10.21105/joss.04684}, + } + +@article{cook1977detection, + author = {R. Dennis Cook}, + title = {Detection of Influential Observation in Linear Regression}, + journal = {Technometrics}, + volume = {19}, + number = {1}, + pages = {15-18}, + year = {1977}, + publisher = {Taylor & Francis}, + doi = {10.1080/00401706.1977.10489493} +} + +@book{iglewicz1993outliers, + title = {How to detect and handle outliers (Vol. 16)}, + publisher = {Asq Press}, + author = {Iglewicz, B. and Hoaglin, D. C}, + year = {1993} +} + +@article{gnanadesikan1972robust, + title = {Robust estimates, residuals, and outlier detection with multiresponse data}, + author = {Gnanadesikan, R. and Kettenring, J. R}, + journal = {Biometrics}, + pages = {81-124}, + year = {1972} +} + +@article{hubert2018mcd, + author = {Hubert, Mia and Debruyne, Michiel and Rousseeuw, Peter J.}, + title = {Minimum covariance determinant and extensions}, + journal = {Wiley Interdisciplinary Reviews: Computational Statistics}, + volume = {10}, + number = {3}, + pages = {e1421}, + doi = {10.1002/wics.1421}, + url = {https://doi.org/10.1002/wics.1421}, + year = {2018} +} + +@article{tukey1963less, + title={Less vulnerable confidence and significance procedures for location based on a single sample: Trimming/Winsorization 1}, + author={Tukey, John W and McLaughlin, Donald H}, + journal={Sankhy{\=a}: The Indian Journal of Statistics, Series A}, + pages={331--352}, + year={1963}, + publisher={JSTOR} +} + +@article{van1995statistical, + title={Statistical mimicking of reaction time data: Single-process models, parameter variability, and mixtures}, + author={Van Zandt, Trisha and Ratcliff, Roger}, + journal={Psychonomic Bulletin \& Review}, + volume={2}, + number={1}, + pages={20--54}, + year={1995}, + publisher={Springer}, + doi = {10.3758/BF03214411} +} + +@article{ratcliff1993methods, + title={Methods for dealing with reaction time outliers.}, + author={Ratcliff, Roger}, + journal={Psychological bulletin}, + volume={114}, + number={3}, + pages={510}, + year={1993}, + publisher={American Psychological Association}, + doi = {10.1037/0033-2909.114.3.510} +} + +@book{mcelreath2020statistical, + title={Statistical rethinking: A Bayesian course with examples in {R} and Stan}, + author={McElreath, Richard}, + year={2020}, + publisher={CRC press} +} + +@Manual{rcore, + title = {{R}: A Language and Environment for Statistical Computing}, + author = {{R Core Team}}, + organization = {R Foundation for Statistical Computing}, + address = {Vienna, Austria}, + year = {2021}, + url = {https://www.R-project.org/} +} \ No newline at end of file From 1c68048aad4d7c94397623c10e4959156c4245c6 Mon Sep 17 00:00:00 2001 From: rempsyc Date: Thu, 5 Oct 2023 12:11:29 -0400 Subject: [PATCH 004/100] add doi for Gnanadesikan 1972 and render paper --- papers/JOSE/paper.bib | 1 + papers/JOSE/paper.log | 2 +- papers/JOSE/paper.pdf | Bin 593364 -> 593498 bytes .../paper_files/figure-latex/model_fig-1.pdf | Bin 8485 -> 8481 bytes 4 files changed, 2 insertions(+), 1 deletion(-) diff --git a/papers/JOSE/paper.bib b/papers/JOSE/paper.bib index 56c8ae7e1..a7cdbb87d 100644 --- a/papers/JOSE/paper.bib +++ b/papers/JOSE/paper.bib @@ -94,6 +94,7 @@ @book{iglewicz1993outliers @article{gnanadesikan1972robust, title = {Robust estimates, residuals, and outlier detection with multiresponse data}, author = {Gnanadesikan, R. and Kettenring, J. R}, + doi = {10.2307/2528963}, journal = {Biometrics}, pages = {81-124}, year = {1972} diff --git a/papers/JOSE/paper.log b/papers/JOSE/paper.log index e31fca364..6147576d4 100644 --- a/papers/JOSE/paper.log +++ b/papers/JOSE/paper.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023) (preloaded format=xelatex 2023.10.4) 4 OCT 2023 18:48 +This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023) (preloaded format=xelatex 2023.10.4) 5 OCT 2023 12:10 entering extended mode restricted \write18 enabled. %&-line parsing enabled. diff --git a/papers/JOSE/paper.pdf b/papers/JOSE/paper.pdf index 9e6812e5e0cb56d3150c59aa302ad3a60bc8456f..b886b69e715797151b5b5d394419db463113734c 100644 GIT binary patch delta 24487 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 vk^AJPU9k5q|5#Ih$<>u@_pa7w6p2Yr)tbhi}>J delta 24416 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 diff --git a/papers/JOSE/paper_files/figure-latex/model_fig-1.pdf b/papers/JOSE/paper_files/figure-latex/model_fig-1.pdf index 05d7d40637a6567ade66df7e63f064ef460db793..26d212b036ec9c3c2b992cb43bd431c5c22ad7b9 100644 GIT binary patch delta 4122 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%0Apu(RzWhFE- zKdbtmCm=BB4{NZ(pLWXfN@yp3R<=Llfk0p&I+h<|FQ=%a48EnL1ya-kDeKDX%E>7z wDuCrdU?puic_m#CgkSCdHL>G|Kf#u|YbRr@;rn+?h0W){^djJ3c delta 4148 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 From 8ef06262c7943e7704567cab2607b614d2ab8eb8 Mon Sep 17 00:00:00 2001 From: Indrajeet Patil Date: Thu, 5 Oct 2023 19:13:40 +0200 Subject: [PATCH 005/100] avoid loaded term --- R/check_distribution.R | 2 +- R/check_factorstructure.R | 7 +++---- R/check_model_diagnostics.R | 2 +- R/check_outliers.R | 2 +- R/check_predictions.R | 6 +++--- R/check_sphericity.R | 2 +- R/icc.R | 4 ++-- R/r2_nakagawa.R | 4 ++-- R/test_bf.R | 2 +- R/test_likelihoodratio.R | 2 +- R/test_performance.R | 2 +- R/test_vuong.R | 2 +- R/test_wald.R | 2 +- 13 files changed, 19 insertions(+), 20 deletions(-) diff --git a/R/check_distribution.R b/R/check_distribution.R index e43b28036..9aa1b244a 100644 --- a/R/check_distribution.R +++ b/R/check_distribution.R @@ -191,7 +191,7 @@ check_distribution.numeric <- function(model) { # utilities ----------------------------- .extract_features <- function(x) { - # sanity check, remove missings + # validation check, remove missings x <- x[!is.na(x)] data.frame( diff --git a/R/check_factorstructure.R b/R/check_factorstructure.R index 911fca434..691bce154 100644 --- a/R/check_factorstructure.R +++ b/R/check_factorstructure.R @@ -120,7 +120,7 @@ check_factorstructure <- function(x, n = NULL, ...) { #' @rdname check_factorstructure #' @export check_kmo <- function(x, n = NULL, ...) { - out <- .check_factor_structure_sanity(x, n, ...) + out <- .validate_factor_structure(x, n, ...) Q <- solve(out$r) @@ -177,7 +177,7 @@ check_kmo <- function(x, n = NULL, ...) { #' @rdname check_factorstructure #' @export check_sphericity_bartlett <- function(x, n = NULL, ...) { - out <- .check_factor_structure_sanity(x, n, ...) + out <- .validate_factor_structure(x, n, ...) p <- dim(out$r)[2] @@ -221,7 +221,7 @@ check_sphericity_bartlett <- function(x, n = NULL, ...) { # Helpers ----------------------------------------------------------------- #' @keywords internal -.check_factor_structure_sanity <- function(x, n = NULL, ...) { +.validate_factor_structure <- function(x, n = NULL, ...) { if (is.null(n)) { r <- stats::cor(x, use = "pairwise.complete.obs", ...) n <- nrow(x) @@ -229,7 +229,6 @@ check_sphericity_bartlett <- function(x, n = NULL, ...) { r <- x } - # Sanity check if (nrow(r) != ncol(r)) { insight::format_error("The correlation matrix is not square.") } diff --git a/R/check_model_diagnostics.R b/R/check_model_diagnostics.R index 46a64f9c2..c6f91a655 100644 --- a/R/check_model_diagnostics.R +++ b/R/check_model_diagnostics.R @@ -67,7 +67,7 @@ fitted_ <- stats::fitted(model) } - # sanity check, sometimes either residuals or fitted can contain NA, see #488 + # validation check, sometimes either residuals or fitted can contain NA, see #488 if (anyNA(res_) || anyNA(fitted_)) { # drop NA and make sure both fitted and residuals match non_na <- !is.na(fitted_) & !is.na(res_) diff --git a/R/check_outliers.R b/R/check_outliers.R index e98e037c0..9f147cb83 100644 --- a/R/check_outliers.R +++ b/R/check_outliers.R @@ -1808,7 +1808,7 @@ check_outliers.metabin <- check_outliers.metagen # Get results cutoff <- .safe(outliers@ics.dist.cutoff) - # sanity check + # validation check if (is.null(cutoff)) { insight::print_color("Could not detect cut-off for outliers.\n", "red") return(NULL) diff --git a/R/check_predictions.R b/R/check_predictions.R index d52b8378a..832f9cc87 100644 --- a/R/check_predictions.R +++ b/R/check_predictions.R @@ -193,7 +193,7 @@ pp_check.lm <- function(object, # else, proceed as usual out <- .safe(stats::simulate(object, nsim = iterations, re.form = re_formula, ...)) - # sanity check, for mixed models, where re.form = NULL (default) might fail + # validation check, for mixed models, where re.form = NULL (default) might fail out <- .check_re_formula(out, object, iterations, re_formula, verbose, ...) # save information about model @@ -270,7 +270,7 @@ pp_check.glm <- function(object, } ) - # sanity check, for mixed models, where re.form = NULL (default) might fail + # validation check, for mixed models, where re.form = NULL (default) might fail out <- .check_re_formula(out, object, iterations, re_formula, verbose, ...) if (is.null(out)) { @@ -444,7 +444,7 @@ plot.performance_pp_check <- function(x, ...) { .check_re_formula <- function(out, object, iterations, re_formula, verbose, ...) { - # sanity check, for mixed models, where re.form = NULL (default) might fail + # validation check, for mixed models, where re.form = NULL (default) might fail if (is.null(out) && insight::is_mixed_model(object) && !isTRUE(is.na(re_formula))) { if (verbose) { insight::format_warning( diff --git a/R/check_sphericity.R b/R/check_sphericity.R index a087a1a5f..6df73d032 100644 --- a/R/check_sphericity.R +++ b/R/check_sphericity.R @@ -67,7 +67,7 @@ check_sphericity.Anova.mlm <- function(x, ...) { p.val <- test[, 2] - # sanity check + # validation check if (is.null(p.val)) { p.val <- 1 } diff --git a/R/icc.R b/R/icc.R index 16821e85f..46c1a331a 100644 --- a/R/icc.R +++ b/R/icc.R @@ -267,7 +267,7 @@ icc <- function(model, # CI for adjusted ICC icc_ci_adjusted <- as.vector(result$t[, 1]) icc_ci_adjusted <- icc_ci_adjusted[!is.na(icc_ci_adjusted)] - # sanity check + # validation check if (length(icc_ci_adjusted) > 0) { icc_ci_adjusted <- bayestestR::eti(icc_ci_adjusted, ci = ci) } else { @@ -276,7 +276,7 @@ icc <- function(model, # CI for unadjusted ICC icc_ci_unadjusted <- as.vector(result$t[, 2]) icc_ci_unadjusted <- icc_ci_unadjusted[!is.na(icc_ci_unadjusted)] - # sanity check + # validation check if (length(icc_ci_unadjusted) > 0) { icc_ci_unadjusted <- bayestestR::eti(icc_ci_unadjusted, ci = ci) } else { diff --git a/R/r2_nakagawa.R b/R/r2_nakagawa.R index 9b751c843..3e72a9457 100644 --- a/R/r2_nakagawa.R +++ b/R/r2_nakagawa.R @@ -136,7 +136,7 @@ r2_nakagawa <- function(model, # CI for marginal R2 r2_ci_marginal <- as.vector(result$t[, 1]) r2_ci_marginal <- r2_ci_marginal[!is.na(r2_ci_marginal)] - # sanity check + # validation check if (length(r2_ci_marginal) > 0) { r2_ci_marginal <- bayestestR::eti(r2_ci_marginal, ci = ci) } else { @@ -146,7 +146,7 @@ r2_nakagawa <- function(model, # CI for unadjusted R2 r2_ci_conditional <- as.vector(result$t[, 2]) r2_ci_conditional <- r2_ci_conditional[!is.na(r2_ci_conditional)] - # sanity check + # validation check if (length(r2_ci_conditional) > 0) { r2_ci_conditional <- bayestestR::eti(r2_ci_conditional, ci = ci) } else { diff --git a/R/test_bf.R b/R/test_bf.R index b50f0f652..60cb3a129 100644 --- a/R/test_bf.R +++ b/R/test_bf.R @@ -12,7 +12,7 @@ test_bf.default <- function(..., reference = 1, text_length = NULL) { objects <- insight::ellipsis_info(..., only_models = TRUE) names(objects) <- match.call(expand.dots = FALSE)$`...` - # Sanity checks (will throw error if non-valid objects) + # validation checks (will throw error if non-valid objects) .test_performance_checks(objects, multiple = FALSE) if (length(objects) == 1 && isTRUE(insight::is_model(objects))) { diff --git a/R/test_likelihoodratio.R b/R/test_likelihoodratio.R index 5b0a532eb..9784b13a9 100644 --- a/R/test_likelihoodratio.R +++ b/R/test_likelihoodratio.R @@ -24,7 +24,7 @@ test_likelihoodratio.default <- function(..., estimator = "OLS", verbose = TRUE) # Attribute class to list objects <- insight::ellipsis_info(..., only_models = TRUE) - # Sanity checks (will throw error if non-valid objects) + # validation checks (will throw error if non-valid objects) objects <- .test_performance_checks(objects, verbose = verbose) # different default when mixed model or glm is included diff --git a/R/test_performance.R b/R/test_performance.R index 4ad0c18f2..b643143f7 100644 --- a/R/test_performance.R +++ b/R/test_performance.R @@ -238,7 +238,7 @@ test_performance.default <- function(..., reference = 1, include_formula = FALSE # Attribute class to list and get names from the global environment objects <- insight::ellipsis_info(..., only_models = TRUE) - # Sanity checks (will throw error if non-valid objects) + # validation checks (will throw error if non-valid objects) objects <- .test_performance_checks(objects, verbose = verbose) # ensure proper object names diff --git a/R/test_vuong.R b/R/test_vuong.R index 949fceab7..449f55ddb 100644 --- a/R/test_vuong.R +++ b/R/test_vuong.R @@ -10,7 +10,7 @@ test_vuong.default <- function(..., reference = 1, verbose = TRUE) { # Attribute class to list and get names from the global environment objects <- insight::ellipsis_info(..., only_models = TRUE) - # Sanity checks (will throw error if non-valid objects) + # validation checks (will throw error if non-valid objects) objects <- .test_performance_checks(objects, verbose = verbose) # ensure proper object names diff --git a/R/test_wald.R b/R/test_wald.R index 8a5efd99c..0e043502a 100644 --- a/R/test_wald.R +++ b/R/test_wald.R @@ -10,7 +10,7 @@ test_wald.default <- function(..., verbose = TRUE) { # Attribute class to list and get names from the global environment objects <- insight::ellipsis_info(..., only_models = TRUE) - # Sanity checks (will throw error if non-valid objects) + # validation checks (will throw error if non-valid objects) objects <- .test_performance_checks(objects, verbose = verbose) # ensure proper object names From bab1d8b78d649e3565965886df384369876a34bc Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 12 Oct 2023 12:28:11 +0200 Subject: [PATCH 006/100] RD --- R/check_overdispersion.R | 4 ++-- R/model_performance.rma.R | 2 +- man/check_overdispersion.Rd | 4 ++-- man/model_performance.rma.Rd | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/R/check_overdispersion.R b/R/check_overdispersion.R index 5f61f18b0..95ad62c0a 100644 --- a/R/check_overdispersion.R +++ b/R/check_overdispersion.R @@ -4,8 +4,8 @@ #' @description `check_overdispersion()` checks generalized linear (mixed) #' models for overdispersion. #' -#' @param x Fitted model of class `merMod`, `glmmTMB`, `glm`, -#' or `glm.nb` (package \pkg{MASS}). +#' @param x Fitted model of class `merMod`, `glmmTMB`, `glm`, or `glm.nb` +#' (package **MASS**). #' @param ... Currently not used. #' #' @return A list with results from the overdispersion test, like chi-squared diff --git a/R/model_performance.rma.R b/R/model_performance.rma.R index 6a3fb2e93..413f5c9ea 100644 --- a/R/model_performance.rma.R +++ b/R/model_performance.rma.R @@ -1,7 +1,7 @@ #' Performance of Meta-Analysis Models #' #' Compute indices of model performance for meta-analysis model from the -#' \pkg{metafor} package. +#' **metafor** package. #' #' @param model A `rma` object as returned by `metafor::rma()`. #' @param metrics Can be `"all"` or a character vector of metrics to be diff --git a/man/check_overdispersion.Rd b/man/check_overdispersion.Rd index e8a68a6c9..ce8341dc4 100644 --- a/man/check_overdispersion.Rd +++ b/man/check_overdispersion.Rd @@ -7,8 +7,8 @@ check_overdispersion(x, ...) } \arguments{ -\item{x}{Fitted model of class \code{merMod}, \code{glmmTMB}, \code{glm}, -or \code{glm.nb} (package \pkg{MASS}).} +\item{x}{Fitted model of class \code{merMod}, \code{glmmTMB}, \code{glm}, or \code{glm.nb} +(package \strong{MASS}).} \item{...}{Currently not used.} } diff --git a/man/model_performance.rma.Rd b/man/model_performance.rma.Rd index 69d1923ba..787b4d8c7 100644 --- a/man/model_performance.rma.Rd +++ b/man/model_performance.rma.Rd @@ -34,7 +34,7 @@ A data frame (with one row) and one column per "index" (see } \description{ Compute indices of model performance for meta-analysis model from the -\pkg{metafor} package. +\strong{metafor} package. } \details{ \subsection{Indices of fit}{ From 835fc4f3b2765a5b7ccc3f394a36fcfc218aab39 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 12 Oct 2023 16:05:14 +0200 Subject: [PATCH 007/100] fix RD --- R/model_performance.rma.R | 2 +- man/model_performance.rma.Rd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/R/model_performance.rma.R b/R/model_performance.rma.R index 413f5c9ea..d7fd37e09 100644 --- a/R/model_performance.rma.R +++ b/R/model_performance.rma.R @@ -18,7 +18,7 @@ #' #' - **AIC** Akaike's Information Criterion, see `?stats::AIC` #' -#' - **BIC** {Bayesian Information Criterion, see `?stats::BIC`} +#' - **BIC** Bayesian Information Criterion, see `?stats::BIC` #' #' - **I2**: For a random effects model, `I2` estimates (in #' percent) how much of the total variability in the effect size estimates diff --git a/man/model_performance.rma.Rd b/man/model_performance.rma.Rd index 787b4d8c7..a035378ed 100644 --- a/man/model_performance.rma.Rd +++ b/man/model_performance.rma.Rd @@ -40,7 +40,7 @@ Compute indices of model performance for meta-analysis model from the \subsection{Indices of fit}{ \itemize{ \item \strong{AIC} Akaike's Information Criterion, see \code{?stats::AIC} -\item \strong{BIC} {Bayesian Information Criterion, see \code{?stats::BIC}} +\item \strong{BIC} Bayesian Information Criterion, see \code{?stats::BIC} \item \strong{I2}: For a random effects model, \code{I2} estimates (in percent) how much of the total variability in the effect size estimates can be attributed to heterogeneity among the true effects. For a From af86c115fb3467b0f290bc2df6ec0066866ed8c0 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 17 Oct 2023 11:03:19 +0200 Subject: [PATCH 008/100] check which remotes are necessary --- DESCRIPTION | 3 +-- tests/testthat/test-cronbachs_alpha.R | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index d72634892..d72f3909f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.6 +Version: 0.10.6.1 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -153,4 +153,3 @@ Config/Needs/website: r-lib/pkgdown, easystats/easystatstemplate Config/rcmdcheck/ignore-inconsequential-notes: true -Remotes: easystats/see, easystats/parameters, easystats/insight diff --git a/tests/testthat/test-cronbachs_alpha.R b/tests/testthat/test-cronbachs_alpha.R index a2670e979..d9a584bbb 100644 --- a/tests/testthat/test-cronbachs_alpha.R +++ b/tests/testthat/test-cronbachs_alpha.R @@ -9,7 +9,7 @@ test_that("cronbachs_alpha", { test_that("cronbachs_alpha, principal_components", { - skip_if_not_installed("parameters", minimum_version = "0.21.2.1") + skip_if_not_installed("parameters", minimum_version = "0.21.3") pca <- parameters::principal_components(mtcars[, c("cyl", "gear", "carb", "hp")], n = 2) expect_equal(cronbachs_alpha(pca, verbose = FALSE), c(PC1 = 0.1101384), tolerance = 1e-3) expect_warning(cronbachs_alpha(pca)) From e2c16cd895ba7a3c88f08ba2f934b967d486b081 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 17 Oct 2023 11:33:04 +0200 Subject: [PATCH 009/100] fix --- tests/testthat/test-check_autocorrelation.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/test-check_autocorrelation.R b/tests/testthat/test-check_autocorrelation.R index b389f3985..f70617565 100644 --- a/tests/testthat/test-check_autocorrelation.R +++ b/tests/testthat/test-check_autocorrelation.R @@ -3,5 +3,5 @@ test_that("check_autocorrelation", { m <- lm(mpg ~ wt + cyl + gear + disp, data = mtcars) set.seed(123) out <- check_autocorrelation(m) - expect_equal(as.vector(out), 0.316, ignor_attr = TRUE, tolerance = 1e-2) + expect_equal(as.vector(out), 0.316, ignore_attr = TRUE, tolerance = 1e-2) }) From 309e3db8432200db0bdb9970efb99684d3f036a8 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 24 Oct 2023 12:33:27 +0200 Subject: [PATCH 010/100] #382 --- DESCRIPTION | 2 +- R/binned_residuals.R | 14 +++++++++++++- man/binned_residuals.Rd | 8 +++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index d72f3909f..cf4108aa7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.6.1 +Version: 0.10.6.2 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/R/binned_residuals.R b/R/binned_residuals.R index 355ab63c4..286323968 100644 --- a/R/binned_residuals.R +++ b/R/binned_residuals.R @@ -11,6 +11,11 @@ #' @param n_bins Numeric, the number of bins to divide the data. If #' `n_bins = NULL`, the square root of the number of observations is #' taken. +#' @param show_dots Logical, if `TRUE`, will show data points in the plot. Set +#' to `FALSE` for models with many observations, if generating the plot is too +#' time-consuming. By default, `show_dots = NULL`. In this case `binned_residuals()` +#' tries to guess whether performance will be poor due to a very large model +#' and thus automatically shows or hides dots. #' @param ... Currently not used. #' #' @return A data frame representing the data that is mapped in the accompanying @@ -57,7 +62,7 @@ #' } #' #' @export -binned_residuals <- function(model, term = NULL, n_bins = NULL, ...) { +binned_residuals <- function(model, term = NULL, n_bins = NULL, show_dots = NULL, ...) { fv <- stats::fitted(model) mf <- insight::get_data(model, verbose = FALSE) @@ -67,6 +72,12 @@ binned_residuals <- function(model, term = NULL, n_bins = NULL, ...) { pred <- mf[[term]] } + # set default for show_dots, based on "model size" + if (is.null(show_dots)) { + n <- .safe(insight::n_obs(model)) + show_dots <- is.null(n) || n <= 1e5 + } + y <- .recode_to_zero(insight::get_response(model, verbose = FALSE)) - fv if (is.null(n_bins)) n_bins <- round(sqrt(length(pred))) @@ -112,6 +123,7 @@ binned_residuals <- function(model, term = NULL, n_bins = NULL, ...) { attr(d, "resid_ok") <- resid_ok attr(d, "resp_var") <- insight::find_response(model) attr(d, "term") <- term + attr(d, "show_dots") <- show_dots d } diff --git a/man/binned_residuals.Rd b/man/binned_residuals.Rd index ff6fb5784..b8aee666e 100644 --- a/man/binned_residuals.Rd +++ b/man/binned_residuals.Rd @@ -4,7 +4,7 @@ \alias{binned_residuals} \title{Binned residuals for binomial logistic regression} \usage{ -binned_residuals(model, term = NULL, n_bins = NULL, ...) +binned_residuals(model, term = NULL, n_bins = NULL, show_dots = NULL, ...) } \arguments{ \item{model}{A \code{glm}-object with \emph{binomial}-family.} @@ -18,6 +18,12 @@ plotted.} \code{n_bins = NULL}, the square root of the number of observations is taken.} +\item{show_dots}{Logical, if \code{TRUE}, will show data points in the plot. Set +to \code{FALSE} for models with many observations, if generating the plot is too +time-consuming. By default, \code{show_dots = NULL}. In this case \code{binned_residuals()} +tries to guess whether performance will be poor due to a very large model +and thus automatically shows or hides dots.} + \item{...}{Currently not used.} } \value{ From 7b198ef4906458d6fa2175c7f05d51c6db1e1cab Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 24 Oct 2023 12:36:19 +0200 Subject: [PATCH 011/100] news --- NEWS.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/NEWS.md b/NEWS.md index bc7687113..e3eedf313 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,12 @@ +# performance 0.10.7 + +## Changes to functions + +* `binned_residuals()` - like `check_model()` - gains a `show_dots` argument to + show or hide data points that lie inside error bounds. This is particular + useful for models with many observations, where generating the plot would be + very slow. + # performance 0.10.6 ## General From 3408a7c58f479dd6ec7c4031fed10b381efd7d35 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 24 Oct 2023 14:04:02 +0200 Subject: [PATCH 012/100] add reference (pre-print) --- R/check_outliers.R | 4 ++++ man/check_outliers.Rd | 3 +++ 2 files changed, 7 insertions(+) diff --git a/R/check_outliers.R b/R/check_outliers.R index 9f147cb83..f7b304c5e 100644 --- a/R/check_outliers.R +++ b/R/check_outliers.R @@ -261,6 +261,10 @@ #' statistical models. Journal of Open Source Software, 6(60), 3139. #' \doi{10.21105/joss.03139} #' +#' - Thériault, R., Ben-Shachar, M. S., Patil, I., Lüdecke, D., Wiernik, B. M., +#' and Makowski, D. (2023). Check your outliers! An introduction to identifying +#' statistical outliers in R with easystats. https://doi.org/10.31234/osf.io/bu6nt +#' #' - Rousseeuw, P. J., and Van Zomeren, B. C. (1990). Unmasking multivariate #' outliers and leverage points. Journal of the American Statistical #' association, 85(411), 633-639. diff --git a/man/check_outliers.Rd b/man/check_outliers.Rd index c19d4ecb0..f22a51f6a 100644 --- a/man/check_outliers.Rd +++ b/man/check_outliers.Rd @@ -343,6 +343,9 @@ IEEE. (2021). performance: An R package for assessment, comparison and testing of statistical models. Journal of Open Source Software, 6(60), 3139. \doi{10.21105/joss.03139} +\item Thériault, R., Ben-Shachar, M. S., Patil, I., Lüdecke, D., Wiernik, B. M., +and Makowski, D. (2023). Check your outliers! An introduction to identifying +statistical outliers in R with easystats. https://doi.org/10.31234/osf.io/bu6nt \item Rousseeuw, P. J., and Van Zomeren, B. C. (1990). Unmasking multivariate outliers and leverage points. Journal of the American Statistical association, 85(411), 633-639. From eb4fafa1b8046ec7775b816a9caad70eb057569c Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 26 Oct 2023 10:13:28 +0200 Subject: [PATCH 013/100] Improve `binned_residuals()` (#641) --- NEWS.md | 10 +++ R/binned_residuals.R | 83 +++++++++++++++--- R/check_model.R | 35 ++++---- R/check_outliers.R | 116 ++++++++++++------------- man/binned_residuals.Rd | 29 ++++++- man/check_model.Rd | 3 +- man/check_outliers.Rd | 2 +- tests/testthat/test-binned_residuals.R | 102 ++++++++++++++++++++-- 8 files changed, 285 insertions(+), 95 deletions(-) diff --git a/NEWS.md b/NEWS.md index e3eedf313..2bb37d162 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,15 @@ # performance 0.10.7 +## Breaking changes + +* `binned_residuals()` gains a few new arguments to control the residuals used + for the test, as well as different options to calculate confidence intervals + (namely, `ci_type`, `residuals`, `ci` and `iterations`). The default values + to compute binned residuals have changed. Default residuals are now "deviance" + residuals (and no longer "response" residuals). Default confidence intervals + are now "exact" intervals (and no longer based on Gaussian approximation). + Use `ci_type = "gaussian"` and `residuals = "response"` to get the old defaults. + ## Changes to functions * `binned_residuals()` - like `check_model()` - gains a `show_dots` argument to diff --git a/R/binned_residuals.R b/R/binned_residuals.R index 286323968..8b5533bb0 100644 --- a/R/binned_residuals.R +++ b/R/binned_residuals.R @@ -11,6 +11,19 @@ #' @param n_bins Numeric, the number of bins to divide the data. If #' `n_bins = NULL`, the square root of the number of observations is #' taken. +#' @param ci Numeric, the confidence level for the error bounds. +#' @param ci_type Character, the type of error bounds to calculate. Can be +#' `"exact"` (default), `"gaussian"` or `"boot"`. `"exact"` calculates the +#' error bounds based on the exact binomial distribution, using [`binom.test()`]. +#' `"gaussian"` uses the Gaussian approximation, while `"boot"` uses a simple +#' bootstrap method, where confidence intervals are calculated based on the +#' quantiles of the bootstrap distribution. +#' @param residuals Character, the type of residuals to calculate. Can be +#' `"deviance"` (default), `"pearson"` or `"response"`. It is recommended to +#' use `"response"` only for those models where other residuals are not +#' available. +#' @param iterations Integer, the number of iterations to use for the +#' bootstrap method. Only used if `ci_type = "boot"`. #' @param show_dots Logical, if `TRUE`, will show data points in the plot. Set #' to `FALSE` for models with many observations, if generating the plot is too #' time-consuming. By default, `show_dots = NULL`. In this case `binned_residuals()` @@ -62,12 +75,24 @@ #' } #' #' @export -binned_residuals <- function(model, term = NULL, n_bins = NULL, show_dots = NULL, ...) { - fv <- stats::fitted(model) +binned_residuals <- function(model, + term = NULL, + n_bins = NULL, + show_dots = NULL, + ci = 0.95, + ci_type = c("exact", "gaussian", "boot"), + residuals = c("deviance", "pearson", "response"), + iterations = 1000, + ...) { + # match arguments + ci_type <- match.arg(ci_type) + residuals <- match.arg(residuals) + + fitted_values <- stats::fitted(model) mf <- insight::get_data(model, verbose = FALSE) if (is.null(term)) { - pred <- fv + pred <- fitted_values } else { pred <- mf[[term]] } @@ -78,7 +103,20 @@ binned_residuals <- function(model, term = NULL, n_bins = NULL, show_dots = NULL show_dots <- is.null(n) || n <= 1e5 } - y <- .recode_to_zero(insight::get_response(model, verbose = FALSE)) - fv + # make sure response is 0/1 (and numeric) + y0 <- .recode_to_zero(insight::get_response(model, verbose = FALSE)) + + # calculate residuals + y <- switch(residuals, + response = y0 - fitted_values, + pearson = .safe((y0 - fitted_values) / sqrt(fitted_values * (1 - fitted_values))), + deviance = .safe(stats::residuals(model, type = "deviance")) + ) + + # make sure we really have residuals + if (is.null(y)) { + insight::format_error("Could not calculate residuals. Try using `residuals = \"response\"`.") + } if (is.null(n_bins)) n_bins <- round(sqrt(length(pred))) @@ -95,24 +133,32 @@ binned_residuals <- function(model, term = NULL, n_bins = NULL, show_dots = NULL n <- length(items) sdev <- stats::sd(y[items], na.rm = TRUE) - data.frame( + conf_int <- switch(ci_type, + gaussian = stats::qnorm(c((1 - ci) / 2, (1 + ci) / 2), mean = ybar, sd = sdev / sqrt(n)), + exact = { + out <- stats::binom.test(sum(y0[items]), n)$conf.int + # center CIs around point estimate + out <- out - (min(out) - ybar) - (diff(out) / 2) + out + }, + boot = .boot_binned_ci(y[items], ci, iterations) + ) + names(conf_int) <- c("CI_low", "CI_high") + + d0 <- data.frame( xbar = xbar, ybar = ybar, n = n, x.lo = model.range[1], x.hi = model.range[2], - se = stats::qnorm(0.975) * sdev / sqrt(n), - ci_range = sdev / sqrt(n) + se = stats::qnorm((1 + ci) / 2) * sdev / sqrt(n) ) + cbind(d0, rbind(conf_int)) })) d <- do.call(rbind, d) d <- d[stats::complete.cases(d), ] - # CIs - d$CI_low <- d$ybar - stats::qnorm(0.975) * d$ci_range - d$CI_high <- d$ybar + stats::qnorm(0.975) * d$ci_range - gr <- abs(d$ybar) > abs(d$se) d$group <- "yes" d$group[gr] <- "no" @@ -129,6 +175,21 @@ binned_residuals <- function(model, term = NULL, n_bins = NULL, show_dots = NULL } +# utilities --------------------------- + +.boot_binned_ci <- function(x, ci = 0.95, iterations = 1000) { + x <- x[!is.na(x)] + n <- length(x) + out <- vector("numeric", iterations) + for (i in seq_len(iterations)) { + out[i] <- sum(x[sample.int(n, n, replace = TRUE)]) + } + out <- out / n + + quant <- stats::quantile(out, c((1 - ci) / 2, (1 + ci) / 2)) + c(CI_low = quant[1L], CI_high = quant[2L]) +} + # methods ----------------------------- diff --git a/R/check_model.R b/R/check_model.R index bbf6c6a84..58757468f 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -35,7 +35,8 @@ #' tries to guess whether performance will be poor due to a very large model #' and thus automatically shows or hides dots. #' @param verbose If `FALSE` (default), suppress most warning messages. -#' @param ... Currently not used. +#' @param ... Arguments passed down to the individual check functions, especially +#' to `check_predictions()` and `binned_residuals()`. #' @inheritParams check_predictions #' #' @return The data frame that is used for plotting. @@ -185,11 +186,11 @@ check_model.default <- function(x, ca <- tryCatch( { if (minfo$is_bayesian) { - suppressWarnings(.check_assumptions_stan(x)) + suppressWarnings(.check_assumptions_stan(x, ...)) } else if (minfo$is_linear) { - suppressWarnings(.check_assumptions_linear(x, minfo, verbose)) + suppressWarnings(.check_assumptions_linear(x, minfo, verbose, ...)) } else { - suppressWarnings(.check_assumptions_glm(x, minfo, verbose)) + suppressWarnings(.check_assumptions_glm(x, minfo, verbose, ...)) } }, error = function(e) { @@ -202,7 +203,7 @@ check_model.default <- function(x, } # try to find sensible default for "type" argument - suggest_dots <- (minfo$is_bernoulli || minfo$is_count || minfo$is_ordinal || minfo$is_categorical || minfo$is_multinomial) + suggest_dots <- (minfo$is_bernoulli || minfo$is_count || minfo$is_ordinal || minfo$is_categorical || minfo$is_multinomial) # nolint if (missing(type) && suggest_dots) { type <- "discrete_interval" } @@ -330,7 +331,7 @@ check_model.model_fit <- function(x, # compile plots for checks of linear models ------------------------ -.check_assumptions_linear <- function(model, model_info, verbose = TRUE) { +.check_assumptions_linear <- function(model, model_info, verbose = TRUE, ...) { dat <- list() dat$VIF <- .diag_vif(model, verbose = verbose) @@ -340,13 +341,13 @@ check_model.model_fit <- function(x, dat$NCV <- .diag_ncv(model, verbose = verbose) dat$HOMOGENEITY <- .diag_homogeneity(model, verbose = verbose) dat$OUTLIERS <- check_outliers(model, method = "cook") - if (!is.null(dat$OUTLIERS)) { - threshold <- attributes(dat$OUTLIERS)$threshold$cook - } else { + if (is.null(dat$OUTLIERS)) { threshold <- NULL + } else { + threshold <- attributes(dat$OUTLIERS)$threshold$cook } dat$INFLUENTIAL <- .influential_obs(model, threshold = threshold) - dat$PP_CHECK <- .safe(check_predictions(model)) + dat$PP_CHECK <- .safe(check_predictions(model, ...)) dat <- insight::compact_list(dat) class(dat) <- c("check_model", "see_check_model") @@ -357,7 +358,7 @@ check_model.model_fit <- function(x, # compile plots for checks of generalized linear models ------------------------ -.check_assumptions_glm <- function(model, model_info, verbose = TRUE) { +.check_assumptions_glm <- function(model, model_info, verbose = TRUE, ...) { dat <- list() dat$VIF <- .diag_vif(model, verbose = verbose) @@ -365,15 +366,15 @@ check_model.model_fit <- function(x, dat$HOMOGENEITY <- .diag_homogeneity(model, verbose = verbose) dat$REQQ <- .diag_reqq(model, level = 0.95, model_info = model_info, verbose = verbose) dat$OUTLIERS <- check_outliers(model, method = "cook") - if (!is.null(dat$OUTLIERS)) { - threshold <- attributes(dat$OUTLIERS)$threshold$cook - } else { + if (is.null(dat$OUTLIERS)) { threshold <- NULL + } else { + threshold <- attributes(dat$OUTLIERS)$threshold$cook } dat$INFLUENTIAL <- .influential_obs(model, threshold = threshold) - dat$PP_CHECK <- .safe(check_predictions(model)) + dat$PP_CHECK <- .safe(check_predictions(model, ...)) if (isTRUE(model_info$is_binomial)) { - dat$BINNED_RESID <- binned_residuals(model) + dat$BINNED_RESID <- binned_residuals(model, ...) } if (isTRUE(model_info$is_count)) { dat$OVERDISPERSION <- .diag_overdispersion(model) @@ -388,7 +389,7 @@ check_model.model_fit <- function(x, # compile plots for checks of Bayesian models ------------------------ -.check_assumptions_stan <- function(model) { +.check_assumptions_stan <- function(model, ...) { if (inherits(model, "brmsfit")) { # check if brms can be loaded diff --git a/R/check_outliers.R b/R/check_outliers.R index f7b304c5e..2a1d185d3 100644 --- a/R/check_outliers.R +++ b/R/check_outliers.R @@ -263,7 +263,7 @@ #' #' - Thériault, R., Ben-Shachar, M. S., Patil, I., Lüdecke, D., Wiernik, B. M., #' and Makowski, D. (2023). Check your outliers! An introduction to identifying -#' statistical outliers in R with easystats. https://doi.org/10.31234/osf.io/bu6nt +#' statistical outliers in R with easystats. \doi{10.31234/osf.io/bu6nt} #' #' - Rousseeuw, P. J., and Van Zomeren, B. C. (1990). Unmasking multivariate #' outliers and leverage points. Journal of the American Statistical @@ -410,16 +410,16 @@ check_outliers.default <- function(x, } # Others - if (!all(method %in% c("cook", "pareto"))) { + if (all(method %in% c("cook", "pareto"))) { + df <- data.frame(Row = seq_len(nrow(as.data.frame(data)))) + outlier_count <- list() + outlier_var <- list() + } else { out <- check_outliers(data, method, threshold) outlier_var <- attributes(out)$outlier_var outlier_count <- attributes(out)$outlier_count df <- attributes(out)$data - df <- df[!names(df) %in% "Outlier"] - } else { - df <- data.frame(Row = seq_len(nrow(as.data.frame(data)))) - outlier_count <- list() - outlier_var <- list() + df <- df[!names(df) == "Outlier"] } # Cook @@ -449,17 +449,17 @@ check_outliers.default <- function(x, outlier_count$cook <- count.table - if (!all(method %in% c("cook", "pareto"))) { + if (all(method %in% c("cook", "pareto"))) { + outlier_count$all <- count.table + } else { outlier_count$all <- datawizard::data_merge( list(outlier_count$all, count.table), join = "full", by = "Row" ) - } else { - outlier_count$all <- count.table } } else { - method <- method[!(method %in% "cook")] + method <- method[!(method == "cook")] } # Pareto @@ -489,17 +489,17 @@ check_outliers.default <- function(x, outlier_count$pareto <- count.table - if (!all(method %in% c("cook", "pareto"))) { + if (all(method %in% c("cook", "pareto"))) { + outlier_count$all <- count.table + } else { outlier_count$all <- datawizard::data_merge( list(outlier_count$all, count.table), join = "full", by = "Row" ) - } else { - outlier_count$all <- count.table } } else { - method <- method[!(method %in% "pareto")] + method <- method[!(method == "pareto")] } outlier_count$all <- datawizard::convert_na_to(outlier_count$all, @@ -1442,21 +1442,21 @@ check_outliers.metabin <- check_outliers.metagen lof <- 0.001 list( - "zscore" = zscore, - "zscore_robust" = zscore_robust, - "iqr" = iqr, - "ci" = ci, - "hdi" = hdi, - "eti" = eti, - "bci" = bci, - "cook" = cook, - "pareto" = pareto, - "mahalanobis" = mahalanobis, - "mahalanobis_robust" = mahalanobis_robust, - "mcd" = mcd, - "ics" = ics, - "optics" = optics, - "lof" = lof + zscore = zscore, + zscore_robust = zscore_robust, + iqr = iqr, + ci = ci, + hdi = hdi, + eti = eti, + bci = bci, + cook = cook, + pareto = pareto, + mahalanobis = mahalanobis, + mahalanobis_robust = mahalanobis_robust, + mcd = mcd, + ics = ics, + optics = optics, + lof = lof ) } @@ -1478,15 +1478,15 @@ check_outliers.metabin <- check_outliers.metagen x <- as.data.frame(x) # Standardize - if (!robust) { + if (robust) { d <- abs(as.data.frame(lapply( x, - function(x) (x - mean(x, na.rm = TRUE)) / stats::sd(x, na.rm = TRUE) + function(x) (x - stats::median(x, na.rm = TRUE)) / stats::mad(x, na.rm = TRUE) ))) } else { d <- abs(as.data.frame(lapply( x, - function(x) (x - stats::median(x, na.rm = TRUE)) / stats::mad(x, na.rm = TRUE) + function(x) (x - mean(x, na.rm = TRUE)) / stats::sd(x, na.rm = TRUE) ))) } @@ -1504,8 +1504,8 @@ check_outliers.metabin <- check_outliers.metagen out$Outlier_Zscore <- as.numeric(out$Distance_Zscore > threshold) output <- list( - "data_zscore" = out, - "threshold_zscore" = threshold + data_zscore = out, + threshold_zscore = threshold ) if (isTRUE(robust)) { @@ -1566,8 +1566,8 @@ check_outliers.metabin <- check_outliers.metagen }, numeric(1)) list( - "data_iqr" = out, - "threshold_iqr" = threshold + data_iqr = out, + threshold_iqr = threshold ) } @@ -1615,8 +1615,8 @@ check_outliers.metabin <- check_outliers.metagen out <- cbind(out.0, out) output <- list( - "data_" = out, - "threshold_" = threshold + data_ = out, + threshold_ = threshold ) names(output) <- paste0(names(output), method) output @@ -1636,8 +1636,8 @@ check_outliers.metabin <- check_outliers.metagen out$Outlier_Cook <- as.numeric(out$Distance_Cook > threshold) list( - "data_cook" = out, - "threshold_cook" = threshold + data_cook = out, + threshold_cook = threshold ) } @@ -1656,8 +1656,8 @@ check_outliers.metabin <- check_outliers.metagen out$Outlier_Pareto <- as.numeric(out$Distance_Pareto > threshold) list( - "data_pareto" = out, - "threshold_pareto" = threshold + data_pareto = out, + threshold_pareto = threshold ) } @@ -1686,8 +1686,8 @@ check_outliers.metabin <- check_outliers.metagen out$Outlier_Mahalanobis <- as.numeric(out$Distance_Mahalanobis > threshold) list( - "data_mahalanobis" = out, - "threshold_mahalanobis" = threshold + data_mahalanobis = out, + threshold_mahalanobis = threshold ) } @@ -1717,8 +1717,8 @@ check_outliers.metabin <- check_outliers.metagen ) list( - "data_mahalanobis_robust" = out, - "threshold_mahalanobis_robust" = threshold + data_mahalanobis_robust = out, + threshold_mahalanobis_robust = threshold ) } @@ -1744,8 +1744,8 @@ check_outliers.metabin <- check_outliers.metagen out$Outlier_MCD <- as.numeric(out$Distance_MCD > threshold) list( - "data_mcd" = out, - "threshold_mcd" = threshold + data_mcd = out, + threshold_mcd = threshold ) } @@ -1765,10 +1765,10 @@ check_outliers.metabin <- check_outliers.metagen insight::check_if_installed("ICSOutlier") # Get n cores - n_cores <- if (!requireNamespace("parallel", quietly = TRUE)) { - NULL - } else { + n_cores <- if (requireNamespace("parallel", quietly = TRUE)) { getOption("mc.cores", 1L) + } else { + NULL } # tell user about n-cores option @@ -1822,8 +1822,8 @@ check_outliers.metabin <- check_outliers.metagen # Out list( - "data_ics" = out, - "threshold_ics" = threshold + data_ics = out, + threshold_ics = threshold ) } @@ -1854,8 +1854,8 @@ check_outliers.metabin <- check_outliers.metagen } list( - "data_optics" = out, - "threshold_optics" = threshold + data_optics = out, + threshold_optics = threshold ) } @@ -1921,8 +1921,8 @@ check_outliers.metabin <- check_outliers.metagen out$Outlier_LOF <- as.numeric(out$Distance_LOF > cutoff) list( - "data_lof" = out, - "threshold_lof" = threshold + data_lof = out, + threshold_lof = threshold ) } diff --git a/man/binned_residuals.Rd b/man/binned_residuals.Rd index b8aee666e..33e710f11 100644 --- a/man/binned_residuals.Rd +++ b/man/binned_residuals.Rd @@ -4,7 +4,17 @@ \alias{binned_residuals} \title{Binned residuals for binomial logistic regression} \usage{ -binned_residuals(model, term = NULL, n_bins = NULL, show_dots = NULL, ...) +binned_residuals( + model, + term = NULL, + n_bins = NULL, + show_dots = NULL, + ci = 0.95, + ci_type = c("exact", "gaussian", "boot"), + residuals = c("deviance", "pearson", "response"), + iterations = 1000, + ... +) } \arguments{ \item{model}{A \code{glm}-object with \emph{binomial}-family.} @@ -24,6 +34,23 @@ time-consuming. By default, \code{show_dots = NULL}. In this case \code{binned_r tries to guess whether performance will be poor due to a very large model and thus automatically shows or hides dots.} +\item{ci}{Numeric, the confidence level for the error bounds.} + +\item{ci_type}{Character, the type of error bounds to calculate. Can be +\code{"exact"} (default), \code{"gaussian"} or \code{"boot"}. \code{"exact"} calculates the +error bounds based on the exact binomial distribution, using \code{\link[=binom.test]{binom.test()}}. +\code{"gaussian"} uses the Gaussian approximation, while \code{"boot"} uses a simple +bootstrap method, where confidence intervals are calculated based on the +quantiles of the bootstrap distribution.} + +\item{residuals}{Character, the type of residuals to calculate. Can be +\code{"deviance"} (default), \code{"pearson"} or \code{"response"}. It is recommended to +use \code{"response"} only for those models where other residuals are not +available.} + +\item{iterations}{Integer, the number of iterations to use for the +bootstrap method. Only used if \code{ci_type = "boot"}.} + \item{...}{Currently not used.} } \value{ diff --git a/man/check_model.Rd b/man/check_model.Rd index 2bf82af92..d5ead9420 100644 --- a/man/check_model.Rd +++ b/man/check_model.Rd @@ -28,7 +28,8 @@ check_model(x, ...) \arguments{ \item{x}{A model object.} -\item{...}{Currently not used.} +\item{...}{Arguments passed down to the individual check functions, especially +to \code{check_predictions()} and \code{binned_residuals()}.} \item{dot_size, line_size}{Size of line and dot-geoms.} diff --git a/man/check_outliers.Rd b/man/check_outliers.Rd index f22a51f6a..74c992b6f 100644 --- a/man/check_outliers.Rd +++ b/man/check_outliers.Rd @@ -345,7 +345,7 @@ statistical models. Journal of Open Source Software, 6(60), 3139. \doi{10.21105/joss.03139} \item Thériault, R., Ben-Shachar, M. S., Patil, I., Lüdecke, D., Wiernik, B. M., and Makowski, D. (2023). Check your outliers! An introduction to identifying -statistical outliers in R with easystats. https://doi.org/10.31234/osf.io/bu6nt +statistical outliers in R with easystats. \doi{10.31234/osf.io/bu6nt} \item Rousseeuw, P. J., and Van Zomeren, B. C. (1990). Unmasking multivariate outliers and leverage points. Journal of the American Statistical association, 85(411), 633-639. diff --git a/tests/testthat/test-binned_residuals.R b/tests/testthat/test-binned_residuals.R index 4aa69e0ec..6f0155092 100644 --- a/tests/testthat/test-binned_residuals.R +++ b/tests/testthat/test-binned_residuals.R @@ -1,10 +1,10 @@ test_that("binned_residuals", { data(mtcars) model <- glm(vs ~ wt + mpg, data = mtcars, family = "binomial") - result <- binned_residuals(model) + result <- binned_residuals(model, ci_type = "gaussian", residuals = "response") expect_named( result, - c("xbar", "ybar", "n", "x.lo", "x.hi", "se", "ci_range", "CI_low", "CI_high", "group") + c("xbar", "ybar", "n", "x.lo", "x.hi", "se", "CI_low", "CI_high", "group") ) expect_equal( result$xbar, @@ -16,16 +16,21 @@ test_that("binned_residuals", { c(-0.03786, -0.09514, 0.07423, -0.07955, 0.28891, -0.13786), tolerance = 1e-4 ) + expect_equal( + result$CI_low, + c(-0.05686, -0.12331, -0.35077, -0.57683, 0.17916, -0.44147), + tolerance = 1e-4 + ) }) test_that("binned_residuals, n_bins", { data(mtcars) model <- glm(vs ~ wt + mpg, data = mtcars, family = "binomial") - result <- binned_residuals(model, n_bins = 10) + result <- binned_residuals(model, ci_type = "gaussian", residuals = "response", n_bins = 10) expect_named( result, - c("xbar", "ybar", "n", "x.lo", "x.hi", "se", "ci_range", "CI_low", "CI_high", "group") + c("xbar", "ybar", "n", "x.lo", "x.hi", "se", "CI_low", "CI_high", "group") ) expect_equal( result$xbar, @@ -49,10 +54,10 @@ test_that("binned_residuals, n_bins", { test_that("binned_residuals, terms", { data(mtcars) model <- glm(vs ~ wt + mpg, data = mtcars, family = "binomial") - result <- binned_residuals(model, term = "mpg") + result <- binned_residuals(model, ci_type = "gaussian", residuals = "response", term = "mpg") expect_named( result, - c("xbar", "ybar", "n", "x.lo", "x.hi", "se", "ci_range", "CI_low", "CI_high", "group") + c("xbar", "ybar", "n", "x.lo", "x.hi", "se", "CI_low", "CI_high", "group") ) expect_equal( result$xbar, @@ -65,3 +70,88 @@ test_that("binned_residuals, terms", { tolerance = 1e-4 ) }) + + +test_that("binned_residuals, deviance residuals, gaussian CI", { + data(mtcars) + model <- glm(vs ~ wt + mpg, data = mtcars, family = "binomial") + result <- binned_residuals(model, residuals = "deviance", ci_type = "gaussian") + expect_named( + result, + c("xbar", "ybar", "n", "x.lo", "x.hi", "se", "CI_low", "CI_high", "group") + ) + expect_equal( + result$xbar, + c(0.03786, 0.09514, 0.25911, 0.47955, 0.71109, 0.97119), + tolerance = 1e-4 + ) + expect_equal( + result$ybar, + c(-0.26905, -0.44334, 0.03763, -0.19917, 0.81563, -0.23399), + tolerance = 1e-4 + ) + expect_equal( + result$ybar, + c(-0.26905, -0.44334, 0.03763, -0.19917, 0.81563, -0.23399), + tolerance = 1e-4 + ) + expect_equal( + result$CI_low, + c(-0.33985, -0.50865, -0.98255, -1.36025, 0.61749, -1.00913), + tolerance = 1e-4 + ) +}) + + +test_that("binned_residuals, default", { + data(mtcars) + model <- glm(vs ~ wt + mpg, data = mtcars, family = "binomial") + result <- binned_residuals(model) + expect_named( + result, + c("xbar", "ybar", "n", "x.lo", "x.hi", "se", "CI_low", "CI_high", "group") + ) + expect_equal( + result$xbar, + c(0.03786, 0.09514, 0.25911, 0.47955, 0.71109, 0.97119), + tolerance = 1e-4 + ) + expect_equal( + result$ybar, + c(-0.26905, -0.44334, 0.03763, -0.19917, 0.81563, -0.23399), + tolerance = 1e-4 + ) + expect_equal( + result$CI_low, + c(-0.52997, -0.70426, -0.32935, -0.59948, 0.55472, -0.55251), + tolerance = 1e-4 + ) +}) + + +test_that("binned_residuals, bootstrapped CI", { + skip_on_cran() + data(mtcars) + model <- glm(vs ~ wt + mpg, data = mtcars, family = "binomial") + set.seed(123) + result <- binned_residuals(model, ci_type = "boot", iterations = 100) + expect_named( + result, + c("xbar", "ybar", "n", "x.lo", "x.hi", "se", "CI_low", "CI_high", "group") + ) + expect_equal( + result$xbar, + c(0.03786, 0.09514, 0.25911, 0.47955, 0.71109, 0.97119), + tolerance = 1e-4 + ) + expect_equal( + result$ybar, + c(-0.26905, -0.44334, 0.03763, -0.19917, 0.81563, -0.23399), + tolerance = 1e-4 + ) + expect_equal( + result$CI_low, + c(-0.32623, -0.50543, -0.80879, -1.15154, 0.67569, -0.65748), + tolerance = 1e-4 + ) +}) From 4faf764e872b46b3a223a5342e82b662f0a952aa Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 26 Oct 2023 10:14:39 +0200 Subject: [PATCH 014/100] Update DESCRIPTION --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index cf4108aa7..2326f93f7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.6.2 +Version: 0.10.6.3 Authors@R: c(person(given = "Daniel", family = "Lüdecke", From d31584818eb51f8fa7eae67845a5e15f339b444a Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 26 Oct 2023 16:25:14 +0200 Subject: [PATCH 015/100] lintr --- R/check_model_diagnostics.R | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/R/check_model_diagnostics.R b/R/check_model_diagnostics.R index c6f91a655..6e398efa8 100644 --- a/R/check_model_diagnostics.R +++ b/R/check_model_diagnostics.R @@ -85,9 +85,9 @@ # prepare data for random effects QQ plot ---------------------------------- -.diag_reqq <- function(model, level = 0.95, model_info, verbose = TRUE) { +.diag_reqq <- function(model, level = 0.95, model_info = NULL, verbose = TRUE) { # check if we have mixed model - if (!model_info$is_mixed) { + if (is.null(model_info) || !model_info$is_mixed) { return(NULL) } @@ -156,7 +156,10 @@ r <- try(as.numeric(stats::residuals(model)), silent = TRUE) if (inherits(r, "try-error")) { - insight::format_alert(sprintf("Non-normality of residuals could not be computed. Cannot extract residuals from objects of class '%s'.", class(model)[1])) + insight::format_alert(sprintf( + "Non-normality of residuals could not be computed. Cannot extract residuals from objects of class '%s'.", + class(model)[1] + )) return(NULL) } @@ -223,7 +226,10 @@ if (is.null(ncv)) { if (verbose) { - insight::format_alert(sprintf("Non-constant error variance could not be computed. Cannot extract residuals from objects of class '%s'.", class(model)[1])) + insight::format_alert(sprintf( + "Non-constant error variance could not be computed. Cannot extract residuals from objects of class '%s'.", + class(model)[1] + )) } return(NULL) } @@ -264,7 +270,10 @@ if (is.null(r)) { if (verbose) { - insight::format_alert(sprintf("Homogeneity of variance could not be computed. Cannot extract residual variance from objects of class '%s'.", class(model)[1])) + insight::format_alert(sprintf( + "Homogeneity of variance could not be computed. Cannot extract residual variance from objects of class '%s'.", + class(model)[1] + )) } return(NULL) } @@ -327,7 +336,7 @@ } d$Prob <- stats::predict(model, type = ptype) d$Disp <- insight::get_sigma(model) - d$V <- d$Predicted * (1 + d$Predicted / d$Disp) * (1 - d$Prob) * (1 + d$Predicted * (1 + d$Predicted / d$Disp) * d$Prob) + d$V <- d$Predicted * (1 + d$Predicted / d$Disp) * (1 - d$Prob) * (1 + d$Predicted * (1 + d$Predicted / d$Disp) * d$Prob) # nolint d$StdRes <- insight::get_residuals(model, type = "pearson") } @@ -343,7 +352,7 @@ } d$Prob <- stats::predict(model, type = ptype) d$Disp <- stats::predict(model, type = "disp") - d$V <- d$Predicted * (1 + d$Predicted / d$Disp) * (1 - d$Prob) * (1 + d$Predicted * (1 + d$Predicted / d$Disp) * d$Prob) + d$V <- d$Predicted * (1 + d$Predicted / d$Disp) * (1 - d$Prob) * (1 + d$Predicted * (1 + d$Predicted / d$Disp) * d$Prob) # nolint d$StdRes <- insight::get_residuals(model, type = "pearson") } From 8af9e4e0b392de47f3b745f54d2724300297eb09 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 28 Oct 2023 08:47:01 +0200 Subject: [PATCH 016/100] CRAN submission 0.10.7 (#639) --- CRAN-SUBMISSION | 6 +++--- DESCRIPTION | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CRAN-SUBMISSION b/CRAN-SUBMISSION index 44e7c417a..a6bc7c4f2 100644 --- a/CRAN-SUBMISSION +++ b/CRAN-SUBMISSION @@ -1,3 +1,3 @@ -Version: 0.10.5 -Date: 2023-09-11 21:16:32 UTC -SHA: c3348f5c1183042544ebdfc7dbaa9489186c71ea +Version: 0.10.7 +Date: 2023-10-27 11:27:48 UTC +SHA: 81d81529d46cf7b96f31c60a17044531ff697aab diff --git a/DESCRIPTION b/DESCRIPTION index 2326f93f7..344992512 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.6.3 +Version: 0.10.7 Authors@R: c(person(given = "Daniel", family = "Lüdecke", From 5dc4f8089d50cfe922413ca2ea9b8ec47fc756f8 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 28 Oct 2023 09:07:47 +0200 Subject: [PATCH 017/100] skip test on CRAN --- DESCRIPTION | 2 +- tests/testthat/test-logLik.R | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 344992512..d8dff46a6 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.7 +Version: 0.10.7.1 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/tests/testthat/test-logLik.R b/tests/testthat/test-logLik.R index 2691f1d3c..5da5ef923 100644 --- a/tests/testthat/test-logLik.R +++ b/tests/testthat/test-logLik.R @@ -1,3 +1,5 @@ +skip_on_cran() + test_that("logLik", { skip_if_not_installed("plm") skip_if_not_installed("withr") From 50a0443c3ca2a218934c456a30aa077c4b32f1e2 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 29 Oct 2023 14:45:39 +0100 Subject: [PATCH 018/100] posterior predictive check for binomial glm with matrix response (#645) --- DESCRIPTION | 3 +- NEWS.md | 13 +++ R/binned_residuals.R | 12 +- R/check_model.R | 2 +- R/check_predictions.R | 40 ++++--- R/looic.R | 2 + R/r2_bayes.R | 142 ++++++++++++------------ man/binned_residuals.Rd | 3 + man/looic.Rd | 2 + man/r2_bayes.Rd | 102 +++++++++-------- tests/testthat/test-binned_residuals.R | 19 ++++ tests/testthat/test-check_predictions.R | 50 +++++++++ 12 files changed, 246 insertions(+), 144 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index d8dff46a6..0612d8264 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.7.1 +Version: 0.10.7.2 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -153,3 +153,4 @@ Config/Needs/website: r-lib/pkgdown, easystats/easystatstemplate Config/rcmdcheck/ignore-inconsequential-notes: true +Remotes: easystats/insight diff --git a/NEWS.md b/NEWS.md index 2bb37d162..6209f55b8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,16 @@ +# performance 0.10.8 + +## Changes + +* Changed behaviour of `check_predictions()` for models from binomial family, + to get comparable plots for different ways of outcome specification. Now, + if the outcome is a proportion, or defined as matrix of trials and successes, + the produced plots are the same (because the models should be the same, too). + +## Bug fixes + +* Fixed CRAN check errors. + # performance 0.10.7 ## Breaking changes diff --git a/R/binned_residuals.R b/R/binned_residuals.R index 8b5533bb0..370f33c20 100644 --- a/R/binned_residuals.R +++ b/R/binned_residuals.R @@ -29,6 +29,7 @@ #' time-consuming. By default, `show_dots = NULL`. In this case `binned_residuals()` #' tries to guess whether performance will be poor due to a very large model #' and thus automatically shows or hides dots. +#' @param verbose Toggle warnings and messages. #' @param ... Currently not used. #' #' @return A data frame representing the data that is mapped in the accompanying @@ -83,11 +84,20 @@ binned_residuals <- function(model, ci_type = c("exact", "gaussian", "boot"), residuals = c("deviance", "pearson", "response"), iterations = 1000, + verbose = TRUE, ...) { # match arguments ci_type <- match.arg(ci_type) residuals <- match.arg(residuals) + # for non-bernoulli models, `"exact"` doesn't work + if (isFALSE(insight::model_info(model)$is_bernoulli)) { + ci_type <- "gaussian" + if (verbose) { + insight::format_alert("Using `ci_type = \"gaussian\"` because model is not bernoulli.") + } + } + fitted_values <- stats::fitted(model) mf <- insight::get_data(model, verbose = FALSE) @@ -186,7 +196,7 @@ binned_residuals <- function(model, } out <- out / n - quant <- stats::quantile(out, c((1 - ci) / 2, (1 + ci) / 2)) + quant <- stats::quantile(out, c((1 - ci) / 2, (1 + ci) / 2), na.rm = TRUE) c(CI_low = quant[1L], CI_high = quant[2L]) } diff --git a/R/check_model.R b/R/check_model.R index 58757468f..e261704a5 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -374,7 +374,7 @@ check_model.model_fit <- function(x, dat$INFLUENTIAL <- .influential_obs(model, threshold = threshold) dat$PP_CHECK <- .safe(check_predictions(model, ...)) if (isTRUE(model_info$is_binomial)) { - dat$BINNED_RESID <- binned_residuals(model, ...) + dat$BINNED_RESID <- binned_residuals(model, verbose = verbose, ...) } if (isTRUE(model_info$is_count)) { dat$OVERDISPERSION <- .diag_overdispersion(model) diff --git a/R/check_predictions.R b/R/check_predictions.R index 832f9cc87..ac4eaf45c 100644 --- a/R/check_predictions.R +++ b/R/check_predictions.R @@ -197,10 +197,10 @@ pp_check.lm <- function(object, out <- .check_re_formula(out, object, iterations, re_formula, verbose, ...) # save information about model - if (!is.null(model_info)) { - minfo <- model_info - } else { + if (is.null(model_info)) { minfo <- insight::model_info(object) + } else { + minfo <- model_info } # glmmTMB returns column matrix for bernoulli @@ -215,9 +215,10 @@ pp_check.lm <- function(object, } if (is.null(out)) { - insight::format_error( - sprintf("Could not simulate responses. Maybe there is no `simulate()` for objects of class `%s`?", class(object)[1]) - ) + insight::format_error(sprintf( + "Could not simulate responses. Maybe there is no `simulate()` for objects of class `%s`?", + class(object)[1] + )) } # get response data, and response term, to check for transformations @@ -263,7 +264,7 @@ pp_check.glm <- function(object, out <- tryCatch( { matrix_sim <- stats::simulate(object, nsim = iterations, re.form = re_formula, ...) - as.data.frame(sapply(matrix_sim, function(i) i[, 1] / i[, 2], simplify = TRUE)) + as.data.frame(sapply(matrix_sim, function(i) i[, 1] / rowSums(i, na.rm = TRUE), simplify = TRUE)) }, error = function(e) { NULL @@ -274,9 +275,10 @@ pp_check.glm <- function(object, out <- .check_re_formula(out, object, iterations, re_formula, verbose, ...) if (is.null(out)) { - insight::format_error( - sprintf("Could not simulate responses. Maybe there is no `simulate()` for objects of class `%s`?", class(object)[1]) - ) + insight::format_error(sprintf( + "Could not simulate responses. Maybe there is no `simulate()` for objects of class `%s`?", + class(object)[1] + )) } # get response data, and response term @@ -285,13 +287,13 @@ pp_check.glm <- function(object, ) resp_string <- insight::find_terms(object)$response - out$y <- response[, 1] / response[, 2] + out$y <- response[, 1] / rowSums(response, na.rm = TRUE) # safe information about model - if (!is.null(model_info)) { - minfo <- model_info - } else { + if (is.null(model_info)) { minfo <- insight::model_info(object) + } else { + minfo <- model_info } attr(out, "check_range") <- check_range @@ -363,14 +365,20 @@ print.performance_pp_check <- function(x, verbose = TRUE, ...) { if (is.numeric(original)) { if (min(replicated) > min(original)) { insight::print_color( - insight::format_message("Warning: Minimum value of original data is not included in the replicated data.", "Model may not capture the variation of the data."), + insight::format_message( + "Warning: Minimum value of original data is not included in the replicated data.", + "Model may not capture the variation of the data." + ), "red" ) } if (max(replicated) < max(original)) { insight::print_color( - insight::format_message("Warning: Maximum value of original data is not included in the replicated data.", "Model may not capture the variation of the data."), + insight::format_message( + "Warning: Maximum value of original data is not included in the replicated data.", + "Model may not capture the variation of the data." + ), "red" ) } diff --git a/R/looic.R b/R/looic.R index 8f0a0c66e..4ded6ccd7 100644 --- a/R/looic.R +++ b/R/looic.R @@ -12,6 +12,7 @@ #' @return A list with four elements, the ELPD, LOOIC and their standard errors. #' #' @examplesIf require("rstanarm") +#' \donttest{ #' model <- suppressWarnings(rstanarm::stan_glm( #' mpg ~ wt + cyl, #' data = mtcars, @@ -20,6 +21,7 @@ #' refresh = 0 #' )) #' looic(model) +#' } #' @export looic <- function(model, verbose = TRUE) { insight::check_if_installed("loo") diff --git a/R/r2_bayes.R b/R/r2_bayes.R index fc007489c..24e8269ba 100644 --- a/R/r2_bayes.R +++ b/R/r2_bayes.R @@ -30,67 +30,63 @@ #' `r2_posterior()` is the actual workhorse for `r2_bayes()` and #' returns a posterior sample of Bayesian R2 values. #' -#' @examples +#' @examplesIf require("rstanarm") && require("rstantools") && require("BayesFactor") && require("brms") #' library(performance) -#' if (require("rstanarm") && require("rstantools")) { -#' model <- suppressWarnings(stan_glm( -#' mpg ~ wt + cyl, -#' data = mtcars, -#' chains = 1, -#' iter = 500, -#' refresh = 0, -#' show_messages = FALSE -#' )) -#' r2_bayes(model) +#' \donttest{ +#' model <- suppressWarnings(rstanarm::stan_glm( +#' mpg ~ wt + cyl, +#' data = mtcars, +#' chains = 1, +#' iter = 500, +#' refresh = 0, +#' show_messages = FALSE +#' )) +#' r2_bayes(model) #' -#' model <- suppressWarnings(stan_lmer( -#' Petal.Length ~ Petal.Width + (1 | Species), -#' data = iris, -#' chains = 1, -#' iter = 500, -#' refresh = 0 -#' )) -#' r2_bayes(model) +#' model <- suppressWarnings(rstanarm::stan_lmer( +#' Petal.Length ~ Petal.Width + (1 | Species), +#' data = iris, +#' chains = 1, +#' iter = 500, +#' refresh = 0 +#' )) +#' r2_bayes(model) #' } #' -#' if (require("BayesFactor")) { -#' BFM <- generalTestBF(mpg ~ qsec + gear, data = mtcars, progress = FALSE) -#' FM <- lmBF(mpg ~ qsec + gear, data = mtcars) +#' BFM <- BayesFactor::generalTestBF(mpg ~ qsec + gear, data = mtcars, progress = FALSE) +#' FM <- BayesFactor::lmBF(mpg ~ qsec + gear, data = mtcars) #' -#' r2_bayes(FM) -#' r2_bayes(BFM[3]) -#' r2_bayes(BFM, average = TRUE) # across all models +#' r2_bayes(FM) +#' r2_bayes(BFM[3]) +#' r2_bayes(BFM, average = TRUE) # across all models #' -#' # with random effects: -#' mtcars$gear <- factor(mtcars$gear) -#' model <- lmBF( -#' mpg ~ hp + cyl + gear + gear:wt, -#' mtcars, -#' progress = FALSE, -#' whichRandom = c("gear", "gear:wt") -#' ) +#' # with random effects: +#' mtcars$gear <- factor(mtcars$gear) +#' model <- BayesFactor::lmBF( +#' mpg ~ hp + cyl + gear + gear:wt, +#' mtcars, +#' progress = FALSE, +#' whichRandom = c("gear", "gear:wt") +#' ) #' -#' r2_bayes(model) -#' } +#' r2_bayes(model) #' #' \donttest{ -#' if (require("brms")) { -#' model <- suppressWarnings(brms::brm( -#' mpg ~ wt + cyl, -#' data = mtcars, -#' silent = 2, -#' refresh = 0 -#' )) -#' r2_bayes(model) +#' model <- suppressWarnings(brms::brm( +#' mpg ~ wt + cyl, +#' data = mtcars, +#' silent = 2, +#' refresh = 0 +#' )) +#' r2_bayes(model) #' -#' model <- suppressWarnings(brms::brm( -#' Petal.Length ~ Petal.Width + (1 | Species), -#' data = iris, -#' silent = 2, -#' refresh = 0 -#' )) -#' r2_bayes(model) -#' } +#' model <- suppressWarnings(brms::brm( +#' Petal.Length ~ Petal.Width + (1 | Species), +#' data = iris, +#' silent = 2, +#' refresh = 0 +#' )) +#' r2_bayes(model) #' } #' @references #' Gelman, A., Goodrich, B., Gabry, J., and Vehtari, A. (2018). @@ -114,7 +110,7 @@ r2_bayes <- function(model, robust = TRUE, ci = 0.95, verbose = TRUE, ...) { mean(i) } }), - "SE" = rapply(r2_bayesian, function(i) { + SE = rapply(r2_bayesian, function(i) { if (robust) { stats::mad(i) } else { @@ -122,9 +118,9 @@ r2_bayes <- function(model, robust = TRUE, ci = 0.95, verbose = TRUE, ...) { } }), # "Estimates" = rapply(r2_bayesian, bayestestR::point_estimate, centrality = "all", dispersion = TRUE), - "CI" = rapply(r2_bayesian, bayestestR::hdi, ci = ci), - "ci_method" = "HDI", - "robust" = robust + CI = rapply(r2_bayesian, bayestestR::hdi, ci = ci), + ci_method = "HDI", + robust = robust ) } else { structure( @@ -136,17 +132,17 @@ r2_bayes <- function(model, robust = TRUE, ci = 0.95, verbose = TRUE, ...) { mean(i) } }), - "SE" = lapply(r2_bayesian, function(i) { + SE = lapply(r2_bayesian, function(i) { if (robust) { stats::mad(i) } else { stats::sd(i) } }), - # "Estimates" = lapply(r2_bayesian, bayestestR::point_estimate, centrality = "all", dispersion = TRUE), - "CI" = lapply(r2_bayesian, bayestestR::hdi, ci = ci), - "ci_method" = "HDI", - "robust" = robust + # Estimates = lapply(r2_bayesian, bayestestR::point_estimate, centrality = "all", dispersion = TRUE), + CI = lapply(r2_bayesian, bayestestR::hdi, ci = ci), + ci_method = "HDI", + robust = robust ) } } @@ -178,13 +174,13 @@ r2_posterior.brmsfit <- function(model, verbose = TRUE, ...) { res <- insight::find_response(model) if (mi[[1]]$is_mixed) { br2_mv <- list( - "R2_Bayes" = rstantools::bayes_R2( + R2_Bayes = rstantools::bayes_R2( model, re.form = NULL, re_formula = NULL, summary = FALSE ), - "R2_Bayes_marginal" = rstantools::bayes_R2( + R2_Bayes_marginal = rstantools::bayes_R2( model, re.form = NA, re_formula = NA, @@ -193,28 +189,28 @@ r2_posterior.brmsfit <- function(model, verbose = TRUE, ...) { ) br2 <- lapply(seq_along(res), function(x) { list( - "R2_Bayes" = unname(as.vector(br2_mv$R2_Bayes[, x])), - "R2_Bayes_marginal" = unname(as.vector(br2_mv$R2_Bayes_marginal[, x])) + R2_Bayes = unname(as.vector(br2_mv$R2_Bayes[, x])), + R2_Bayes_marginal = unname(as.vector(br2_mv$R2_Bayes_marginal[, x])) ) }) names(br2) <- res } else { - br2_mv <- list("R2_Bayes" = rstantools::bayes_R2(model, summary = FALSE)) + br2_mv <- list(R2_Bayes = rstantools::bayes_R2(model, summary = FALSE)) br2 <- lapply(seq_along(res), function(x) { - list("R2_Bayes" = unname(as.vector(br2_mv$R2_Bayes[, x]))) + list(R2_Bayes = unname(as.vector(br2_mv$R2_Bayes[, x]))) }) names(br2) <- res } } else { if (mi$is_mixed) { br2 <- list( - "R2_Bayes" = as.vector(rstantools::bayes_R2( + R2_Bayes = as.vector(rstantools::bayes_R2( model, re.form = NULL, re_formula = NULL, summary = FALSE )), - "R2_Bayes_marginal" = as.vector(rstantools::bayes_R2( + R2_Bayes_marginal = as.vector(rstantools::bayes_R2( model, re.form = NA, re_formula = NA, @@ -224,7 +220,7 @@ r2_posterior.brmsfit <- function(model, verbose = TRUE, ...) { names(br2$R2_Bayes) <- rep("Conditional R2", length(br2$R2_Bayes)) names(br2$R2_Bayes_marginal) <- rep("Marginal R2", length(br2$R2_Bayes)) } else { - br2 <- list("R2_Bayes" = as.vector(rstantools::bayes_R2(model, summary = FALSE))) + br2 <- list(R2_Bayes = as.vector(rstantools::bayes_R2(model, summary = FALSE))) names(br2$R2_Bayes) <- rep("R2", length(br2$R2_Bayes)) } } @@ -339,10 +335,10 @@ r2_posterior.BFBayesFactor <- function(model, # Compute posterior model probabilities - if (!is.null(prior_odds)) { - prior_odds <- c(1, prior_odds) - } else { + if (is.null(prior_odds)) { prior_odds <- rep(1, nrow(BFMods)) + } else { + prior_odds <- c(1, prior_odds) } posterior_odds <- prior_odds * BFMods$BF posterior_odds <- posterior_odds[-1] / posterior_odds[1] @@ -416,7 +412,7 @@ as.data.frame.r2_bayes <- function(x, ...) { if (utils::packageVersion("BayesFactor") < package_version("0.9.12.4.3")) { insight::format_error("R2 for BayesFactor models with random effects requires BayesFactor v0.9.12.4.3 or higher.") } - insight::format_error("Woops, you seem to have stumbled on some weird edge case. Please file an issue at {.url https://github.com/easystats/performance/issues}") + insight::format_error("Woops, you seem to have stumbled on some weird edge case. Please file an issue at {.url https://github.com/easystats/performance/issues}") # nolint } out <- list( diff --git a/man/binned_residuals.Rd b/man/binned_residuals.Rd index 33e710f11..632e2a050 100644 --- a/man/binned_residuals.Rd +++ b/man/binned_residuals.Rd @@ -13,6 +13,7 @@ binned_residuals( ci_type = c("exact", "gaussian", "boot"), residuals = c("deviance", "pearson", "response"), iterations = 1000, + verbose = TRUE, ... ) } @@ -51,6 +52,8 @@ available.} \item{iterations}{Integer, the number of iterations to use for the bootstrap method. Only used if \code{ci_type = "boot"}.} +\item{verbose}{Toggle warnings and messages.} + \item{...}{Currently not used.} } \value{ diff --git a/man/looic.Rd b/man/looic.Rd index 742ac3482..7f985f4a2 100644 --- a/man/looic.Rd +++ b/man/looic.Rd @@ -22,6 +22,7 @@ indicative of a better fit. } \examples{ \dontshow{if (require("rstanarm")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +\donttest{ model <- suppressWarnings(rstanarm::stan_glm( mpg ~ wt + cyl, data = mtcars, @@ -30,5 +31,6 @@ model <- suppressWarnings(rstanarm::stan_glm( refresh = 0 )) looic(model) +} \dontshow{\}) # examplesIf} } diff --git a/man/r2_bayes.Rd b/man/r2_bayes.Rd index 63b082e08..edc78150e 100644 --- a/man/r2_bayes.Rd +++ b/man/r2_bayes.Rd @@ -62,67 +62,65 @@ R2 takes both the fixed and random effects into account. returns a posterior sample of Bayesian R2 values. } \examples{ +\dontshow{if (require("rstanarm") && require("rstantools") && require("BayesFactor") && require("brms")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} library(performance) -if (require("rstanarm") && require("rstantools")) { - model <- suppressWarnings(stan_glm( - mpg ~ wt + cyl, - data = mtcars, - chains = 1, - iter = 500, - refresh = 0, - show_messages = FALSE - )) - r2_bayes(model) - - model <- suppressWarnings(stan_lmer( - Petal.Length ~ Petal.Width + (1 | Species), - data = iris, - chains = 1, - iter = 500, - refresh = 0 - )) - r2_bayes(model) +\donttest{ +model <- suppressWarnings(rstanarm::stan_glm( + mpg ~ wt + cyl, + data = mtcars, + chains = 1, + iter = 500, + refresh = 0, + show_messages = FALSE +)) +r2_bayes(model) + +model <- suppressWarnings(rstanarm::stan_lmer( + Petal.Length ~ Petal.Width + (1 | Species), + data = iris, + chains = 1, + iter = 500, + refresh = 0 +)) +r2_bayes(model) } -if (require("BayesFactor")) { - BFM <- generalTestBF(mpg ~ qsec + gear, data = mtcars, progress = FALSE) - FM <- lmBF(mpg ~ qsec + gear, data = mtcars) +BFM <- BayesFactor::generalTestBF(mpg ~ qsec + gear, data = mtcars, progress = FALSE) +FM <- BayesFactor::lmBF(mpg ~ qsec + gear, data = mtcars) - r2_bayes(FM) - r2_bayes(BFM[3]) - r2_bayes(BFM, average = TRUE) # across all models +r2_bayes(FM) +r2_bayes(BFM[3]) +r2_bayes(BFM, average = TRUE) # across all models - # with random effects: - mtcars$gear <- factor(mtcars$gear) - model <- lmBF( - mpg ~ hp + cyl + gear + gear:wt, - mtcars, - progress = FALSE, - whichRandom = c("gear", "gear:wt") - ) +# with random effects: +mtcars$gear <- factor(mtcars$gear) +model <- BayesFactor::lmBF( + mpg ~ hp + cyl + gear + gear:wt, + mtcars, + progress = FALSE, + whichRandom = c("gear", "gear:wt") +) - r2_bayes(model) -} +r2_bayes(model) \donttest{ -if (require("brms")) { - model <- suppressWarnings(brms::brm( - mpg ~ wt + cyl, - data = mtcars, - silent = 2, - refresh = 0 - )) - r2_bayes(model) - - model <- suppressWarnings(brms::brm( - Petal.Length ~ Petal.Width + (1 | Species), - data = iris, - silent = 2, - refresh = 0 - )) - r2_bayes(model) -} +model <- suppressWarnings(brms::brm( + mpg ~ wt + cyl, + data = mtcars, + silent = 2, + refresh = 0 +)) +r2_bayes(model) + +model <- suppressWarnings(brms::brm( + Petal.Length ~ Petal.Width + (1 | Species), + data = iris, + silent = 2, + refresh = 0 +)) +r2_bayes(model) } +\dontshow{\}) # examplesIf} } \references{ Gelman, A., Goodrich, B., Gabry, J., and Vehtari, A. (2018). diff --git a/tests/testthat/test-binned_residuals.R b/tests/testthat/test-binned_residuals.R index 6f0155092..e23404452 100644 --- a/tests/testthat/test-binned_residuals.R +++ b/tests/testthat/test-binned_residuals.R @@ -155,3 +155,22 @@ test_that("binned_residuals, bootstrapped CI", { tolerance = 1e-4 ) }) + +test_that("binned_residuals, msg for non-bernoulli", { + skip_on_cran() + tot <- rep(10, 100) + suc <- rbinom(100, prob = 0.9, size = tot) + + dat <- data.frame(tot, suc) + dat$prop <- suc / tot + dat$x1 <- as.factor(sample(1:5, 100, replace = TRUE)) + + mod <- glm(prop ~ x1, + family = binomial, + data = dat, + weights = tot + ) + + expect_message(binned_residuals(mod), regex = "Using `ci_type = \"gaussian\"`") + expect_silent(binned_residuals(mod, verbose = FALSE)) +}) diff --git a/tests/testthat/test-check_predictions.R b/tests/testthat/test-check_predictions.R index 61d97f9b9..a840894dc 100644 --- a/tests/testthat/test-check_predictions.R +++ b/tests/testthat/test-check_predictions.R @@ -78,3 +78,53 @@ test_that("check_predictions, glmmTMB", { ) expect_true(attributes(out)$model_info$is_bernoulli) }) + + +test_that("check_predictions, glm, binomial", { + skip_if(packageVersion("insight") <= "0.19.6") + data(mtcars) + set.seed(1) + tot <- rep(10, 100) + suc <- rbinom(100, prob = 0.9, size = tot) + dat <- data.frame(tot, suc) + dat$prop <- suc / tot + + mod1 <- glm(cbind(suc, tot - suc) ~ 1, + family = binomial, + data = dat + ) + + mod2 <- glm(prop ~ 1, + family = binomial, + data = dat, + weights = tot + ) + + mod3 <- glm(cbind(suc, tot) ~ 1, + family = binomial, + data = dat + ) + + mod4 <- glm(am ~ 1, + family = binomial, + data = mtcars + ) + + set.seed(1) + out1 <- check_predictions(mod1) + set.seed(1) + out2 <- check_predictions(mod2) + set.seed(1) + out3 <- check_predictions(mod3) + set.seed(1) + out4 <- check_predictions(mod4) + + expect_equal(head(out1$sim_1), c(1, 0.9, 0.9, 0.8, 1, 0.8), tolerance = 1e-4) + expect_false(attributes(out1)$model_info$is_bernoulli) + expect_equal(head(out2$sim_1), c(1, 0.9, 0.9, 0.8, 1, 0.8), tolerance = 1e-4) + expect_false(attributes(out2)$model_info$is_bernoulli) + expect_equal(head(out3$sim_1), c(0.4, 0.42105, 0.47368, 0.61111, 0.4, 0.61111), tolerance = 1e-3) + expect_false(attributes(out3)$model_info$is_bernoulli) + expect_equal(head(out4$sim_1), c(0, 0, 0, 1, 0, 1), tolerance = 1e-4) + expect_true(attributes(out4)$model_info$is_bernoulli) +}) From 90eb9fc6e1f44d309ce2bd993e8c423614c8b157 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 30 Oct 2023 10:24:34 +0100 Subject: [PATCH 019/100] CRAN submission 0_10_8 (#647) --- CRAN-SUBMISSION | 6 +++--- DESCRIPTION | 3 +-- NEWS.md | 3 +++ cran-comments.md | 2 +- tests/testthat/test-binned_residuals.R | 1 + 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CRAN-SUBMISSION b/CRAN-SUBMISSION index a6bc7c4f2..b1f325ddd 100644 --- a/CRAN-SUBMISSION +++ b/CRAN-SUBMISSION @@ -1,3 +1,3 @@ -Version: 0.10.7 -Date: 2023-10-27 11:27:48 UTC -SHA: 81d81529d46cf7b96f31c60a17044531ff697aab +Version: 0.10.8 +Date: 2023-10-29 16:13:36 UTC +SHA: c94741704caad7b8cde589e941af5d2f2826e6c2 diff --git a/DESCRIPTION b/DESCRIPTION index 0612d8264..2e5268cc5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.7.2 +Version: 0.10.8 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -153,4 +153,3 @@ Config/Needs/website: r-lib/pkgdown, easystats/easystatstemplate Config/rcmdcheck/ignore-inconsequential-notes: true -Remotes: easystats/insight diff --git a/NEWS.md b/NEWS.md index 6209f55b8..ef14fc9f8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -11,6 +11,9 @@ * Fixed CRAN check errors. +* Fixed issue with `binned_residuals()` for models with binomial family, where + the outcome was a proportion. + # performance 0.10.7 ## Breaking changes diff --git a/cran-comments.md b/cran-comments.md index d044c232a..2dec3e271 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1 +1 @@ -This release fixes CRAN check errors. We checked all reverse dependencies, comparing R CMD check results across CRAN and dev versions of this package and saw no new problems. \ No newline at end of file +Hot fix release that fixes CRAN check errors. \ No newline at end of file diff --git a/tests/testthat/test-binned_residuals.R b/tests/testthat/test-binned_residuals.R index e23404452..ae2822d0d 100644 --- a/tests/testthat/test-binned_residuals.R +++ b/tests/testthat/test-binned_residuals.R @@ -158,6 +158,7 @@ test_that("binned_residuals, bootstrapped CI", { test_that("binned_residuals, msg for non-bernoulli", { skip_on_cran() + skip_if(packageVersion("insight") < "0.19.7") tot <- rep(10, 100) suc <- rbinom(100, prob = 0.9, size = tot) From 49fb9b2481ab21ef755f132fc1114aad9d6552f2 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 30 Oct 2023 10:25:37 +0100 Subject: [PATCH 020/100] bump to dev --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 2e5268cc5..967840b9b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8 +Version: 0.10.8.1 Authors@R: c(person(given = "Daniel", family = "Lüdecke", From 18827e81aa6f1362f33873a0183887f1f0274b5f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 4 Nov 2023 10:05:03 +0100 Subject: [PATCH 021/100] Update `DESCRIPTION` to use latest 'easystats' dependencies (#649) Co-authored-by: IndrajeetPatil --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 967840b9b..15478dcc7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -70,7 +70,7 @@ Depends: R (>= 3.6) Imports: bayestestR (>= 0.13.1), - insight (>= 0.19.5), + insight (>= 0.19.6), datawizard (>= 0.9.0), methods, stats, From 750b68700bea58341494bd3b89d336fb24946060 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 22 Nov 2023 08:44:13 +0100 Subject: [PATCH 022/100] performance::r2_nakagawa() and r.squaredGLMM() give different values for Gaussian glmmTMB models without random effects (#653) --- DESCRIPTION | 2 +- NAMESPACE | 2 + NEWS.md | 5 +++ R/check_clusterstructure.R | 21 ++++------ R/check_collinearity.R | 42 +++++++++---------- R/check_distribution.R | 7 ++-- R/check_factorstructure.R | 54 +++++++++++------------- R/r2.R | 72 ++++++++++++++++++++++++++++++-- R/r2_coxsnell.R | 25 +++++++++++ R/r2_nagelkerke.R | 29 +++++++++++++ tests/testthat/test-pkg-fixest.R | 38 ++++++++++------- tests/testthat/test-r2.R | 21 ++++++++++ 12 files changed, 233 insertions(+), 85 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 15478dcc7..a952f9cd9 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.1 +Version: 0.10.8.2 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NAMESPACE b/NAMESPACE index e573d5ce0..0bb599f64 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -407,6 +407,7 @@ S3method(r2_coxsnell,coxph) S3method(r2_coxsnell,cpglm) S3method(r2_coxsnell,crch) S3method(r2_coxsnell,glm) +S3method(r2_coxsnell,glmmTMB) S3method(r2_coxsnell,glmx) S3method(r2_coxsnell,logitmfx) S3method(r2_coxsnell,logitor) @@ -463,6 +464,7 @@ S3method(r2_nagelkerke,coxph) S3method(r2_nagelkerke,cpglm) S3method(r2_nagelkerke,crch) S3method(r2_nagelkerke,glm) +S3method(r2_nagelkerke,glmmTMB) S3method(r2_nagelkerke,glmx) S3method(r2_nagelkerke,logitmfx) S3method(r2_nagelkerke,logitor) diff --git a/NEWS.md b/NEWS.md index ef14fc9f8..98805e5e6 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,8 @@ +# performance 0.10.9 + +* `r2()` for models of class `glmmTMB` without random effects now returns the + correct r-squared value for non-mixed models. + # performance 0.10.8 ## Changes diff --git a/R/check_clusterstructure.R b/R/check_clusterstructure.R index 46929b615..8a80c7b8f 100644 --- a/R/check_clusterstructure.R +++ b/R/check_clusterstructure.R @@ -47,14 +47,14 @@ check_clusterstructure <- function(x, H <- .clusterstructure_hopkins(x, distance = distance) if (H < 0.5) { - text <- paste0( + res_text <- paste0( "The dataset is suitable for clustering (Hopkins' H = ", insight::format_value(H), ").\n" ) color <- "green" } else { - text <- paste0( + res_text <- paste0( "The dataset is not suitable for clustering (Hopkins' H = ", insight::format_value(H), ").\n" @@ -67,7 +67,7 @@ check_clusterstructure <- function(x, dissimilarity_matrix = .clusterstructure_dm(x, distance = distance, method = "ward.D2") ) - attr(out, "text") <- text + attr(out, "text") <- res_text attr(out, "color") <- color attr(out, "title") <- "Clustering tendency" class(out) <- c("see_check_clusterstructure", "check_clusterstructure", "easystats_check", class(out)) @@ -107,35 +107,32 @@ plot.check_clusterstructure <- function(x, ...) { n <- nrow(x) - 1 - c <- apply(x, 2, min) # minimum value per column + cc <- apply(x, 2, min) # minimum value per column d <- apply(x, 2, max) p <- matrix(0, ncol = ncol(x), nrow = n) # n vectors of space for (i in seq_len(ncol(x))) { - p[, i] <- stats::runif(n, min = c[i], max = d[i]) + p[, i] <- stats::runif(n, min = cc[i], max = d[i]) } k <- round(stats::runif(n, 1, nrow(x))) - q <- as.matrix(x[k, ]) + qq <- as.matrix(x[k, ]) distp <- rep(0, nrow(x)) - # distq=rep(0,nrow(x)-1) distq <- 0 minp <- rep(0, n) minq <- rep(0, n) for (i in 1:n) { distp[1] <- stats::dist(rbind(p[i, ], x[1, ]), method = distance) - minqi <- stats::dist(rbind(q[i, ], x[1, ]), method = distance) + minqi <- stats::dist(rbind(qq[i, ], x[1, ]), method = distance) for (j in 2:nrow(x)) { distp[j] <- stats::dist(rbind(p[i, ], x[j, ]), method = distance) - error <- q[i, ] - x[j, ] + error <- qq[i, ] - x[j, ] if (sum(abs(error)) != 0) { - # distq[j]<-stats::dist(rbind(q[i,],x[j,])) - distq <- stats::dist(rbind(q[i, ], x[j, ]), method = distance) + distq <- stats::dist(rbind(qq[i, ], x[j, ]), method = distance) if (distq < minqi) { minqi <- distq } } } minp[i] <- min(distp) - # minq[i]<-apply(distq,1,min) minq[i] <- minqi } sum(minq) / (sum(minp) + sum(minq)) diff --git a/R/check_collinearity.R b/R/check_collinearity.R index fed6fbf60..703b25f2c 100644 --- a/R/check_collinearity.R +++ b/R/check_collinearity.R @@ -405,10 +405,10 @@ check_collinearity.zerocount <- function(x, .check_collinearity <- function(x, component, ci = 0.95, verbose = TRUE) { v <- insight::get_varcov(x, component = component, verbose = FALSE) - assign <- .term_assignments(x, component, verbose = verbose) + term_assign <- .term_assignments(x, component, verbose = verbose) # any assignment found? - if (is.null(assign) || all(is.na(assign))) { + if (is.null(term_assign) || all(is.na(term_assign))) { if (verbose) { insight::format_alert( sprintf("Could not extract model terms for the %s component of the model.", component) @@ -420,7 +420,7 @@ check_collinearity.zerocount <- function(x, # we have rank-deficiency here. remove NA columns from assignment if (isTRUE(attributes(v)$rank_deficient) && !is.null(attributes(v)$na_columns_index)) { - assign <- assign[-attributes(v)$na_columns_index] + term_assign <- term_assign[-attributes(v)$na_columns_index] if (isTRUE(verbose)) { insight::format_alert( "Model matrix is rank deficient. VIFs may not be sensible." @@ -431,7 +431,7 @@ check_collinearity.zerocount <- function(x, # check for missing intercept if (insight::has_intercept(x)) { v <- v[-1, -1] - assign <- assign[-1] + term_assign <- term_assign[-1] } else { if (isTRUE(verbose)) { insight::format_alert("Model has no intercept. VIFs may not be sensible.") @@ -443,22 +443,22 @@ check_collinearity.zerocount <- function(x, # hurdle or zeroinfl model can have no zero-inflation formula, in which case # we have the same formula as for conditional formula part if (inherits(x, c("hurdle", "zeroinfl", "zerocount")) && - component == "zero_inflated" && - is.null(f[["zero_inflated"]])) { + component == "zero_inflated" && + is.null(f[["zero_inflated"]])) { f$zero_inflated <- f$conditional } if (inherits(x, "mixor")) { - terms <- labels(x$terms) + model_terms <- labels(x$terms) } else { - terms <- labels(stats::terms(f[[component]])) + model_terms <- labels(stats::terms(f[[component]])) } if ("instruments" %in% names(f)) { - terms <- unique(c(terms, labels(stats::terms(f[["instruments"]])))) + model_terms <- unique(c(model_terms, labels(stats::terms(f[["instruments"]])))) } - n.terms <- length(terms) + n.terms <- length(model_terms) if (n.terms < 2) { if (isTRUE(verbose)) { @@ -476,7 +476,7 @@ check_collinearity.zerocount <- function(x, na_terms <- vector("numeric") for (term in 1:n.terms) { - subs <- which(assign == term) + subs <- which(term_assign == term) if (length(subs)) { result <- c( result, @@ -489,7 +489,7 @@ check_collinearity.zerocount <- function(x, # any terms to remove, due to rank deficiency? if (length(na_terms)) { - terms <- terms[-na_terms] + model_terms <- model_terms[-na_terms] } # check for interactions, VIF might be inflated... @@ -522,7 +522,7 @@ check_collinearity.zerocount <- function(x, out <- insight::text_remove_backticks( data.frame( - Term = terms, + Term = model_terms, VIF = result, VIF_CI_low = 1 / (1 - ci_lo), VIF_CI_high = 1 / (1 - ci_up), @@ -538,7 +538,7 @@ check_collinearity.zerocount <- function(x, attr(out, "data") <- insight::text_remove_backticks( data.frame( - Term = terms, + Term = model_terms, VIF = result, SE_factor = sqrt(result), stringsAsFactors = FALSE @@ -564,29 +564,29 @@ check_collinearity.zerocount <- function(x, tryCatch( { if (inherits(x, c("hurdle", "zeroinfl", "zerocount"))) { - assign <- switch(component, + term_assign <- switch(component, conditional = attr(insight::get_modelmatrix(x, model = "count"), "assign"), zero_inflated = attr(insight::get_modelmatrix(x, model = "zero"), "assign") ) } else if (inherits(x, "glmmTMB")) { - assign <- switch(component, + term_assign <- switch(component, conditional = attr(insight::get_modelmatrix(x), "assign"), zero_inflated = .zi_term_assignment(x, component, verbose = verbose) ) } else if (inherits(x, "MixMod")) { - assign <- switch(component, + term_assign <- switch(component, conditional = attr(insight::get_modelmatrix(x, type = "fixed"), "assign"), zero_inflated = attr(insight::get_modelmatrix(x, type = "zi_fixed"), "assign") ) } else { - assign <- attr(insight::get_modelmatrix(x), "assign") + term_assign <- attr(insight::get_modelmatrix(x), "assign") } - if (is.null(assign)) { - assign <- .find_term_assignment(x, component, verbose = verbose) + if (is.null(term_assign)) { + term_assign <- .find_term_assignment(x, component, verbose = verbose) } - assign + term_assign }, error = function(e) { .find_term_assignment(x, component, verbose = verbose) diff --git a/R/check_distribution.R b/R/check_distribution.R index 9aa1b244a..80f947f1f 100644 --- a/R/check_distribution.R +++ b/R/check_distribution.R @@ -77,7 +77,6 @@ check_distribution.default <- function(model) { } else { x <- stats::residuals(model) } - # x_scaled <- .normalize(x) dat <- .extract_features(x) dist_residuals <- as.data.frame(t(stats::predict(classify_distribution, dat, type = "prob"))) @@ -171,11 +170,11 @@ check_distribution.numeric <- function(model) { insight::check_if_installed("randomForest") dat <- .extract_features(model) - dist <- as.data.frame(t(stats::predict(classify_distribution, dat, type = "prob"))) + distance <- as.data.frame(t(stats::predict(classify_distribution, dat, type = "prob"))) out <- data.frame( - Distribution = rownames(dist), - p_Vector = dist[[1]], + Distribution = rownames(distance), + p_Vector = distance[[1]], stringsAsFactors = FALSE, row.names = NULL ) diff --git a/R/check_factorstructure.R b/R/check_factorstructure.R index 691bce154..644cd1cf6 100644 --- a/R/check_factorstructure.R +++ b/R/check_factorstructure.R @@ -95,7 +95,7 @@ check_factorstructure <- function(x, n = NULL, ...) { kmo <- check_kmo(x, n, ...) sphericity <- check_sphericity_bartlett(x, n, ...) - text <- paste0("\n - Sphericity: ", attributes(sphericity)$text, "\n - KMO: ", attributes(kmo)$text) + res_text <- paste0("\n - Sphericity: ", attributes(sphericity)$text, "\n - KMO: ", attributes(kmo)$text) if (attributes(kmo)$color == "red" || attributes(sphericity)$color == "red") { color <- "red" @@ -105,7 +105,7 @@ check_factorstructure <- function(x, n = NULL, ...) { out <- list(KMO = kmo, sphericity = sphericity) - attr(out, "text") <- text + attr(out, "text") <- res_text attr(out, "color") <- color attr(out, "title") <- "Is the data suitable for Factor Analysis?" class(out) <- c("easystats_check", class(out)) @@ -136,18 +136,16 @@ check_kmo <- function(x, n = NULL, ...) { # TODO: add interpret_kmo in effectsize and use that here for more fine-grained interpretation if (MSA < 0.5) { - text <- - sprintf( - "The Kaiser, Meyer, Olkin (KMO) overall measure of sampling adequacy suggests that factor analysis is likely to be inappropriate (KMO = %.2f).", - MSA - ) + msg_text <- sprintf( + "The Kaiser, Meyer, Olkin (KMO) overall measure of sampling adequacy suggests that factor analysis is likely to be inappropriate (KMO = %.2f).", # nolint + MSA + ) color <- "red" } else { - text <- - sprintf( - "The Kaiser, Meyer, Olkin (KMO) overall measure of sampling adequacy suggests that data seems appropriate for factor analysis (KMO = %.2f).", - MSA - ) + msg_text <- sprintf( + "The Kaiser, Meyer, Olkin (KMO) overall measure of sampling adequacy suggests that data seems appropriate for factor analysis (KMO = %.2f).", # nolint + MSA + ) color <- "green" } @@ -160,9 +158,9 @@ check_kmo <- function(x, n = NULL, ...) { ")" )) - text <- paste0(text, " The individual KMO scores are: ", text_ind, ".") + msg_text <- paste0(msg_text, " The individual KMO scores are: ", text_ind, ".") - attr(out, "text") <- text + attr(out, "text") <- msg_text attr(out, "color") <- color attr(out, "title") <- "KMO Measure of Sampling Adequacy" class(out) <- c("easystats_check", class(out)) @@ -189,26 +187,24 @@ check_sphericity_bartlett <- function(x, n = NULL, ...) { out <- list(chisq = statistic, p = pval, dof = df) if (pval < 0.001) { - text <- - sprintf( - "Bartlett's test of sphericity suggests that there is sufficient significant correlation in the data for factor analysis (Chisq(%i) = %.2f, %s).", - df, - statistic, - insight::format_p(pval) - ) + msg_text <- sprintf( + "Bartlett's test of sphericity suggests that there is sufficient significant correlation in the data for factor analysis (Chisq(%i) = %.2f, %s).", # nolint + df, + statistic, + insight::format_p(pval) + ) color <- "green" } else { - text <- - sprintf( - "Bartlett's test of sphericity suggests that there is not enough significant correlation in the data for factor analysis (Chisq(%i) = %.2f, %s).", - df, - statistic, - insight::format_p(pval) - ) + msg_text <- sprintf( + "Bartlett's test of sphericity suggests that there is not enough significant correlation in the data for factor analysis (Chisq(%i) = %.2f, %s).", # nolint + df, + statistic, + insight::format_p(pval) + ) color <- "red" } - attr(out, "text") <- text + attr(out, "text") <- msg_text attr(out, "color") <- color attr(out, "title") <- "Test of Sphericity" class(out) <- c("easystats_check", class(out)) diff --git a/R/r2.R b/R/r2.R index c844f22cd..f1399ce0d 100644 --- a/R/r2.R +++ b/R/r2.R @@ -467,9 +467,6 @@ r2.merMod <- function(model, ci = NULL, tolerance = 1e-5, ...) { r2_nakagawa(model, ci = ci, tolerance = tolerance, ...) } -#' @export -r2.glmmTMB <- r2.merMod - #' @export r2.cpglmm <- r2.merMod @@ -491,6 +488,33 @@ r2.MixMod <- r2.merMod #' @export r2.rlmerMod <- r2.merMod +#' @export +r2.glmmTMB <- function(model, ci = NULL, tolerance = 1e-5, verbose = TRUE, ...) { + if (insight::is_mixed_model(model)) { + return(r2_nakagawa(model, ci = ci, tolerance = tolerance, ...)) + } else { + if (!is.null(ci) && !is.na(ci)) { + return(.r2_ci(model, ci = ci, ...)) + } + info <- insight::model_info(model, verbose = FALSE) + if (info$is_linear) { + out <- .safe(.r2_lm_manual(model)) + } else if (info$is_logit && info$is_bernoulli) { + out <- list(R2_Tjur = r2_tjur(model, model_info = info, ...)) + attr(out, "model_type") <- "Logistic" + names(out$R2_Tjur) <- "Tjur's R2" + class(out) <- c("r2_pseudo", class(out)) + } else if (info$is_binomial && !info$is_bernoulli) { + if (verbose) { + insight::format_warning("Can't calculate accurate R2 for binomial models that are not Bernoulli models.") + } + out <- NULL + } else { + insight::format_error("`r2()` does not support models of class `glmmTMB` without random effects and this link-function.") # nolint + } + } + out +} #' @export r2.wbm <- function(model, tolerance = 1e-5, ...) { @@ -840,3 +864,45 @@ r2.DirichletRegModel <- function(model, ...) { } ci } + + +.r2_lm_manual <- function(model) { + w <- insight::get_weights(model, verbose = FALSE) + r <- stats::residuals(model) + f <- stats::fitted(model) + n <- length(r) + rdf <- .safe(stats::df.residual(model)) + df_int <- .safe(as.numeric(insight::has_intercept(model))) + + if (insight::has_intercept(model)) { + if (is.null(w)) { + mss <- sum((f - mean(f))^2) + } else { + m <- sum(w * f / sum(w)) + mss <- sum(w * (f - m)^2) + } + } else { + if (is.null(w)) { + mss <- sum(f^2) + } else { + mss <- sum(w * f^2) + } + } + if (is.null(w)) { + rss <- sum(r^2) + } else { + rss <- sum(w * r^2) + } + r_squared <- mss / (mss + rss) + if (is.null(df_int) || is.null(rdf)) { + adj_r2 <- NULL + } else { + adj_r2 <- 1 - (1 - r_squared) * ((n - df_int) / rdf) + } + out <- list(R2 = r_squared, R2_adjusted = adj_r2) + + names(out$R2) <- "R2" + names(out$R2_adjusted) <- "adjusted R2" + attr(out, "model_type") <- "Linear" + structure(class = "r2_generic", out) +} diff --git a/R/r2_coxsnell.R b/R/r2_coxsnell.R index cdb73dea7..d56803f5c 100644 --- a/R/r2_coxsnell.R +++ b/R/r2_coxsnell.R @@ -89,6 +89,31 @@ r2_coxsnell.glm <- function(model, verbose = TRUE, ...) { r2_coxsnell.BBreg <- r2_coxsnell.glm +#' @export +r2_coxsnell.glmmTMB <- function(model, verbose = TRUE, ...) { + info <- list(...)$model_info + if (is.null(info)) { + info <- suppressWarnings(insight::model_info(model, verbose = FALSE)) + } + if (info$is_binomial && !info$is_bernoulli) { + if (verbose) { + insight::format_alert("Can't calculate accurate R2 for binomial models that are not Bernoulli models.") + } + return(NULL) + } else { + dev <- stats::deviance(model) + # if no deviance, return NA + if (is.null(dev)) { + return(NULL) + } + null_dev <- stats::deviance(insight::null_model(model)) + r2_coxsnell <- (1 - exp((dev - null_dev) / insight::n_obs(model, disaggregate = TRUE))) + names(r2_coxsnell) <- "Cox & Snell's R2" + r2_coxsnell + } +} + + #' @export r2_coxsnell.nestedLogit <- function(model, ...) { n <- insight::n_obs(model, disaggregate = TRUE) diff --git a/R/r2_nagelkerke.R b/R/r2_nagelkerke.R index 85bcc6e8f..f476c2e0c 100644 --- a/R/r2_nagelkerke.R +++ b/R/r2_nagelkerke.R @@ -78,6 +78,35 @@ r2_nagelkerke.glm <- function(model, verbose = TRUE, ...) { r2_nagelkerke.BBreg <- r2_nagelkerke.glm +#' @export +r2_nagelkerke.glmmTMB <- function(model, verbose = TRUE, ...) { + info <- list(...)$model_info + if (is.null(info)) { + info <- suppressWarnings(insight::model_info(model, verbose = FALSE)) + } + if (info$is_binomial && !info$is_bernoulli) { + if (verbose) { + insight::format_warning("Can't calculate accurate R2 for binomial models that are not Bernoulli models.") + } + return(NULL) + } else { + dev <- stats::deviance(model) + # if no deviance, return NA + if (is.null(dev)) { + return(NULL) + } + null_dev <- stats::deviance(insight::null_model(model)) + r2cox <- (1 - exp((dev - null_dev) / insight::n_obs(model, disaggregate = TRUE))) + if (is.na(r2cox) || is.null(r2cox)) { + return(NULL) + } + r2_nagelkerke <- r2cox / (1 - exp(-null_dev / insight::n_obs(model, disaggregate = TRUE))) + names(r2_nagelkerke) <- "Nagelkerke's R2" + r2_nagelkerke + } +} + + #' @export r2_nagelkerke.nestedLogit <- function(model, ...) { n <- insight::n_obs(model, disaggregate = TRUE) diff --git a/tests/testthat/test-pkg-fixest.R b/tests/testthat/test-pkg-fixest.R index dd851f360..8a187e33b 100644 --- a/tests/testthat/test-pkg-fixest.R +++ b/tests/testthat/test-pkg-fixest.R @@ -1,21 +1,23 @@ -base <- iris -names(base) <- c("y1", "y2", "x1", "x2", "species") +base_iris <- iris +names(base_iris) <- c("y1", "y2", "x1", "x2", "species") test_that("fixest: r2", { skip_if_not_installed("fixest") - res <- fixest::feols(y1 ~ x1 + x2 + x2^2 | species, base) + fixest::setFixest_nthreads(1) + res <- fixest::feols(y1 ~ x1 + x2 + x2^2 | species, base_iris) r2_res <- performance::r2(res) - expect_equal(r2_res$R2, fixest::fitstat(res, "r2")[[1]]) - expect_equal(r2_res$R2_adjusted, fixest::fitstat(res, "ar2")[[1]]) - expect_equal(r2_res$R2_within, fixest::fitstat(res, "wr2")[[1]]) - expect_equal(r2_res$R2_within_adjusted, fixest::fitstat(res, "war2")[[1]]) + expect_equal(r2_res$R2, fixest::fitstat(res, "r2")[[1]], ignore_attr = TRUE) + expect_equal(r2_res$R2_adjusted, fixest::fitstat(res, "ar2")[[1]], ignore_attr = TRUE) + expect_equal(r2_res$R2_within, fixest::fitstat(res, "wr2")[[1]], ignore_attr = TRUE) + expect_equal(r2_res$R2_within_adjusted, fixest::fitstat(res, "war2")[[1]], ignore_attr = TRUE) }) test_that("fixest: overdispersion", { skip_if_not_installed("fixest") - res <- fixest::feols(y1 ~ x1 + x2 + x2^2 | species, base) + fixest::setFixest_nthreads(1) + res <- fixest::feols(y1 ~ x1 + x2 + x2^2 | species, base_iris) expect_error( check_overdispersion(res), "can only be used for models from Poisson" @@ -24,14 +26,16 @@ test_that("fixest: overdispersion", { test_that("fixest: outliers", { skip_if_not_installed("fixest") - res <- fixest::feols(y1 ~ x1 + x2 + x2^2 | species, base) + fixest::setFixest_nthreads(1) + res <- fixest::feols(y1 ~ x1 + x2 + x2^2 | species, base_iris) outliers_list <- suppressMessages(check_outliers(res)) expect_identical(attr(outliers_list, "outlier_count"), list()) }) test_that("fixest: model_performance", { skip_if_not_installed("fixest") - res <- fixest::feols(y1 ~ x1 + x2 + x2^2 | species, base) + fixest::setFixest_nthreads(1) + res <- fixest::feols(y1 ~ x1 + x2 + x2^2 | species, base_iris) perf <- model_performance(res) expect_equal(perf$AIC, 107.743, tolerance = 1e-3) expect_equal(perf$BIC, 125.807, tolerance = 1e-3) @@ -47,7 +51,8 @@ test_that("fixest: model_performance", { test_that("fixest_multi: r2", { skip_if_not_installed("fixest") - res <- fixest::feols(c(y1, y2) ~ x1 + csw(x2, x2^2) | species, base) + fixest::setFixest_nthreads(1) + res <- fixest::feols(c(y1, y2) ~ x1 + csw(x2, x2^2) | species, base_iris) r2_res <- performance::r2(res) expect_equal(unname(r2_res[[1]]$R2), 0.837, tolerance = 1e-3) @@ -55,7 +60,8 @@ test_that("fixest_multi: r2", { test_that("fixest_multi: overdispersion", { skip_if_not_installed("fixest") - res <- fixest::feols(c(y1, y2) ~ x1 + csw(x2, x2^2) | species, base) + fixest::setFixest_nthreads(1) + res <- fixest::feols(c(y1, y2) ~ x1 + csw(x2, x2^2) | species, base_iris) expect_error( check_overdispersion(res), "can only be used for models from Poisson" @@ -64,15 +70,17 @@ test_that("fixest_multi: overdispersion", { test_that("fixest_multi: outliers", { skip_if_not_installed("fixest") - res <- fixest::feols(c(y1, y2) ~ x1 + csw(x2, x2^2) | species, base) + fixest::setFixest_nthreads(1) + res <- fixest::feols(c(y1, y2) ~ x1 + csw(x2, x2^2) | species, base_iris) outliers_list <- suppressMessages(check_outliers(res)[[1]]) expect_identical(attr(outliers_list, "outlier_count"), list()) }) test_that("fixest_multi: model_performance", { skip_if_not_installed("fixest") - res <- fixest::feols(c(y1, y2) ~ x1 + csw(x2, x2^2) | species, base) - res2 <- fixest::feols(y1 ~ x1 + x2 + x2^2 | species, base) + fixest::setFixest_nthreads(1) + res <- fixest::feols(c(y1, y2) ~ x1 + csw(x2, x2^2) | species, base_iris) + res2 <- fixest::feols(y1 ~ x1 + x2 + x2^2 | species, base_iris) perf <- model_performance(res) perf2 <- model_performance(res2) expect_identical(perf[[2]], perf2) diff --git a/tests/testthat/test-r2.R b/tests/testthat/test-r2.R index e69198929..069ee9ad2 100644 --- a/tests/testthat/test-r2.R +++ b/tests/testthat/test-r2.R @@ -39,3 +39,24 @@ test_that("r2 glm, ci", { tolerance = 1e-3 ) }) + +test_that("r2 glmmTMB, no ranef", { + skip_if_not_installed("glmmTMB") + data(Owls, package = "glmmTMB") + m <- glmmTMB::glmmTMB(NegPerChick ~ BroodSize + ArrivalTime, data = Owls) + out <- r2(m) + expect_equal(out$R2, 0.05597288, tolerance = 1e-3, ignore_attr = TRUE) + # validate against lm + m2 <- lm(NegPerChick ~ BroodSize + ArrivalTime, data = Owls) + out2 <- r2(m2) + expect_equal(out$R2, out2$R2, tolerance = 1e-3, ignore_attr = TRUE) + # binomial + data(mtcars) + m <- glmmTMB::glmmTMB(am ~ mpg, data = mtcars, family = binomial()) + out <- r2(m) + expect_equal(out[[1]], 0.3677326, tolerance = 1e-3, ignore_attr = TRUE) + # validate against glm + m2 <- glm(am ~ mpg, data = mtcars, family = binomial()) + out2 <- r2(m2) + expect_equal(out[[1]], out[[1]], tolerance = 1e-3, ignore_attr = TRUE) +}) From 56cb24a155a2f99e079e7483cb21bd88892f0c22 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 22 Nov 2023 08:48:44 +0100 Subject: [PATCH 023/100] merge --- R/check_distribution.R | 12 +++--------- R/check_factorstructure.R | 32 +++++++++++++++----------------- 2 files changed, 18 insertions(+), 26 deletions(-) diff --git a/R/check_distribution.R b/R/check_distribution.R index 9aa1b244a..408ffa9b7 100644 --- a/R/check_distribution.R +++ b/R/check_distribution.R @@ -219,14 +219,8 @@ check_distribution.numeric <- function(model) { .is_integer <- function(x) { tryCatch( - expr = { - ifelse(is.infinite(x), FALSE, x %% 1 == 0) - }, - warning = function(w) { - is.integer(x) - }, - error = function(e) { - FALSE - } + ifelse(is.infinite(x), FALSE, x %% 1 == 0), + warning = function(w) is.integer(x), + error = function(e) FALSE ) } diff --git a/R/check_factorstructure.R b/R/check_factorstructure.R index 691bce154..536adcab8 100644 --- a/R/check_factorstructure.R +++ b/R/check_factorstructure.R @@ -183,28 +183,26 @@ check_sphericity_bartlett <- function(x, n = NULL, ...) { detR <- det(out$r) statistic <- -log(detR) * (out$n - 1 - (2 * p + 5) / 6) - df <- p * (p - 1) / 2 - pval <- stats::pchisq(statistic, df, lower.tail = FALSE) + dof <- p * (p - 1) / 2 + pval <- stats::pchisq(statistic, df = dof, lower.tail = FALSE) - out <- list(chisq = statistic, p = pval, dof = df) + out <- list(chisq = statistic, p = pval, dof = dof) if (pval < 0.001) { - text <- - sprintf( - "Bartlett's test of sphericity suggests that there is sufficient significant correlation in the data for factor analysis (Chisq(%i) = %.2f, %s).", - df, - statistic, - insight::format_p(pval) - ) + msg_text <- sprintf( + "Bartlett's test of sphericity suggests that there is sufficient significant correlation in the data for factor analysis (Chisq(%i) = %.2f, %s).", # nolint + dof, + statistic, + insight::format_p(pval) + ) color <- "green" } else { - text <- - sprintf( - "Bartlett's test of sphericity suggests that there is not enough significant correlation in the data for factor analysis (Chisq(%i) = %.2f, %s).", - df, - statistic, - insight::format_p(pval) - ) + msg_text <- sprintf( + "Bartlett's test of sphericity suggests that there is not enough significant correlation in the data for factor analysis (Chisq(%i) = %.2f, %s).", # nolint + dof, + statistic, + insight::format_p(pval) + ) color <- "red" } From 472b39e1c49d3442083e524832c7c01ba8b95df1 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 22 Nov 2023 19:50:22 +0100 Subject: [PATCH 024/100] lintr --- R/r2_nagelkerke.R | 52 +++++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/R/r2_nagelkerke.R b/R/r2_nagelkerke.R index f476c2e0c..87b8cb3ab 100644 --- a/R/r2_nagelkerke.R +++ b/R/r2_nagelkerke.R @@ -58,20 +58,23 @@ r2_nagelkerke.glm <- function(model, verbose = TRUE, ...) { if (is.null(info)) { info <- suppressWarnings(insight::model_info(model, verbose = FALSE)) } + if (info$is_binomial && !info$is_bernoulli && class(model)[1] == "glm") { if (verbose) { insight::format_warning("Can't calculate accurate R2 for binomial models that are not Bernoulli models.") } return(NULL) - } else { - r2cox <- r2_coxsnell(model) - if (is.na(r2cox) || is.null(r2cox)) { - return(NULL) - } - r2_nagelkerke <- r2cox / (1 - exp(-model$null.deviance / insight::n_obs(model, disaggregate = TRUE))) - names(r2_nagelkerke) <- "Nagelkerke's R2" - r2_nagelkerke } + + r2cox <- r2_coxsnell(model) + + if (is.na(r2cox) || is.null(r2cox)) { + return(NULL) + } + + r2_nagelkerke <- r2cox / (1 - exp(-model$null.deviance / insight::n_obs(model, disaggregate = TRUE))) + names(r2_nagelkerke) <- "Nagelkerke's R2" + r2_nagelkerke } #' @export @@ -84,26 +87,31 @@ r2_nagelkerke.glmmTMB <- function(model, verbose = TRUE, ...) { if (is.null(info)) { info <- suppressWarnings(insight::model_info(model, verbose = FALSE)) } + if (info$is_binomial && !info$is_bernoulli) { if (verbose) { insight::format_warning("Can't calculate accurate R2 for binomial models that are not Bernoulli models.") } return(NULL) - } else { - dev <- stats::deviance(model) - # if no deviance, return NA - if (is.null(dev)) { - return(NULL) - } - null_dev <- stats::deviance(insight::null_model(model)) - r2cox <- (1 - exp((dev - null_dev) / insight::n_obs(model, disaggregate = TRUE))) - if (is.na(r2cox) || is.null(r2cox)) { - return(NULL) - } - r2_nagelkerke <- r2cox / (1 - exp(-null_dev / insight::n_obs(model, disaggregate = TRUE))) - names(r2_nagelkerke) <- "Nagelkerke's R2" - r2_nagelkerke } + + dev <- stats::deviance(model) + + # if no deviance, return NA + if (is.null(dev)) { + return(NULL) + } + + null_dev <- stats::deviance(insight::null_model(model)) + r2cox <- (1 - exp((dev - null_dev) / insight::n_obs(model, disaggregate = TRUE))) + + if (is.na(r2cox) || is.null(r2cox)) { + return(NULL) + } + + r2_nagelkerke <- r2cox / (1 - exp(-null_dev / insight::n_obs(model, disaggregate = TRUE))) + names(r2_nagelkerke) <- "Nagelkerke's R2" + r2_nagelkerke } From ce867f83208905dd524c3919c971afe7892b1099 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 23 Nov 2023 10:03:09 +0100 Subject: [PATCH 025/100] trigger workflows --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index a952f9cd9..1ca7f254e 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.2 +Version: 0.10.8.3 Authors@R: c(person(given = "Daniel", family = "Lüdecke", From 131e825adfb61ff0a068367a09a9e4167dd7a557 Mon Sep 17 00:00:00 2001 From: Indrajeet Patil Date: Thu, 23 Nov 2023 13:12:55 +0100 Subject: [PATCH 026/100] Update check_collinearity.R --- R/check_collinearity.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/check_collinearity.R b/R/check_collinearity.R index 703b25f2c..2add49126 100644 --- a/R/check_collinearity.R +++ b/R/check_collinearity.R @@ -443,8 +443,8 @@ check_collinearity.zerocount <- function(x, # hurdle or zeroinfl model can have no zero-inflation formula, in which case # we have the same formula as for conditional formula part if (inherits(x, c("hurdle", "zeroinfl", "zerocount")) && - component == "zero_inflated" && - is.null(f[["zero_inflated"]])) { + component == "zero_inflated" && + is.null(f[["zero_inflated"]])) { f$zero_inflated <- f$conditional } From e53d7f45244643668d846a29048ed64a44397558 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 23 Nov 2023 16:15:02 +0100 Subject: [PATCH 027/100] add more r2 to non-mixed glmmTMB (#657) --- DESCRIPTION | 2 +- R/r2.R | 15 +++++++ R/r2_nagelkerke.R | 3 +- R/r2_zeroinflated.R | 1 - tests/testthat/test-r2.R | 91 +++++++++++++++++++++++++++++++--------- 5 files changed, 89 insertions(+), 23 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1ca7f254e..d2a3a448e 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.3 +Version: 0.10.8.4 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/R/r2.R b/R/r2.R index f1399ce0d..dacdef614 100644 --- a/R/r2.R +++ b/R/r2.R @@ -490,25 +490,40 @@ r2.rlmerMod <- r2.merMod #' @export r2.glmmTMB <- function(model, ci = NULL, tolerance = 1e-5, verbose = TRUE, ...) { + # most models are mixed models if (insight::is_mixed_model(model)) { return(r2_nakagawa(model, ci = ci, tolerance = tolerance, ...)) } else { if (!is.null(ci) && !is.na(ci)) { return(.r2_ci(model, ci = ci, ...)) } + # calculate r2 for non-mixed glmmTMB models here ------------------------- info <- insight::model_info(model, verbose = FALSE) + if (info$is_linear) { + # for linear models, use the manual calculation out <- .safe(.r2_lm_manual(model)) } else if (info$is_logit && info$is_bernoulli) { + # logistic regression with binary outcome out <- list(R2_Tjur = r2_tjur(model, model_info = info, ...)) attr(out, "model_type") <- "Logistic" names(out$R2_Tjur) <- "Tjur's R2" class(out) <- c("r2_pseudo", class(out)) } else if (info$is_binomial && !info$is_bernoulli) { + # currently, non-bernoulli binomial models are not supported if (verbose) { insight::format_warning("Can't calculate accurate R2 for binomial models that are not Bernoulli models.") } out <- NULL + } else if ((info$is_poisson && !info$is_zero_inflated) || info$is_exponential) { + # Poisson-regression or Gamma uses Nagelkerke's R2 + out <- list(R2_Nagelkerke = r2_nagelkerke(model, ...)) + names(out$R2_Nagelkerke) <- "Nagelkerke's R2" + attr(out, "model_type") <- "Generalized Linear" + class(out) <- c("r2_pseudo", class(out)) + } else if (info$is_zero_inflated) { + # zero-inflated models use the default method + out <- r2_zeroinflated(model) } else { insight::format_error("`r2()` does not support models of class `glmmTMB` without random effects and this link-function.") # nolint } diff --git a/R/r2_nagelkerke.R b/R/r2_nagelkerke.R index 87b8cb3ab..00dfe36d2 100644 --- a/R/r2_nagelkerke.R +++ b/R/r2_nagelkerke.R @@ -102,7 +102,8 @@ r2_nagelkerke.glmmTMB <- function(model, verbose = TRUE, ...) { return(NULL) } - null_dev <- stats::deviance(insight::null_model(model)) + null_mod <- suppressWarnings(insight::null_model(model)) + null_dev <- stats::deviance(null_mod) r2cox <- (1 - exp((dev - null_dev) / insight::n_obs(model, disaggregate = TRUE))) if (is.na(r2cox) || is.null(r2cox)) { diff --git a/R/r2_zeroinflated.R b/R/r2_zeroinflated.R index b1e057bb6..23d859587 100644 --- a/R/r2_zeroinflated.R +++ b/R/r2_zeroinflated.R @@ -63,7 +63,6 @@ r2_zeroinflated <- function(model, method = c("default", "correlation")) { k <- length(insight::find_parameters(model)[["conditional"]]) y <- insight::get_response(model, verbose = FALSE) - # pred <- stats::predict(model, type = "response") var_fixed <- sum((stats::fitted(model) - mean(y))^2) var_resid <- sum(stats::residuals(model, type = "pearson")^2) diff --git a/tests/testthat/test-r2.R b/tests/testthat/test-r2.R index 069ee9ad2..d287604a1 100644 --- a/tests/testthat/test-r2.R +++ b/tests/testthat/test-r2.R @@ -40,23 +40,74 @@ test_that("r2 glm, ci", { ) }) -test_that("r2 glmmTMB, no ranef", { - skip_if_not_installed("glmmTMB") - data(Owls, package = "glmmTMB") - m <- glmmTMB::glmmTMB(NegPerChick ~ BroodSize + ArrivalTime, data = Owls) - out <- r2(m) - expect_equal(out$R2, 0.05597288, tolerance = 1e-3, ignore_attr = TRUE) - # validate against lm - m2 <- lm(NegPerChick ~ BroodSize + ArrivalTime, data = Owls) - out2 <- r2(m2) - expect_equal(out$R2, out2$R2, tolerance = 1e-3, ignore_attr = TRUE) - # binomial - data(mtcars) - m <- glmmTMB::glmmTMB(am ~ mpg, data = mtcars, family = binomial()) - out <- r2(m) - expect_equal(out[[1]], 0.3677326, tolerance = 1e-3, ignore_attr = TRUE) - # validate against glm - m2 <- glm(am ~ mpg, data = mtcars, family = binomial()) - out2 <- r2(m2) - expect_equal(out[[1]], out[[1]], tolerance = 1e-3, ignore_attr = TRUE) -}) +# glmmTMB, non-mixed -------------------------------------------------------- + +skip_if_not_installed("withr") +withr::with_environment( + new.env(), + test_that("r2 glmmTMB, no ranef", { + skip_if_not_installed("glmmTMB") + data(Owls, package = "glmmTMB") + # linear --------------------------------------------------------------- + m <- glmmTMB::glmmTMB(NegPerChick ~ BroodSize + ArrivalTime, data = Owls) + out <- r2(m) + expect_equal(out$R2, 0.05597288, tolerance = 1e-3, ignore_attr = TRUE) + # validate against lm + m2 <- lm(NegPerChick ~ BroodSize + ArrivalTime, data = Owls) + out2 <- r2(m2) + expect_equal(out$R2, out2$R2, tolerance = 1e-3, ignore_attr = TRUE) + # binomial ------------------------------------------------------------- + data(mtcars) + m <- glmmTMB::glmmTMB(am ~ mpg, data = mtcars, family = binomial()) + out <- r2(m) + expect_equal(out[[1]], 0.3677326, tolerance = 1e-3, ignore_attr = TRUE) + # validate against glm + m2 <- glm(am ~ mpg, data = mtcars, family = binomial()) + out2 <- r2(m2) + expect_equal(out[[1]], out2[[1]], tolerance = 1e-3, ignore_attr = TRUE) + # poisson -------------------------------------------------------------- + d <<- data.frame( + counts = c(18, 17, 15, 20, 10, 20, 25, 13, 12), + outcome = gl(3, 1, 9), + treatment = gl(3, 3) + ) + m <- glmmTMB::glmmTMB(counts ~ outcome + treatment, family = poisson(), data = d) + out <- r2(m) + expect_equal(out[[1]], 0.6571698, tolerance = 1e-3, ignore_attr = TRUE) + # validate against glm + m2 <- glm(counts ~ outcome + treatment, family = poisson(), data = d) + out2 <- r2(m2) + expect_equal(out[[1]], out2[[1]], tolerance = 1e-3, ignore_attr = TRUE) + # zero-inflated -------------------------------------------------------------- + skip_if_not_installed("pscl") + data(bioChemists, package = "pscl") + m <- glmmTMB::glmmTMB( + art ~ fem + mar + kid5 + ment, + ziformula = ~ kid5 + phd, + family = poisson(), + data = bioChemists + ) + out <- r2(m) + expect_equal(out[[1]], 0.1797549, tolerance = 1e-3, ignore_attr = TRUE) + # validate against pscl::zeroinfl + m2 <- pscl::zeroinfl( + art ~ fem + mar + kid5 + ment | kid5 + phd, + data = bioChemists + ) + out2 <- r2(m2) + expect_equal(out[[1]], out2[[1]], tolerance = 1e-3, ignore_attr = TRUE) + # Gamma -------------------------------------------------------------- + clotting <<- data.frame( + u = c(5, 10, 15, 20, 30, 40, 60, 80, 100), + lot1 = c(118, 58, 42, 35, 27, 25, 21, 19, 18), + lot2 = c(69, 35, 26, 21, 18, 16, 13, 12, 12) + ) + m <- suppressWarnings(glmmTMB::glmmTMB(lot1 ~ log(u), data = clotting, family = Gamma())) + out <- r2(m) + expect_equal(out[[1]], 0.996103, tolerance = 1e-3, ignore_attr = TRUE) + # validate against glm + m2 <- glm(lot1 ~ log(u), data = clotting, family = Gamma()) + out2 <- r2(m2) + expect_equal(out[[1]], out2[[1]], tolerance = 1e-3, ignore_attr = TRUE) + }) +) From 5ab9cedf8afc4fe99cee4962a534863f22b18ef6 Mon Sep 17 00:00:00 2001 From: Indrajeet Patil Date: Thu, 23 Nov 2023 18:03:03 +0100 Subject: [PATCH 028/100] trigger CI --- R/check_heteroscedasticity.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/check_heteroscedasticity.R b/R/check_heteroscedasticity.R index c3fb8a19b..cf8e4cb09 100644 --- a/R/check_heteroscedasticity.R +++ b/R/check_heteroscedasticity.R @@ -66,7 +66,7 @@ check_heteroscedasticity.default <- function(x, ...) { .U <- (r^2) / S.sq mod <- stats::lm(.U ~ stats::fitted(x)) - SS <- stats::anova(mod)$"Sum Sq" + SS <- stats::anova(mod)$`Sum Sq` RegSS <- sum(SS) - SS[length(SS)] Chisq <- RegSS / 2 From e693cf3117f2ecd1716c7d11eccf3bd04518af7f Mon Sep 17 00:00:00 2001 From: Indrajeet Patil Date: Thu, 23 Nov 2023 18:38:00 +0100 Subject: [PATCH 029/100] use the latest testthat --- DESCRIPTION | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index d2a3a448e..98e92908f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.4 +Version: 0.10.8.5 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -135,10 +135,10 @@ Suggests: rstanarm, rstantools, sandwich, - see (>= 0.7.5), + see (>= 0.8.1), survey, survival, - testthat, + testthat (>= 3.2.0), tweedie, VGAM, withr From 98ab2f5e1e0ca5e2baffda2761fcdda5bae5293a Mon Sep 17 00:00:00 2001 From: Indrajeet Patil Date: Thu, 23 Nov 2023 19:33:26 +0100 Subject: [PATCH 030/100] clean some keyword_quote_linter lints to trigger CI --- R/performance_pcp.R | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/R/performance_pcp.R b/R/performance_pcp.R index 653c4afa5..edcf4c724 100644 --- a/R/performance_pcp.R +++ b/R/performance_pcp.R @@ -112,13 +112,13 @@ print.performance_pcp <- function(x, digits = 2, ...) { #' @export as.data.frame.performance_pcp <- function(x, row.names = NULL, ...) { data.frame( - "Model" = c("full", "null"), - "Estimate" = c(x$pcp_model, x$pcp_m0), - "CI_low" = c(x$model_ci_low, x$null_ci_low), - "CI_high" = c(x$model_ci_high, x$null_ci_high), - "Chisq" = c(NA, x$lrt_chisq), - "df_error" = c(NA, x$lrt_df_error), - "p" = c(NA, x$lrt_p), + Model = c("full", "null"), + Estimate = c(x$pcp_model, x$pcp_m0), + CI_low = c(x$model_ci_low, x$null_ci_low), + CI_high = c(x$model_ci_high, x$null_ci_high), + Chisq = c(NA, x$lrt_chisq), + df_error = c(NA, x$lrt_df_error), + p = c(NA, x$lrt_p), stringsAsFactors = FALSE, row.names = row.names, ... From d0f7bd65b6690c7825141b5a55fd59d1760462b9 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 29 Nov 2023 21:21:33 +0100 Subject: [PATCH 031/100] Simple glms no longer supported? (#660) --- DESCRIPTION | 2 +- NEWS.md | 7 +++ R/binned_residuals.R | 27 +++++----- tests/testthat/test-binned_residuals.R | 68 +++++++++++++++++++++++++- 4 files changed, 91 insertions(+), 13 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 98e92908f..ac7741ecd 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.5 +Version: 0.10.8.6 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NEWS.md b/NEWS.md index 98805e5e6..5984b7b9d 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,8 +1,15 @@ # performance 0.10.9 +## Changes + * `r2()` for models of class `glmmTMB` without random effects now returns the correct r-squared value for non-mixed models. +## Bug fixes + +* Fixed issue in `binned_residuals()` for models with binary outcome, where + in rare occasions empty bins could occur. + # performance 0.10.8 ## Changes diff --git a/R/binned_residuals.R b/R/binned_residuals.R index 370f33c20..8c6608ebf 100644 --- a/R/binned_residuals.R +++ b/R/binned_residuals.R @@ -143,17 +143,22 @@ binned_residuals <- function(model, n <- length(items) sdev <- stats::sd(y[items], na.rm = TRUE) - conf_int <- switch(ci_type, - gaussian = stats::qnorm(c((1 - ci) / 2, (1 + ci) / 2), mean = ybar, sd = sdev / sqrt(n)), - exact = { - out <- stats::binom.test(sum(y0[items]), n)$conf.int - # center CIs around point estimate - out <- out - (min(out) - ybar) - (diff(out) / 2) - out - }, - boot = .boot_binned_ci(y[items], ci, iterations) - ) - names(conf_int) <- c("CI_low", "CI_high") + # sanity check - do we have any data in our bin? + if (n == 0) { + conf_int <- stats::setNames(c(NA, NA), c("CI_low", "CI_high")) + } else { + conf_int <- switch(ci_type, + gaussian = stats::qnorm(c((1 - ci) / 2, (1 + ci) / 2), mean = ybar, sd = sdev / sqrt(n)), + exact = { + out <- stats::binom.test(sum(y0[items]), n)$conf.int + # center CIs around point estimate + out <- out - (min(out) - ybar) - (diff(out) / 2) + out + }, + boot = .boot_binned_ci(y[items], ci, iterations) + ) + names(conf_int) <- c("CI_low", "CI_high") + } d0 <- data.frame( xbar = xbar, diff --git a/tests/testthat/test-binned_residuals.R b/tests/testthat/test-binned_residuals.R index ae2822d0d..7b966797e 100644 --- a/tests/testthat/test-binned_residuals.R +++ b/tests/testthat/test-binned_residuals.R @@ -164,7 +164,7 @@ test_that("binned_residuals, msg for non-bernoulli", { dat <- data.frame(tot, suc) dat$prop <- suc / tot - dat$x1 <- as.factor(sample(1:5, 100, replace = TRUE)) + dat$x1 <- as.factor(sample.int(5, 100, replace = TRUE)) mod <- glm(prop ~ x1, family = binomial, @@ -175,3 +175,69 @@ test_that("binned_residuals, msg for non-bernoulli", { expect_message(binned_residuals(mod), regex = "Using `ci_type = \"gaussian\"`") expect_silent(binned_residuals(mod, verbose = FALSE)) }) + +test_that("binned_residuals, empty bins", { + eel <- data.frame( + cured_bin = c( + 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, + 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, + 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, + 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0 + ), + intervention = c( + "No treatment", + "No treatment", "No treatment", "No treatment", "Intervention", + "No treatment", "Intervention", "Intervention", "No treatment", + "No treatment", "Intervention", "No treatment", "No treatment", + "Intervention", "No treatment", "No treatment", "Intervention", + "Intervention", "Intervention", "Intervention", "No treatment", + "Intervention", "Intervention", "No treatment", "Intervention", + "Intervention", "No treatment", "No treatment", "Intervention", + "Intervention", "No treatment", "No treatment", "Intervention", + "Intervention", "Intervention", "No treatment", "No treatment", + "Intervention", "No treatment", "Intervention", "No treatment", + "Intervention", "Intervention", "Intervention", "No treatment", + "No treatment", "No treatment", "Intervention", "Intervention", + "No treatment", "Intervention", "Intervention", "Intervention", + "No treatment", "No treatment", "Intervention", "Intervention", + "No treatment", "Intervention", "Intervention", "No treatment", + "No treatment", "No treatment", "Intervention", "Intervention", + "No treatment", "No treatment", "No treatment", "No treatment", + "No treatment", "Intervention", "No treatment", "Intervention", + "Intervention", "Intervention", "No treatment", "Intervention", + "Intervention", "No treatment", "Intervention", "No treatment", + "No treatment", "Intervention", "Intervention", "Intervention", + "Intervention", "No treatment", "Intervention", "Intervention", + "No treatment", "Intervention", "No treatment", "Intervention", + "Intervention", "Intervention", "Intervention", "No treatment", + "No treatment", "No treatment", "Intervention", "No treatment", + "No treatment", "Intervention", "No treatment", "No treatment", + "No treatment", "No treatment", "No treatment", "Intervention", + "Intervention", "No treatment", "No treatment", "Intervention" + ), duration = c( + 7L, 7L, 6L, 8L, 7L, 6L, 7L, 7L, 8L, 7L, 7L, 7L, + 5L, 9L, 6L, 7L, 8L, 7L, 7L, 9L, 7L, 9L, 8L, 7L, 6L, 8L, 7L, 6L, + 7L, 6L, 7L, 6L, 5L, 6L, 7L, 7L, 8L, 7L, 5L, 7L, 9L, 10L, 7L, + 8L, 5L, 8L, 4L, 7L, 8L, 6L, 6L, 6L, 7L, 7L, 8L, 7L, 7L, 7L, 7L, + 8L, 7L, 9L, 7L, 8L, 8L, 7L, 7L, 7L, 8L, 7L, 8L, 7L, 8L, 8L, 9L, + 7L, 10L, 5L, 7L, 8L, 9L, 5L, 10L, 8L, 7L, 6L, 5L, 6L, 7L, 7L, + 7L, 7L, 7L, 7L, 8L, 5L, 6L, 7L, 6L, 7L, 7L, 9L, 6L, 6L, 7L, 7L, + 6L, 7L, 8L, 9L, 4L, 6L, 9L + ), + stringsAsFactors = FALSE + ) + m_eel <- glm(cured_bin ~ intervention + duration, data = eel, family = binomial()) + out <- binned_residuals(m_eel) + expect_equal( + out$xbar, + c(0.27808, 0.28009, 0.28167, 0.28326, 0.48269, 0.56996, 0.57188, 0.57456), + tolerance = 1e-4 + ) + expect_equal( + out$CI_low, + c(-0.42552, -0.45162, -0.10819, -0.7339, -0.28086, -0.52599, 0.02795, -0.44023), + tolerance = 1e-4 + ) +}) From 7064912ac1a557ace213e16c832486a11647800b Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 1 Dec 2023 08:44:39 +0100 Subject: [PATCH 032/100] Fix issues with glmmPQL (#661) --- DESCRIPTION | 3 ++- NEWS.md | 3 +++ R/performance_score.R | 16 ++++++++++------ tests/testthat/test-glmmPQL.R | 15 +++++++++++++++ 4 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 tests/testthat/test-glmmPQL.R diff --git a/DESCRIPTION b/DESCRIPTION index ac7741ecd..207139826 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.6 +Version: 0.10.8.7 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -153,3 +153,4 @@ Config/Needs/website: r-lib/pkgdown, easystats/easystatstemplate Config/rcmdcheck/ignore-inconsequential-notes: true +Remotes: easystats/insight diff --git a/NEWS.md b/NEWS.md index 5984b7b9d..f3bb5fdd3 100644 --- a/NEWS.md +++ b/NEWS.md @@ -10,6 +10,9 @@ * Fixed issue in `binned_residuals()` for models with binary outcome, where in rare occasions empty bins could occur. +* `performance_score()` should no longer fail for models where scoring rules + can't be calculated. Instead, an informative message is returned. + # performance 0.10.8 ## Changes diff --git a/R/performance_score.R b/R/performance_score.R index eb5ee9b31..e65ae820a 100644 --- a/R/performance_score.R +++ b/R/performance_score.R @@ -65,7 +65,7 @@ performance_score <- function(model, verbose = TRUE, ...) { if (minfo$is_ordinal || minfo$is_multinomial) { if (verbose) { - insight::print_color("Can't calculate proper scoring rules for ordinal, multinomial or cumulative link models.\n", "red") + insight::format_alert("Can't calculate proper scoring rules for ordinal, multinomial or cumulative link models.") } return(list(logarithmic = NA, quadratic = NA, spherical = NA)) } @@ -74,10 +74,7 @@ performance_score <- function(model, verbose = TRUE, ...) { if (!is.null(ncol(resp)) && ncol(resp) > 1) { if (verbose) { - insight::print_color( - "Can't calculate proper scoring rules for models without integer response values.\n", - "red" - ) + insight::format_alert("Can't calculate proper scoring rules for models without integer response values.") } return(list(logarithmic = NA, quadratic = NA, spherical = NA)) } @@ -127,7 +124,14 @@ performance_score <- function(model, verbose = TRUE, ...) { } else { datawizard::to_numeric(resp, dummy_factors = FALSE, preserve_levels = TRUE) } - p_y <- prob_fun(resp, mean = pr$pred, pis = pr$pred_zi, sum(resp)) + p_y <- .safe(suppressWarnings(prob_fun(resp, mean = pr$pred, pis = pr$pred_zi, sum(resp)))) + + if (is.null(p_y) || all(is.na(p_y))) { + if (verbose) { + insight::format_alert("Can't calculate proper scoring rules for this model.") + } + return(list(logarithmic = NA, quadratic = NA, spherical = NA)) + } quadrat_p <- sum(p_y^2) diff --git a/tests/testthat/test-glmmPQL.R b/tests/testthat/test-glmmPQL.R new file mode 100644 index 000000000..64caaccea --- /dev/null +++ b/tests/testthat/test-glmmPQL.R @@ -0,0 +1,15 @@ +skip_if_not_installed("MASS") +test_that("r2", { + example_dat <- data.frame( + prop = c(0.2, 0.2, 0.5, 0.7, 0.1, 1, 1, 1, 0.1), + size = c("small", "small", "small", "large", "large", "large", "large", "small", "small"), + x = c(0.1, 0.1, 0.8, 0.7, 0.6, 0.5, 0.5, 0.1, 0.1), + species = c("sp1", "sp1", "sp2", "sp2", "sp3", "sp3", "sp4", "sp4", "sp4"), + stringsAsFactors = FALSE + ) + mn <- MASS::glmmPQL(prop ~ x + size, + random = ~ 1 | species, + family = "quasibinomial", data = example_dat + ) + expect_message(performance_score(mn), regex = "Cant calculate") +}) From fe1c449467f668fbeec47d9b433ce97a606b8518 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 3 Dec 2023 13:58:11 +0100 Subject: [PATCH 033/100] Update `DESCRIPTION` to use latest 'easystats' dependencies (#662) Co-authored-by: IndrajeetPatil Co-authored-by: Daniel --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 207139826..a0189267c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -70,7 +70,7 @@ Depends: R (>= 3.6) Imports: bayestestR (>= 0.13.1), - insight (>= 0.19.6), + insight (>= 0.19.7), datawizard (>= 0.9.0), methods, stats, From e2bde2de4f0fa47a74e9cfb3b7374505277e2f5b Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 19 Dec 2023 18:43:37 +0100 Subject: [PATCH 034/100] `check_itemscale()` accepts data frames (#664) --- DESCRIPTION | 2 +- NAMESPACE | 1 + NEWS.md | 7 ++ R/check_itemscale.R | 78 ++++++++++++++++--- R/performance_score.R | 36 ++++----- man/check_itemscale.Rd | 20 ++++- .../_snaps/windows/check_itemscale.md | 24 ++++++ tests/testthat/test-check_itemscale.R | 29 ++++++- tests/testthat/test-glmmPQL.R | 2 +- 9 files changed, 164 insertions(+), 35 deletions(-) create mode 100644 tests/testthat/_snaps/windows/check_itemscale.md diff --git a/DESCRIPTION b/DESCRIPTION index a0189267c..81872ed89 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.7 +Version: 0.10.8.8 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NAMESPACE b/NAMESPACE index 0bb599f64..970895f14 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -308,6 +308,7 @@ S3method(print,r2_nakagawa_by_group) S3method(print,r2_pseudo) S3method(print,test_likelihoodratio) S3method(print,test_performance) +S3method(print_html,check_itemscale) S3method(print_html,compare_performance) S3method(print_html,test_performance) S3method(print_md,check_itemscale) diff --git a/NEWS.md b/NEWS.md index f3bb5fdd3..6fe789f56 100644 --- a/NEWS.md +++ b/NEWS.md @@ -5,6 +5,13 @@ * `r2()` for models of class `glmmTMB` without random effects now returns the correct r-squared value for non-mixed models. +* `check_itemscale()` now also accepts data frames as input. In this case, + `factor_index` must be specified, which must be a numeric vector of same + length as number of columns in `x`, where each element is the index of the + factor to which the respective column in `x`. + +* `check_itemscale()` gets a `print_html()` method. + ## Bug fixes * Fixed issue in `binned_residuals()` for models with binary outcome, where diff --git a/R/check_itemscale.R b/R/check_itemscale.R index 5aa704618..fda758d24 100644 --- a/R/check_itemscale.R +++ b/R/check_itemscale.R @@ -2,11 +2,14 @@ #' @name check_itemscale #' #' @description Compute various measures of internal consistencies -#' applied to (sub)scales, which items were extracted using -#' `parameters::principal_components()`. +#' applied to (sub)scales, which items were extracted using +#' `parameters::principal_components()`. #' #' @param x An object of class `parameters_pca`, as returned by -#' [`parameters::principal_components()`]. +#' [`parameters::principal_components()`], or a data frame. +#' @param factor_index If `x` is a data frame, `factor_index` must be specified. +#' It must be a numeric vector of same length as number of columns in `x`, where +#' each element is the index of the factor to which the respective column in `x`. #' #' @return A list of data frames, with related measures of internal #' consistencies of each subscale. @@ -48,21 +51,53 @@ #' X <- matrix(rnorm(1600), 100, 16) #' Z <- X %*% C #' -#' pca <- principal_components(as.data.frame(Z), rotation = "varimax", n = 3) +#' pca <- parameters::principal_components( +#' as.data.frame(Z), +#' rotation = "varimax", +#' n = 3 +#' ) #' pca #' check_itemscale(pca) +#' +#' # as data frame +#' check_itemscale( +#' as.data.frame(Z), +#' factor_index = parameters::closest_component(pca) +#' ) #' @export -check_itemscale <- function(x) { - if (!inherits(x, "parameters_pca")) { +check_itemscale <- function(x, factor_index = NULL) { + # check for valid input + if (!inherits(x, c("parameters_pca", "data.frame"))) { insight::format_error( - "`x` must be an object of class `parameters_pca`, as returned by `parameters::principal_components()`." + "`x` must be an object of class `parameters_pca`, as returned by `parameters::principal_components()`, or a data frame." # nolint ) } - insight::check_if_installed("parameters") + # if data frame, we need `factor_index` + if (inherits(x, "data.frame") && !inherits(x, "parameters_pca")) { + if (is.null(factor_index)) { + insight::format_error("If `x` is a data frame, `factor_index` must be specified.") + } + if (!is.numeric(factor_index)) { + insight::format_error("`factor_index` must be numeric.") + } + if (length(factor_index) != ncol(x)) { + insight::format_error( + "`factor_index` must be of same length as number of columns in `x`.", + "Each element of `factor_index` must be the index of the factor to which the respective column in `x` belongs to." # nolint + ) + } + } - dataset <- attributes(x)$dataset - subscales <- parameters::closest_component(x) + # assign data and factor index + if (inherits(x, "parameters_pca")) { + insight::check_if_installed("parameters") + dataset <- attributes(x)$dataset + subscales <- parameters::closest_component(x) + } else { + dataset <- x + subscales <- factor_index + } out <- lapply(sort(unique(subscales)), function(.subscale) { columns <- names(subscales)[subscales == .subscale] @@ -123,3 +158,26 @@ print.check_itemscale <- function(x, digits = 2, ...) { zap_small = TRUE )) } + + +#' @export +print_html.check_itemscale <- function(x, digits = 2, ...) { + x <- lapply(seq_along(x), function(i) { + out <- x[[i]] + attr(out, "table_caption") <- sprintf( + "Component %i: Mean inter-item-correlation = %.3f, Cronbach's alpha = %.3f", + i, + attributes(out)$item_intercorrelation, + attributes(out)$cronbachs_alpha + ) + out + }) + insight::export_table( + x, + caption = "Description of (Sub-)Scales", + digits = digits, + format = "html", + missing = "", + zap_small = TRUE + ) +} diff --git a/R/performance_score.R b/R/performance_score.R index e65ae820a..5ca3fdc84 100644 --- a/R/performance_score.R +++ b/R/performance_score.R @@ -209,27 +209,25 @@ print.performance_score <- function(x, ...) { pred_zi <- NULL tryCatch( - { - if (inherits(model, "MixMod")) { - pred <- stats::predict(model, type = "subject_specific") - pred_zi <- if (!is.null(model$gammas)) attr(pred, "zi_probs") - } else if (inherits(model, "glmmTMB")) { - pred <- stats::predict(model, type = "response") - pred_zi <- stats::predict(model, type = "zprob") - } else if (inherits(model, c("hurdle", "zeroinfl"))) { - pred <- stats::predict(model, type = "response") - pred_zi <- stats::predict(model, type = "zero") - } else if (inherits(model, c("clm", "clm2", "clmm"))) { - pred <- stats::predict(model) - } else if (all(inherits(model, c("stanreg", "lmerMod"), which = TRUE)) > 0) { - insight::check_if_installed("rstanarm") - pred <- colMeans(rstanarm::posterior_predict(model)) - } else { - pred <- stats::predict(model, type = "response") - } + if (inherits(model, "MixMod")) { + pred <- stats::predict(model, type = "subject_specific") + pred_zi <- if (!is.null(model$gammas)) attr(pred, "zi_probs") + } else if (inherits(model, "glmmTMB")) { + pred <- stats::predict(model, type = "response") + pred_zi <- stats::predict(model, type = "zprob") + } else if (inherits(model, c("hurdle", "zeroinfl"))) { + pred <- stats::predict(model, type = "response") + pred_zi <- stats::predict(model, type = "zero") + } else if (inherits(model, c("clm", "clm2", "clmm"))) { + pred <- stats::predict(model) + } else if (all(inherits(model, c("stanreg", "lmerMod"), which = TRUE)) > 0) { + insight::check_if_installed("rstanarm") + pred <- colMeans(rstanarm::posterior_predict(model)) + } else { + pred <- stats::predict(model, type = "response") }, error = function(e) { - return(NULL) + NULL } ) diff --git a/man/check_itemscale.Rd b/man/check_itemscale.Rd index 7f790b1d2..a5ada3875 100644 --- a/man/check_itemscale.Rd +++ b/man/check_itemscale.Rd @@ -4,11 +4,15 @@ \alias{check_itemscale} \title{Describe Properties of Item Scales} \usage{ -check_itemscale(x) +check_itemscale(x, factor_index = NULL) } \arguments{ \item{x}{An object of class \code{parameters_pca}, as returned by -\code{\link[parameters:principal_components]{parameters::principal_components()}}.} +\code{\link[parameters:principal_components]{parameters::principal_components()}}, or a data frame.} + +\item{factor_index}{If \code{x} is a data frame, \code{factor_index} must be specified. +It must be a numeric vector of same length as number of columns in \code{x}, where +each element is the index of the factor to which the respective column in \code{x}.} } \value{ A list of data frames, with related measures of internal @@ -51,9 +55,19 @@ set.seed(17) X <- matrix(rnorm(1600), 100, 16) Z <- X \%*\% C -pca <- principal_components(as.data.frame(Z), rotation = "varimax", n = 3) +pca <- parameters::principal_components( + as.data.frame(Z), + rotation = "varimax", + n = 3 +) pca check_itemscale(pca) + +# as data frame +check_itemscale( + as.data.frame(Z), + factor_index = parameters::closest_component(pca) +) \dontshow{\}) # examplesIf} } \references{ diff --git a/tests/testthat/_snaps/windows/check_itemscale.md b/tests/testthat/_snaps/windows/check_itemscale.md new file mode 100644 index 000000000..48e0bd482 --- /dev/null +++ b/tests/testthat/_snaps/windows/check_itemscale.md @@ -0,0 +1,24 @@ +# check_itemscale + + Code + print(out) + Output + # Description of (Sub-)ScalesComponent 1 + + Item | Missings | Mean | SD | Skewness | Difficulty | Discrimination | alpha if deleted + ----------------------------------------------------------------------------------------- + b | 0 | 5.02 | 0.79 | -0.04 | 0.84 | 0.06 | -0.55 + e | 0 | 2.12 | 0.81 | -0.22 | 0.35 | -0.09 | -0.03 + f | 0 | 2.00 | 0.82 | 0.00 | 0.33 | -0.16 | 0.17 + + Mean inter-item-correlation = -0.046 Cronbach's alpha = -0.159 + Component 2 + + Item | Missings | Mean | SD | Skewness | Difficulty | Discrimination | alpha if deleted + ----------------------------------------------------------------------------------------- + a | 0 | 5.02 | 0.83 | -0.04 | 0.84 | 0.21 | -0.18 + c | 0 | 4.74 | 0.81 | 0.51 | 0.79 | -0.04 | 0.41 + d | 0 | 2.07 | 0.79 | -0.13 | 0.34 | 0.13 | 0.04 + + Mean inter-item-correlation = 0.067 Cronbach's alpha = 0.178 + diff --git a/tests/testthat/test-check_itemscale.R b/tests/testthat/test-check_itemscale.R index 119283d37..95ab4e169 100644 --- a/tests/testthat/test-check_itemscale.R +++ b/tests/testthat/test-check_itemscale.R @@ -1,4 +1,4 @@ -test_that("check_convergence", { +test_that("check_itemscale", { skip_if_not_installed("parameters") set.seed(123) @@ -25,4 +25,31 @@ test_that("check_convergence", { tolerance = 1e-4, ignore_attr = TRUE ) + expect_snapshot(print(out), variant = "windows") + comp <- parameters::closest_component(pca) + out2 <- check_itemscale(d, comp) + expect_equal( + out[[1]]$Mean, + out2[[1]]$Mean, + tolerance = 1e-4, + ignore_attr = TRUE + ) + expect_equal( + out[[1]]$Difficulty, + out2[[1]]$Difficulty, + tolerance = 1e-4, + ignore_attr = TRUE + ) + expect_error( + check_itemscale(d), + regex = "If `x` is a data" + ) + expect_error( + check_itemscale(d, factor_index = 1:8), + regex = "`factor_index` must be of same" + ) + expect_error( + check_itemscale(d, factor_index = factor(comp)), + regex = "`factor_index` must be numeric." + ) }) diff --git a/tests/testthat/test-glmmPQL.R b/tests/testthat/test-glmmPQL.R index 64caaccea..6c1713cc8 100644 --- a/tests/testthat/test-glmmPQL.R +++ b/tests/testthat/test-glmmPQL.R @@ -11,5 +11,5 @@ test_that("r2", { random = ~ 1 | species, family = "quasibinomial", data = example_dat ) - expect_message(performance_score(mn), regex = "Cant calculate") + expect_message(performance_score(mn), regex = "Can't calculate") }) From 243940eb724d114874e37283f55bbe71de0b3845 Mon Sep 17 00:00:00 2001 From: Indrajeet Patil Date: Sat, 30 Dec 2023 08:24:36 +0100 Subject: [PATCH 035/100] reknit --- README.md | 19 ++++++++++--------- man/figures/unnamed-chunk-14-1.png | Bin 153941 -> 451883 bytes man/figures/unnamed-chunk-20-1.png | Bin 19171 -> 122391 bytes 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 3be782f33..57e7cd9f0 100644 --- a/README.md +++ b/README.md @@ -147,8 +147,8 @@ model <- stan_glmer( r2(model) #> # Bayesian R2 with Compatibility Interval #> -#> Conditional R2: 0.953 (95% CI [0.942, 0.963]) -#> Marginal R2: 0.824 (95% CI [0.721, 0.899]) +#> Conditional R2: 0.953 (95% CI [0.941, 0.963]) +#> Marginal R2: 0.823 (95% CI [0.710, 0.898]) library(lme4) model <- lmer(Reaction ~ Days + (1 + Days | Subject), data = sleepstudy) @@ -422,12 +422,12 @@ lm3 <- lm(Sepal.Length ~ Species * Sepal.Width, data = iris) lm4 <- lm(Sepal.Length ~ Species * Sepal.Width + Petal.Length + Petal.Width, data = iris) test_performance(lm1, lm2, lm3, lm4) -#> Name | Model | BF | Omega2 | p (Omega2) | LR | p (LR) -#> -------------------------------------------------------------- -#> lm1 | lm | | | | | -#> lm2 | lm | 3.45e+26 | 0.69 | < .001 | -6.25 | < .001 -#> lm3 | lm | 4.69e+07 | 0.36 | < .001 | -3.44 | < .001 -#> lm4 | lm | 7.58e+29 | 0.73 | < .001 | -7.77 | < .001 +#> Name | Model | BF | Omega2 | p (Omega2) | LR | p (LR) +#> ------------------------------------------------------------ +#> lm1 | lm | | | | | +#> lm2 | lm | > 1000 | 0.69 | < .001 | -6.25 | < .001 +#> lm3 | lm | > 1000 | 0.36 | < .001 | -3.44 | < .001 +#> lm4 | lm | > 1000 | 0.73 | < .001 | -7.77 | < .001 #> Each model is compared to lm1. test_bf(lm1, lm2, lm3, lm4) @@ -465,7 +465,8 @@ Please follow contributing guidelines mentioned here: ## References -

+
diff --git a/man/figures/unnamed-chunk-14-1.png b/man/figures/unnamed-chunk-14-1.png index 4a0474675e7377c8ae82b4e9754a5d8c6ec88046..89a6592baa29d1af93b4914b18ba0862728ce3ed 100644 GIT binary patch literal 451883 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�m^bhosWh9)}r^&v;$nM05k4rm?;f5XIMva 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 z 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 i#Sh#s#C7oEVVpjJ4X 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�CN8v~N{1b+(CIiuZpn#*0fG*&) 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%0Dqc6VFON!M2^n+0u)=N6 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�qruWQ5b)pmrr#B9KzT**c^g)E%ZaLvj;D=Y?qeY{178ucgP0#7uVo=trt>`-3={LVYXsurqOkb2@+O=&q+M2auI{q8ET z@-b}lyJ0xCq-WiNW;M!5f|se=>G1gQX-49kE3(P2k-u=utP0&=kgdKfs{Mz_Y`xr} z0fTyeIYtc;E}401pZ0-#!r@-_FN%Papqf9#vUFfR=-X>vcYMY}R5Hi=BSowE9t-m* zTNY)D)25{!8eu}WPkr(5(4;O20d^)SUA2dLRZs{*02wCvyrwSh^~qx;&=Ge<+X}C7 z(#PL@-sJum&8+9oOx??#^_R4>$#52uo%94u@4)(_eD0}tMLkMDb^cZxR@wIolW;iy z8o-%VpB}wT2D=Q%$Fg;8bmIxcBWhl@eQbjSF6drWBvW);)3iZ(yW_{(!)W`)UA6W7 zh4%r^vJuL^C>*5*z{kPIYmR^>FW1c&3*x>3e#cqUY7k!zXx1!!%?H_^7Gn6@eEs+z zNMT}KC}+o5&8ghGnU~U&bNH*VjmGaU0p*J^CtN>~W}q{D6|luxCFq6I5=@WlpNpo} zFUa_E#@*Ji%@+*ZntlHLqDRr**%jwdebiqpfoSl&s|ctGc09_(Ls2lwLjA@%rFEK= z(JbHg7Rr3RTNhoo8CI~H1AG>II_1iVAE3x0p|i8Z!5FE37!bW)!PJW@a+>%({&CI1 zbt{&VFd<|y+FCrRoa4adF_SF@UBK;A)XBfsp!ZU_qsHaoDVZ=F&Fo+v%GuuLD(W?Y zy~mps`sU<>aW|-9hXJVPK91~pI>=#QF`G!#vTglgRjm%h6+Q2Iv0dKgX6pit3VdyJ zt#a$GdcFQ^A_A@}8W zs(8Hassfl)R6mjE@^PuM++678*2<%DL<%T=q%p@*v3qlMd8Lk4d{zotKad`@UIY~{ zgQaf+sPcJdJzCZ-cq$hLRP5BxnjN=A!9sFc_osgmRe1@2yYYR$$r<%H$fBq>9WVC+ zs0wm_t^jvVMq`^S++n^D#S6Def?DOmXmshxgjLjqQ1w~mtXCmOxZ+t+*|&86yJdnV zK;me)Y%H99ZFcthSTo{A3NSH}sH&#;<~aVb2VlPJ=@NjpG0VZ^e8|~U0v7~t@H(K^ z=;kZE+L5am3>r9f?l%$w;eUx;fak-ia^H_z#o7&3HN>5>*+I#Z9)ITBS+$`;etybd z8;_7jUWN{XRWUTi%bufE*CR(4$tpyzEvMd(R}rp#VcGd}v)l+l%Lr2HNj?}M;BV+6? zYu>dKAS>x>bs}@LcB{sQo2WsRMYB%zI%cLwYGd7T#>ce+%hG#V{BhO}P`gIGs$%pU zGoJ+ZJ-eKkOy$Ppzhl9Dh^tGR7vlYkw@)*eDu`_N<~7$~iNz%mhIM9n$0bZaOMAhl zOS1X6FsnPsei`7hm#>HNack`&d^`cniQrrvjhYO-(8o9V>r4#!w1!%>Ol>Yb@)`^;T`4`iN@6bQQg5M*UhjD9y;d3ki3b z1C*)(tk^H&57exy)vlHuS<BvszbaBfW#xqF^>OMf9U9s z6zv(Oe6;h4EWC|>N^s+UzJHDIOOqwL?NzVe7X06$Sc+=j-OqJvXK0jQA6F-Mjwnud zf};9-6y?;V8rMvb;`YAt#H61`#os4^_g+U!*v3m)ETf3i1K$LPMi-jcxi-^@E9ud? zGZ|A~?%Pap?23O#n|`}hk6DH?$zBM|6+E#fV$v3S-AQ78S`OU{yLe|fVgZzIjJ%Au zn381p-YRLh&ghL;5q;#JracJh;?h&@oM9JYN-q&(&qw*4KXxC%9O=fcPcgL*itKHi zvM4gYkwYmSh;bsUMLmivg5}+}M)CbsvBQz6C;LwfS2;?6vm!g9q7f-XfceXmXt3

Ok#uQQg>^KDQm;q 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 a9)UaoGijQTJ|7DFdoHCYStf26^#1^N3zlL4 literal 19171 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 Y^6{NJ9x1--xy=9sp00i_>zopr00KkYyZ`_I From 4600b071d7425a50ce9765d78a510f1552094d17 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 5 Jan 2024 12:43:23 +0100 Subject: [PATCH 036/100] minor fixes, lintr, docs --- DESCRIPTION | 2 +- NEWS.md | 3 +++ R/compare_performance.R | 20 +++++++-------- R/performance_aicc.R | 37 ++++++++++++--------------- man/compare_performance.Rd | 3 ++- man/model_performance.merMod.Rd | 3 ++- man/model_performance.rma.Rd | 3 ++- man/performance_aicc.Rd | 6 ++++- tests/testthat/test-performance_aic.R | 3 +++ 9 files changed, 45 insertions(+), 35 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 81872ed89..d0bd9f334 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.8 +Version: 0.10.8.9 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NEWS.md b/NEWS.md index 6fe789f56..5475776cc 100644 --- a/NEWS.md +++ b/NEWS.md @@ -12,6 +12,9 @@ * `check_itemscale()` gets a `print_html()` method. +* Clarification in the documentation of the `estimator` argument for + `performance_aic()`. + ## Bug fixes * Fixed issue in `binned_residuals()` for models with binary outcome, where diff --git a/R/compare_performance.R b/R/compare_performance.R index 76b0b329f..2318d5e63 100644 --- a/R/compare_performance.R +++ b/R/compare_performance.R @@ -86,21 +86,21 @@ #' @export compare_performance <- function(..., metrics = "all", rank = FALSE, estimator = "ML", verbose = TRUE) { # process input - objects <- insight::ellipsis_info(..., only_models = TRUE) + model_objects <- insight::ellipsis_info(..., only_models = TRUE) # ensure proper object names - objects <- .check_objectnames(objects, sapply(match.call(expand.dots = FALSE)$`...`, as.character)) + model_objects <- .check_objectnames(model_objects, sapply(match.call(expand.dots = FALSE)[["..."]], as.character)) # drop unsupport models - supported_models <- sapply(objects, function(i) insight::is_model_supported(i) | inherits(i, "lavaan")) - object_names <- names(objects) + supported_models <- sapply(model_objects, function(i) insight::is_model_supported(i) | inherits(i, "lavaan")) + object_names <- names(model_objects) if (!all(supported_models)) { insight::format_alert( "Following objects are not supported:", datawizard::text_concatenate(object_names[!supported_models], enclose = "`") ) - objects <- objects[supported_models] + model_objects <- model_objects[supported_models] object_names <- object_names[supported_models] } @@ -110,8 +110,8 @@ compare_performance <- function(..., metrics = "all", rank = FALSE, estimator = model_name <- gsub("\"", "", insight::safe_deparse(.y), fixed = TRUE) perf_df <- data.frame(Name = model_name, Model = class(.x)[1], dat, stringsAsFactors = FALSE) attributes(perf_df) <- c(attributes(perf_df), attributes(dat)[!names(attributes(dat)) %in% c("names", "row.names", "class")]) - return(perf_df) - }, objects, object_names, SIMPLIFY = FALSE) + perf_df + }, model_objects, object_names, SIMPLIFY = FALSE) attri <- lapply(m, function(x) { attri <- attributes(x) @@ -132,7 +132,7 @@ compare_performance <- function(..., metrics = "all", rank = FALSE, estimator = } # check if all models were fit from same data - if (!isTRUE(attributes(objects)$same_response) && verbose) { + if (!isTRUE(attributes(model_objects)$same_response) && verbose) { insight::format_alert( "When comparing models, please note that probably not all models were fit from same data." ) @@ -188,9 +188,9 @@ compare_performance <- function(..., metrics = "all", rank = FALSE, estimator = # only for IC comparison any(grepl("(AIC|BIC)", names(dfs))) && # only when mixed models are involved, others probably don't have problems with REML fit - any(sapply(objects, insight::is_mixed_model)) && + any(sapply(model_objects, insight::is_mixed_model)) && # only if not all models have same fixed effects (else, REML is ok) - !isTRUE(attributes(objects)$same_fixef)) { + !isTRUE(attributes(model_objects)$same_fixef)) { insight::format_alert( "Information criteria (like AIC) are based on REML fits (i.e. `estimator=\"REML\"`).", "Please note that information criteria are probably not directly comparable and that it is not recommended comparing models with different fixed effects in such cases." diff --git a/R/performance_aicc.R b/R/performance_aicc.R index 171a97ca2..e222dfc82 100644 --- a/R/performance_aicc.R +++ b/R/performance_aicc.R @@ -14,7 +14,8 @@ #' @param x A model object. #' @param estimator Only for linear models. Corresponds to the different #' estimators for the standard deviation of the errors. If `estimator = "ML"` -#' (default), the scaling is done by n (the biased ML estimator), which is +#' (default, except for `performance_aic()` when the model object is of class +#' `lmerMod`), the scaling is done by `n` (the biased ML estimator), which is #' then equivalent to using `AIC(logLik())`. Setting it to `"REML"` will give #' the same results as `AIC(logLik(..., REML = TRUE))`. #' @param verbose Toggle warnings. @@ -101,11 +102,16 @@ performance_aic.default <- function(x, estimator = "ML", verbose = TRUE, ...) { # mixed models ------------------------------------ +#' @rdname performance_aicc #' @export performance_aic.lmerMod <- function(x, estimator = "REML", verbose = TRUE, ...) { REML <- identical(estimator, "REML") if (isFALSE(list(...)$REML)) REML <- FALSE + if (isFALSE(as.logical(x@devcomp$dims[["REML"]])) && isTRUE(REML) && verbose) { + insight::format_alert("Model was not fitted with REML, however, `estimator = \"REML\"`. Set `estimator = \"ML\"` to obtain identical results as from `AIC()`.") # nolint + } + .safe( stats::AIC(insight::get_loglikelihood(x, check_response = TRUE, REML = REML, verbose = verbose)) ) @@ -275,26 +281,17 @@ performance_aicc.rma <- function(x, ...) { tryCatch( { trans <- insight::find_transformation(x) - - if (trans == "identity") { - .weighted_sum(log(insight::get_response(x)), w = model_weights) - } else if (trans == "log") { - .weighted_sum(log(1 / insight::get_response(x)), w = model_weights) - } else if (trans == "log1p") { - .weighted_sum(log(1 / (insight::get_response(x) + 1)), w = model_weights) - } else if (trans == "log2") { - .weighted_sum(log(1 / (insight::get_response(x) * log(2))), w = model_weights) - } else if (trans == "log10") { - .weighted_sum(log(1 / (insight::get_response(x) * log(10))), w = model_weights) - } else if (trans == "exp") { - .weighted_sum(insight::get_response(x), w = model_weights) - } else if (trans == "expm1") { - .weighted_sum((insight::get_response(x) - 1), w = model_weights) - } else if (trans == "sqrt") { - .weighted_sum(log(0.5 / sqrt(insight::get_response(x))), w = model_weights) - } else { + switch(trans, + identity = .weighted_sum(log(insight::get_response(x)), w = model_weights), + log = .weighted_sum(log(1 / insight::get_response(x)), w = model_weights), + log1p = .weighted_sum(log(1 / (insight::get_response(x) + 1)), w = model_weights), + log2 = .weighted_sum(log(1 / (insight::get_response(x) * log(2))), w = model_weights), + log10 = .weighted_sum(log(1 / (insight::get_response(x) * log(10))), w = model_weights), + exp = .weighted_sum(insight::get_response(x), w = model_weights), + expm1 = .weighted_sum((insight::get_response(x) - 1), w = model_weights), + sqrt = .weighted_sum(log(0.5 / sqrt(insight::get_response(x))), w = model_weights), .ll_jacobian_adjustment(x, model_weights) - } + ) }, error = function(e) { NULL diff --git a/man/compare_performance.Rd b/man/compare_performance.Rd index 30c324351..d6b17b9f1 100644 --- a/man/compare_performance.Rd +++ b/man/compare_performance.Rd @@ -25,7 +25,8 @@ overall model performance. See 'Details'.} \item{estimator}{Only for linear models. Corresponds to the different estimators for the standard deviation of the errors. If \code{estimator = "ML"} -(default), the scaling is done by n (the biased ML estimator), which is +(default, except for \code{performance_aic()} when the model object is of class +\code{lmerMod}), the scaling is done by \code{n} (the biased ML estimator), which is then equivalent to using \code{AIC(logLik())}. Setting it to \code{"REML"} will give the same results as \code{AIC(logLik(..., REML = TRUE))}.} diff --git a/man/model_performance.merMod.Rd b/man/model_performance.merMod.Rd index 519f1ee0a..2f02ea179 100644 --- a/man/model_performance.merMod.Rd +++ b/man/model_performance.merMod.Rd @@ -21,7 +21,8 @@ BIC, R2, ICC and RMSE.} \item{estimator}{Only for linear models. Corresponds to the different estimators for the standard deviation of the errors. If \code{estimator = "ML"} -(default), the scaling is done by n (the biased ML estimator), which is +(default, except for \code{performance_aic()} when the model object is of class +\code{lmerMod}), the scaling is done by \code{n} (the biased ML estimator), which is then equivalent to using \code{AIC(logLik())}. Setting it to \code{"REML"} will give the same results as \code{AIC(logLik(..., REML = TRUE))}.} diff --git a/man/model_performance.rma.Rd b/man/model_performance.rma.Rd index a035378ed..f6489005b 100644 --- a/man/model_performance.rma.Rd +++ b/man/model_performance.rma.Rd @@ -20,7 +20,8 @@ computed (some of \code{c("AIC", "BIC", "I2", "H2", "TAU2", "R2", "CochransQ", " \item{estimator}{Only for linear models. Corresponds to the different estimators for the standard deviation of the errors. If \code{estimator = "ML"} -(default), the scaling is done by n (the biased ML estimator), which is +(default, except for \code{performance_aic()} when the model object is of class +\code{lmerMod}), the scaling is done by \code{n} (the biased ML estimator), which is then equivalent to using \code{AIC(logLik())}. Setting it to \code{"REML"} will give the same results as \code{AIC(logLik(..., REML = TRUE))}.} diff --git a/man/performance_aicc.Rd b/man/performance_aicc.Rd index be3695527..0bf2120b7 100644 --- a/man/performance_aicc.Rd +++ b/man/performance_aicc.Rd @@ -4,6 +4,7 @@ \alias{performance_aicc} \alias{performance_aic} \alias{performance_aic.default} +\alias{performance_aic.lmerMod} \title{Compute the AIC or second-order AIC} \usage{ performance_aicc(x, ...) @@ -11,6 +12,8 @@ performance_aicc(x, ...) performance_aic(x, ...) \method{performance_aic}{default}(x, estimator = "ML", verbose = TRUE, ...) + +\method{performance_aic}{lmerMod}(x, estimator = "REML", verbose = TRUE, ...) } \arguments{ \item{x}{A model object.} @@ -19,7 +22,8 @@ performance_aic(x, ...) \item{estimator}{Only for linear models. Corresponds to the different estimators for the standard deviation of the errors. If \code{estimator = "ML"} -(default), the scaling is done by n (the biased ML estimator), which is +(default, except for \code{performance_aic()} when the model object is of class +\code{lmerMod}), the scaling is done by \code{n} (the biased ML estimator), which is then equivalent to using \code{AIC(logLik())}. Setting it to \code{"REML"} will give the same results as \code{AIC(logLik(..., REML = TRUE))}.} diff --git a/tests/testthat/test-performance_aic.R b/tests/testthat/test-performance_aic.R index ee255d0da..dedfb58b8 100644 --- a/tests/testthat/test-performance_aic.R +++ b/tests/testthat/test-performance_aic.R @@ -27,4 +27,7 @@ test_that("performance_aic lme4 default", { m1 <- lme4::lmer(Sepal.Length ~ Petal.Length + (1 | Species), data = iris) expect_equal(performance_aic(m1), AIC(m1), tolerance = 1e-2) expect_equal(performance_aic(m1, estimator = "ML"), 125.0043, tolerance = 1e-2) + m2 <- lme4::lmer(Sepal.Length ~ Petal.Length + (1 | Species), data = iris, REML = FALSE) + expect_equal(performance_aic(m2, estimator = "REML"), AIC(m2), tolerance = 1e-2) + expect_message(performance_aic(m2), regex = "was not fitted") }) From d01e1edab6bbbbaa159002f37240667d1daacb1a Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 7 Jan 2024 12:17:34 +0100 Subject: [PATCH 037/100] fix test --- tests/testthat/test-performance_aic.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/test-performance_aic.R b/tests/testthat/test-performance_aic.R index dedfb58b8..b9db63087 100644 --- a/tests/testthat/test-performance_aic.R +++ b/tests/testthat/test-performance_aic.R @@ -28,6 +28,6 @@ test_that("performance_aic lme4 default", { expect_equal(performance_aic(m1), AIC(m1), tolerance = 1e-2) expect_equal(performance_aic(m1, estimator = "ML"), 125.0043, tolerance = 1e-2) m2 <- lme4::lmer(Sepal.Length ~ Petal.Length + (1 | Species), data = iris, REML = FALSE) - expect_equal(performance_aic(m2, estimator = "REML"), AIC(m2), tolerance = 1e-2) + expect_equal(performance_aic(m2, estimator = "REML"), 128.0054, tolerance = 1e-2) expect_message(performance_aic(m2), regex = "was not fitted") }) From d6b742ecf8fbe63f31ebe428bacfb3ffc2abd2b6 Mon Sep 17 00:00:00 2001 From: Indrajeet Patil Date: Sun, 7 Jan 2024 19:10:57 +0100 Subject: [PATCH 038/100] bump Remi to author for outliers paper cc @rempsyc --- DESCRIPTION | 10 +++++----- man/performance-package.Rd | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index d0bd9f334..a4e31dc4d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -33,16 +33,16 @@ Authors@R: role = c("aut", "ctb"), email = "brenton@wiernik.org", comment = c(ORCID = "0000-0001-9560-6336", Twitter = "@bmwiernik")), + person(given = "Rémi", + family = "Thériault", + role = c("aut", "ctb"), + email = "remi.theriault@mail.mcgill.ca", + comment = c(ORCID = "0000-0003-4315-6788", Twitter = "@rempsyc")), person(given = "Vincent", family = "Arel-Bundock", email = "vincent.arel-bundock@umontreal.ca", role = "ctb", comment = c(ORCID = "0000-0003-2042-7063")), - person(given = "Rémi", - family = "Thériault", - role = "ctb", - email = "remi.theriault@mail.mcgill.ca", - comment = c(ORCID = "0000-0003-4315-6788", Twitter = "@rempsyc")), person(given = "Martin", family = "Jullum", role = "rev"), diff --git a/man/performance-package.Rd b/man/performance-package.Rd index 781db6a18..abbdcf21f 100644 --- a/man/performance-package.Rd +++ b/man/performance-package.Rd @@ -44,12 +44,12 @@ Authors: \item Indrajeet Patil \email{patilindrajeet.science@gmail.com} (\href{https://orcid.org/0000-0003-1995-6531}{ORCID}) (@patilindrajeets) [contributor] \item Philip Waggoner \email{philip.waggoner@gmail.com} (\href{https://orcid.org/0000-0002-7825-7573}{ORCID}) [contributor] \item Brenton M. Wiernik \email{brenton@wiernik.org} (\href{https://orcid.org/0000-0001-9560-6336}{ORCID}) (@bmwiernik) [contributor] + \item Rémi Thériault \email{remi.theriault@mail.mcgill.ca} (\href{https://orcid.org/0000-0003-4315-6788}{ORCID}) (@rempsyc) [contributor] } Other contributors: \itemize{ \item Vincent Arel-Bundock \email{vincent.arel-bundock@umontreal.ca} (\href{https://orcid.org/0000-0003-2042-7063}{ORCID}) [contributor] - \item Rémi Thériault \email{remi.theriault@mail.mcgill.ca} (\href{https://orcid.org/0000-0003-4315-6788}{ORCID}) (@rempsyc) [contributor] \item Martin Jullum [reviewer] \item gjo11 [reviewer] \item Etienne Bacher \email{etienne.bacher@protonmail.com} (\href{https://orcid.org/0000-0002-9271-5075}{ORCID}) [contributor] From a0b1275bbd3d0001273a80f912af33e10cc52364 Mon Sep 17 00:00:00 2001 From: Indrajeet Patil Date: Fri, 19 Jan 2024 11:58:23 +0100 Subject: [PATCH 039/100] retrigger workflow --- DESCRIPTION | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index a4e31dc4d..eda27e5c3 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.9 +Version: 0.10.8.10 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -71,7 +71,7 @@ Depends: Imports: bayestestR (>= 0.13.1), insight (>= 0.19.7), - datawizard (>= 0.9.0), + datawizard (>= 0.9.1), methods, stats, utils @@ -138,10 +138,10 @@ Suggests: see (>= 0.8.1), survey, survival, - testthat (>= 3.2.0), + testthat (>= 3.2.1), tweedie, VGAM, - withr + withr (>= 3.0.0) Encoding: UTF-8 Language: en-US RoxygenNote: 7.2.3.9000 From eac5e9824cf64e372a46a8d3eb17947329e9cb84 Mon Sep 17 00:00:00 2001 From: Indrajeet Patil Date: Fri, 19 Jan 2024 22:58:42 +0100 Subject: [PATCH 040/100] bandaid for curl non-issue --- tests/testthat/test-icc.R | 3 +++ tests/testthat/test-model_performance.bayesian.R | 2 ++ tests/testthat/test-model_performance.merMod.R | 1 + 3 files changed, 6 insertions(+) diff --git a/tests/testthat/test-icc.R b/tests/testthat/test-icc.R index 7b467ac51..ad4e4b033 100644 --- a/tests/testthat/test-icc.R +++ b/tests/testthat/test-icc.R @@ -38,6 +38,7 @@ test_that("icc, CI", { test_that("icc", { skip_on_cran() + skip_if_not_installed("curl") skip_if_offline() skip_if_not_installed("httr") m2 <- insight::download_model("stanreg_lmerMod_1") @@ -54,6 +55,7 @@ test_that("icc", { test_that("icc", { skip_on_cran() + skip_if_not_installed("curl") skip_if_offline() skip_if_not_installed("httr") m3 <- insight::download_model("brms_mixed_1") @@ -67,6 +69,7 @@ test_that("icc", { test_that("icc", { skip_on_cran() + skip_if_not_installed("curl") skip_if_offline() skip_if_not_installed("httr") m3 <- insight::download_model("brms_mixed_1") diff --git a/tests/testthat/test-model_performance.bayesian.R b/tests/testthat/test-model_performance.bayesian.R index 2f933e76c..57ef8e0eb 100644 --- a/tests/testthat/test-model_performance.bayesian.R +++ b/tests/testthat/test-model_performance.bayesian.R @@ -1,5 +1,6 @@ test_that("model_performance.stanreg", { skip_on_cran() + skip_if_not_installed("curl") skip_if_offline() skip_if_not_installed("httr") set.seed(333) @@ -31,6 +32,7 @@ test_that("model_performance.stanreg", { test_that("model_performance.brmsfit", { skip_on_cran() + skip_if_not_installed("curl") skip_if_offline() skip_if_not_installed("httr") set.seed(333) diff --git a/tests/testthat/test-model_performance.merMod.R b/tests/testthat/test-model_performance.merMod.R index 12ed44ede..0c70da3c3 100644 --- a/tests/testthat/test-model_performance.merMod.R +++ b/tests/testthat/test-model_performance.merMod.R @@ -1,5 +1,6 @@ test_that("model_performance.merMod", { skip_on_cran() + skip_if_not_installed("curl") skip_if_offline() skip_if_not_installed("httr") From 9760393c33ea96b30d17a539427360d32876d744 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 07:44:25 +0100 Subject: [PATCH 041/100] Update `DESCRIPTION` to use latest 'easystats' dependencies (#677) Co-authored-by: IndrajeetPatil --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index eda27e5c3..30285f897 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -70,7 +70,7 @@ Depends: R (>= 3.6) Imports: bayestestR (>= 0.13.1), - insight (>= 0.19.7), + insight (>= 0.19.8), datawizard (>= 0.9.1), methods, stats, From e946088fbf8898248bfc0aeabcdf186a7faed0b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Th=C3=A9riault?= <13123390+rempsyc@users.noreply.github.com> Date: Sun, 4 Feb 2024 21:26:36 +0100 Subject: [PATCH 042/100] Fix problem with `percentage_central` argument in `check_outliers()` with MCD method (#673) Co-authored-by: Daniel --- DESCRIPTION | 4 +- NEWS.md | 3 + R/check_heterogeneity_bias.R | 10 +-- R/check_model.R | 14 ++-- R/check_model_diagnostics.R | 74 ++++++++--------- R/check_outliers.R | 119 ++++++++++++++++----------- R/icc.R | 42 +++++----- R/r2.R | 8 +- R/r2_bayes.R | 42 +++++----- R/r2_coxsnell.R | 36 ++++---- R/r2_loo.R | 58 +++++++------ R/test_bf.R | 20 ++--- R/test_likelihoodratio.R | 22 ++--- R/test_performance.R | 16 ++-- R/test_vuong.R | 10 +-- R/test_wald.R | 24 +++--- man/check_outliers.Rd | 8 +- man/performance-package.Rd | 1 - tests/testthat/test-check_outliers.R | 33 +++++--- vignettes/check_outliers.Rmd | 6 +- 20 files changed, 284 insertions(+), 266 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 30285f897..9391ecf34 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.10 +Version: 0.10.8.11 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -144,7 +144,7 @@ Suggests: withr (>= 3.0.0) Encoding: UTF-8 Language: en-US -RoxygenNote: 7.2.3.9000 +RoxygenNote: 7.3.1 Roxygen: list(markdown = TRUE) Config/testthat/edition: 3 Config/testthat/parallel: true diff --git a/NEWS.md b/NEWS.md index 5475776cc..0cc49b785 100644 --- a/NEWS.md +++ b/NEWS.md @@ -23,6 +23,9 @@ * `performance_score()` should no longer fail for models where scoring rules can't be calculated. Instead, an informative message is returned. +* `check_outliers()` now properly accept the `percentage_central` argument when + using the `"mcd"` method. + # performance 0.10.8 ## Changes diff --git a/R/check_heterogeneity_bias.R b/R/check_heterogeneity_bias.R index b87aa9962..d9bb337f9 100644 --- a/R/check_heterogeneity_bias.R +++ b/R/check_heterogeneity_bias.R @@ -31,9 +31,9 @@ check_heterogeneity_bias <- function(x, select = NULL, group = NULL) { if (insight::is_model(x)) { group <- insight::find_random(x, split_nested = TRUE, flatten = TRUE) if (is.null(group)) { - insight::format_error("Model is no mixed model. Please provide a mixed model, or a data frame and arguments `select` and `group`.") + insight::format_error("Model is no mixed model. Please provide a mixed model, or a data frame and arguments `select` and `group`.") # nolint } - data <- insight::get_data(x, source = "mf", verbose = FALSE) + my_data <- insight::get_data(x, source = "mf", verbose = FALSE) select <- insight::find_predictors(x, effects = "fixed", component = "conditional", flatten = TRUE) } else { if (inherits(select, "formula")) { @@ -42,15 +42,15 @@ check_heterogeneity_bias <- function(x, select = NULL, group = NULL) { if (inherits(group, "formula")) { group <- all.vars(group) } - data <- x + my_data <- x } - unique_groups <- .n_unique(data[[group]]) + unique_groups <- .n_unique(my_data[[group]]) combinations <- expand.grid(select, group) result <- Map(function(predictor, id) { # demean predictor - d <- datawizard::demean(data, select = predictor, group = id, verbose = FALSE) + d <- datawizard::demean(my_data, select = predictor, group = id, verbose = FALSE) # get new names within_name <- paste0(predictor, "_within") diff --git a/R/check_model.R b/R/check_model.R index e261704a5..2a8672823 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -184,14 +184,12 @@ check_model.default <- function(x, minfo <- insight::model_info(x, verbose = FALSE) ca <- tryCatch( - { - if (minfo$is_bayesian) { - suppressWarnings(.check_assumptions_stan(x, ...)) - } else if (minfo$is_linear) { - suppressWarnings(.check_assumptions_linear(x, minfo, verbose, ...)) - } else { - suppressWarnings(.check_assumptions_glm(x, minfo, verbose, ...)) - } + if (minfo$is_bayesian) { + suppressWarnings(.check_assumptions_stan(x, ...)) + } else if (minfo$is_linear) { + suppressWarnings(.check_assumptions_linear(x, minfo, verbose, ...)) + } else { + suppressWarnings(.check_assumptions_glm(x, minfo, verbose, ...)) }, error = function(e) { NULL diff --git a/R/check_model_diagnostics.R b/R/check_model_diagnostics.R index 6e398efa8..754616ee6 100644 --- a/R/check_model_diagnostics.R +++ b/R/check_model_diagnostics.R @@ -94,29 +94,25 @@ insight::check_if_installed("lme4") tryCatch( - { - if (inherits(model, "glmmTMB")) { - var_attr <- "condVar" - re <- .collapse_cond(lme4::ranef(model, condVar = TRUE)) - } else { - var_attr <- "postVar" - re <- lme4::ranef(model, condVar = TRUE) - } + if (inherits(model, "glmmTMB")) { + var_attr <- "condVar" + re <- .collapse_cond(lme4::ranef(model, condVar = TRUE)) + } else { + var_attr <- "postVar" + re <- lme4::ranef(model, condVar = TRUE) }, error = function(e) { - return(NULL) + NULL } ) se <- tryCatch( - { - suppressWarnings(lapply(re, function(.x) { - pv <- attr(.x, var_attr, exact = TRUE) - cols <- seq_len(dim(pv)[1]) - unlist(lapply(cols, function(.y) sqrt(pv[.y, .y, ]))) - })) - }, + suppressWarnings(lapply(re, function(.x) { + pv <- attr(.x, var_attr, exact = TRUE) + cols <- seq_len(dim(pv)[1]) + unlist(lapply(cols, function(.y) sqrt(pv[.y, .y, ]))) + })), error = function(e) { NULL } @@ -186,15 +182,15 @@ n_params <- tryCatch(model$rank, error = function(e) insight::n_parameters(model)) infl <- stats::influence(model, do.coef = FALSE) - resid <- as.numeric(insight::get_residuals(model)) + model_resid <- as.numeric(insight::get_residuals(model)) - std_resid <- tryCatch(stats::rstandard(model, infl), error = function(e) resid) + std_resid <- tryCatch(stats::rstandard(model, infl), error = function(e) model_resid) plot_data <- data.frame( Hat = infl$hat, Cooks_Distance = stats::cooks.distance(model, infl), Fitted = insight::get_predicted(model, ci = NULL), - Residuals = resid, + Residuals = model_resid, Std_Residuals = std_resid, stringsAsFactors = FALSE ) @@ -213,12 +209,10 @@ .diag_ncv <- function(model, verbose = TRUE) { ncv <- tryCatch( - { - data.frame( - x = as.numeric(stats::fitted(model)), - y = as.numeric(stats::residuals(model)) - ) - }, + data.frame( + x = as.numeric(stats::fitted(model)), + y = as.numeric(stats::residuals(model)) + ), error = function(e) { NULL } @@ -244,24 +238,22 @@ .diag_homogeneity <- function(model, verbose = TRUE) { faminfo <- insight::model_info(model) r <- tryCatch( - { - if (inherits(model, "merMod")) { - stats::residuals(model, scaled = TRUE) - } else if (inherits(model, "gam")) { - stats::residuals(model, type = "scaled.pearson") - } else if (inherits(model, c("glmmTMB", "MixMod"))) { - sigma <- if (faminfo$is_mixed) { - sqrt(insight::get_variance_residual(model)) - } else { - .sigma_glmmTMB_nonmixed(model, faminfo) - } - stats::residuals(model) / sigma - } else if (inherits(model, "glm")) { - ## TODO: check if we can / should use deviance residuals (as for QQ plots) here as well? - stats::rstandard(model, type = "pearson") + if (inherits(model, "merMod")) { + stats::residuals(model, scaled = TRUE) + } else if (inherits(model, "gam")) { + stats::residuals(model, type = "scaled.pearson") + } else if (inherits(model, c("glmmTMB", "MixMod"))) { + residual_sigma <- if (faminfo$is_mixed) { + sqrt(insight::get_variance_residual(model)) } else { - stats::rstandard(model) + .sigma_glmmTMB_nonmixed(model, faminfo) } + stats::residuals(model) / residual_sigma + } else if (inherits(model, "glm")) { + ## TODO: check if we can / should use deviance residuals (as for QQ plots) here as well? + stats::rstandard(model, type = "pearson") + } else { + stats::rstandard(model) }, error = function(e) { NULL diff --git a/R/check_outliers.R b/R/check_outliers.R index 2a1d185d3..f3bf7f5a9 100644 --- a/R/check_outliers.R +++ b/R/check_outliers.R @@ -25,7 +25,8 @@ #' @param ID Optional, to report an ID column along with the row number. #' @param ... When `method = "ics"`, further arguments in `...` are passed #' down to [ICSOutlier::ics.outlier()]. When `method = "mahalanobis"`, -#' they are passed down to [stats::mahalanobis()]. +#' they are passed down to [stats::mahalanobis()]. `percentage_central` can +#' be specified when `method = "mcd"`. #' #' @return A logical vector of the detected outliers with a nice printing #' method: a check (message) on whether outliers were detected or not. The @@ -160,6 +161,9 @@ #' the data (by default, 66\%), before computing the Mahalanobis Distance. This #' is deemed to be a more robust method of identifying and removing outliers #' than regular Mahalanobis distance. +#' This method has a `percentage_central` argument that allows specifying +#' the breakdown point (0.75, the default, is recommended by Leys et al. 2018, +#' but a commonly used alternative is 0.50). #' #' - **Invariant Coordinate Selection (ICS)**: #' The outlier are detected using ICS, which by default uses an alpha threshold @@ -308,7 +312,7 @@ #' @examplesIf require("see") && require("bigutilsr") && require("loo") && require("MASS") && require("ICSOutlier") && require("ICS") && require("dbscan") #' \donttest{ #' # You can also run all the methods -#' check_outliers(data, method = "all") +#' check_outliers(data, method = "all", verbose = FALSE) #' #' # For statistical models --------------------------------------------- #' # select only mpg and disp (continuous) @@ -385,16 +389,16 @@ check_outliers.default <- function(x, ) # Get data - data <- insight::get_data(x, verbose = FALSE) + my_data <- insight::get_data(x, verbose = FALSE) # Remove non-numerics - data <- datawizard::data_select(data, select = is.numeric) + my_data <- datawizard::data_select(my_data, select = is.numeric) # Thresholds if (is.null(threshold)) { - thresholds <- .check_outliers_thresholds(data) + thresholds <- .check_outliers_thresholds(my_data) } else if (is.list(threshold)) { - thresholds <- .check_outliers_thresholds(data) + thresholds <- .check_outliers_thresholds(my_data) thresholds[names(threshold)] <- threshold[names(threshold)] } else { insight::format_error( @@ -411,15 +415,15 @@ check_outliers.default <- function(x, # Others if (all(method %in% c("cook", "pareto"))) { - df <- data.frame(Row = seq_len(nrow(as.data.frame(data)))) + my_df <- data.frame(Row = seq_len(nrow(as.data.frame(my_data)))) outlier_count <- list() outlier_var <- list() } else { - out <- check_outliers(data, method, threshold) + out <- check_outliers(my_data, method, threshold) outlier_var <- attributes(out)$outlier_var outlier_count <- attributes(out)$outlier_count - df <- attributes(out)$data - df <- df[!names(df) == "Outlier"] + my_df <- attributes(out)$data + my_df <- my_df[names(my_df) != "Outlier"] } # Cook @@ -429,7 +433,7 @@ check_outliers.default <- function(x, threshold = thresholds$cook )$data_cook - df <- datawizard::data_merge(list(df, data_cook), + my_df <- datawizard::data_merge(list(my_df, data_cook), join = "full", by = "Row" ) @@ -459,7 +463,7 @@ check_outliers.default <- function(x, ) } } else { - method <- method[!(method == "cook")] + method <- method[method != "cook"] } # Pareto @@ -469,7 +473,7 @@ check_outliers.default <- function(x, threshold = thresholds$pareto )$data_pareto - df <- datawizard::data_merge(list(df, data_pareto), + my_df <- datawizard::data_merge(list(my_df, data_pareto), join = "full", by = "Row" ) @@ -499,7 +503,7 @@ check_outliers.default <- function(x, ) } } else { - method <- method[!(method == "pareto")] + method <- method[method != "pareto"] } outlier_count$all <- datawizard::convert_na_to(outlier_count$all, @@ -531,21 +535,21 @@ check_outliers.default <- function(x, thresholds <- thresholds[names(thresholds) %in% method] # Composite outlier score - df$Outlier <- rowMeans(df[grepl("Outlier_", names(df), fixed = TRUE)]) - df <- df[c(names(df)[names(df) != "Outlier"], "Outlier")] + my_df$Outlier <- rowMeans(my_df[grepl("Outlier_", names(my_df), fixed = TRUE)]) + my_df <- my_df[c(names(my_df)[names(my_df) != "Outlier"], "Outlier")] # Out - outlier <- df$Outlier > 0.5 + outlier <- my_df$Outlier > 0.5 # Attributes class(outlier) <- c("check_outliers", "see_check_outliers", class(outlier)) - attr(outlier, "data") <- df + attr(outlier, "data") <- my_df attr(outlier, "threshold") <- thresholds attr(outlier, "method") <- method attr(outlier, "text_size") <- 3 attr(outlier, "influential_obs") <- .influential_obs(x) attr(outlier, "variables") <- "(Whole model)" - attr(outlier, "raw_data") <- data + attr(outlier, "raw_data") <- my_data attr(outlier, "outlier_var") <- outlier_var attr(outlier, "outlier_count") <- outlier_count @@ -798,7 +802,7 @@ check_outliers.data.frame <- function(x, ) # Remove non-numerics - data <- x + my_data <- x x <- x[, vapply(x, is.numeric, logical(1)), drop = FALSE] # Check args @@ -841,20 +845,20 @@ check_outliers.data.frame <- function(x, outlier_var <- out.meta$outlier_var # Combine outlier data - df <- out[vapply(out, is.data.frame, logical(1))] - if (length(df) > 1 && !is.null(ID)) { - df <- datawizard::data_merge(df, by = c("Row", ID)) - } else if (length(df) > 1) { - df <- datawizard::data_merge(df, by = "Row") + my_df <- out[vapply(out, is.data.frame, logical(1))] + if (length(my_df) > 1 && !is.null(ID)) { + my_df <- datawizard::data_merge(my_df, by = c("Row", ID)) + } else if (length(my_df) > 1) { + my_df <- datawizard::data_merge(my_df, by = "Row") } else { - df <- df[[1]] + my_df <- my_df[[1]] } # Composite outlier score - df$Outlier <- rowMeans(df[grepl("Outlier_", names(df), fixed = TRUE)]) + my_df$Outlier <- rowMeans(my_df[grepl("Outlier_", names(my_df), fixed = TRUE)]) # Out - outlier <- df$Outlier > 0.5 + outlier <- my_df$Outlier > 0.5 # Combine outlier frequency table if (length(outlier_count) > 1 && !is.null(ID)) { @@ -896,12 +900,12 @@ check_outliers.data.frame <- function(x, # Attributes class(outlier) <- c("check_outliers", "see_check_outliers", class(outlier)) - attr(outlier, "data") <- df + attr(outlier, "data") <- my_df attr(outlier, "threshold") <- thresholds attr(outlier, "method") <- method attr(outlier, "text_size") <- 3 attr(outlier, "variables") <- names(x) - attr(outlier, "raw_data") <- data + attr(outlier, "raw_data") <- my_data attr(outlier, "outlier_var") <- outlier_var attr(outlier, "outlier_count") <- outlier_count outlier @@ -914,7 +918,7 @@ check_outliers.data.frame <- function(x, outlier.list <- lapply(outlier.list, function(x) { x[x[[Outlier_method]] >= 0.5, ] }) - outlier.list <- outlier.list[lapply(outlier.list, nrow) > 0] + outlier.list <- outlier.list[vapply(outlier.list, nrow, numeric(1)) > 0] outlier.list <- lapply(outlier.list, datawizard::data_remove, Outlier_method, as_data_frame = TRUE @@ -1098,8 +1102,8 @@ check_outliers.data.frame <- function(x, out <- c(out, .check_outliers_mcd( x, threshold = thresholds$mcd, - percentage_central = 0.66, - ID.names = ID.names + ID.names = ID.names, + ... )) count.table <- datawizard::data_filter( @@ -1217,7 +1221,7 @@ check_outliers.grouped_df <- function(x, } # Initialize elements - data <- data.frame() + my_data <- data.frame() out <- NULL thresholds <- list() outlier_var <- list() @@ -1226,24 +1230,24 @@ check_outliers.grouped_df <- function(x, # Loop through groups for (i in seq_along(grps)) { rows <- grps[[i]] - subset <- check_outliers( + outliers_subset <- check_outliers( as.data.frame(x[rows, ]), method = method, threshold = threshold, ID = ID, ... ) - data <- rbind(data, as.data.frame(subset)) - out <- c(out, subset) - thresholds[[paste0("group_", i)]] <- attributes(subset)$threshold + my_data <- rbind(my_data, as.data.frame(outliers_subset)) + out <- c(out, outliers_subset) + thresholds[[paste0("group_", i)]] <- attributes(outliers_subset)$threshold outlier_var[[i]] <- lapply( - attributes(subset)$outlier_var, lapply, function(y) { + attributes(outliers_subset)$outlier_var, lapply, function(y) { y$Row <- rows[which(seq_along(rows) %in% y$Row)] y } ) outlier_count[[i]] <- lapply( - attributes(subset)$outlier_count, function(y) { + attributes(outliers_subset)$outlier_count, function(y) { y$Row <- rows[which(seq_along(rows) %in% y$Row)] y } @@ -1264,16 +1268,16 @@ check_outliers.grouped_df <- function(x, info$groups$.rows[[x]] <- as.data.frame(info$groups$.rows[[x]]) }) - data[names(info$groups)[1]] <- do.call(rbind, groups) - data <- datawizard::data_relocate( - data, + my_data[names(info$groups)[1]] <- do.call(rbind, groups) + my_data <- datawizard::data_relocate( + my_data, select = names(info$groups)[1], after = "Row" ) - data$Row <- seq_len(nrow(data)) + my_data$Row <- seq_len(nrow(my_data)) class(out) <- c("check_outliers", "see_check_outliers", class(out)) - attr(out, "data") <- data + attr(out, "data") <- my_data attr(out, "method") <- method attr(out, "threshold") <- thresholds[[1]] attr(out, "text_size") <- 3 @@ -1434,7 +1438,7 @@ check_outliers.metabin <- check_outliers.metagen bci <- 1 - 0.001 cook <- stats::qf(0.5, ncol(x), nrow(x) - ncol(x)) pareto <- 0.7 - mahalanobis <- stats::qchisq(p = 1 - 0.001, df = ncol(x)) + mahalanobis_value <- stats::qchisq(p = 1 - 0.001, df = ncol(x)) mahalanobis_robust <- stats::qchisq(p = 1 - 0.001, df = ncol(x)) mcd <- stats::qchisq(p = 1 - 0.001, df = ncol(x)) ics <- 0.001 @@ -1451,7 +1455,7 @@ check_outliers.metabin <- check_outliers.metagen bci = bci, cook = cook, pareto = pareto, - mahalanobis = mahalanobis, + mahalanobis = mahalanobis_value, mahalanobis_robust = mahalanobis_robust, mcd = mcd, ics = ics, @@ -1726,14 +1730,31 @@ check_outliers.metabin <- check_outliers.metagen .check_outliers_mcd <- function(x, threshold = stats::qchisq(p = 1 - 0.001, df = ncol(x)), - percentage_central = 0.50, - ID.names = NULL) { + percentage_central = 0.75, + ID.names = NULL, + verbose = TRUE, + ...) { out <- data.frame(Row = seq_len(nrow(x))) if (!is.null(ID.names)) { out <- cbind(out, ID.names) } + # check whether N to p ratio is not too large, else MCD flags too many outliers + # See #672: This does seem to be a function of the N/p (N = sample size; p = + # number of parameters) ratio. When it is larger than 10, the % of outliers + # flagged is okay (in well behaved data). This makes sense: the MCD looks at + # the cov matrix of subsamples of the data - with high dimensional data, small + # samples sizes will give highly variable cov matrices, as so the "smallest" + # one will probably miss-represent the data. + + if ((nrow(x) / ncol(x)) <= 10 && isTRUE(verbose)) { + insight::format_warning( + "The sample size is too small in your data, relative to the number of variables, for MCD to be reliable.", + "You may try to increase the `percentage_central` argument (must be between 0 and 1), or choose another method." + ) + } + insight::check_if_installed("MASS") # Compute diff --git a/R/icc.R b/R/icc.R index 46c1a331a..47fbb9a45 100644 --- a/R/icc.R +++ b/R/icc.R @@ -532,14 +532,12 @@ print.icc_decomposed <- function(x, digits = 2, ...) { name_full = "ICC", verbose = TRUE) { vars <- tryCatch( - { - insight::get_variance(model, - name_fun = name_fun, - name_full = name_full, - tolerance = tolerance, - verbose = verbose - ) - }, + insight::get_variance(model, + name_fun = name_fun, + name_full = name_full, + tolerance = tolerance, + verbose = verbose + ), error = function(e) { if (inherits(e, c("simpleError", "error")) && verbose) { insight::print_color(e$message, "red") @@ -597,7 +595,7 @@ print.icc_decomposed <- function(x, digits = 2, ...) { # prepare arguments for "lme4::bootMer" .do_lme4_bootmer <- function(model, .boot_fun, iterations, dots) { insight::check_if_installed(c("lme4", "boot")) - args <- list( + my_args <- list( model, .boot_fun, nsim = iterations, @@ -608,25 +606,25 @@ print.icc_decomposed <- function(x, digits = 2, ...) { ) # add/overwrite dot-args if (!is.null(dots[["use.u"]])) { - args$use.u <- dots[["use.u"]] + my_args$use.u <- dots[["use.u"]] } if (!is.null(dots[["re.form"]])) { - args$re.form <- dots[["re.form"]] + my_args$re.form <- dots[["re.form"]] } if (!is.null(dots[["type"]])) { - args$type <- dots[["type"]] - if (args$type == "semiparametric") { - args$use.u <- TRUE + my_args$type <- dots[["type"]] + if (my_args$type == "semiparametric") { + my_args$use.u <- TRUE } } if (!is.null(dots[["parallel"]])) { - args$parallel <- dots[["parallel"]] + my_args$parallel <- dots[["parallel"]] } if (!is.null(dots[["ncpus"]])) { - args$ncpus <- dots[["ncpus"]] + my_args$ncpus <- dots[["ncpus"]] } # bootsrap - do.call(lme4::bootMer, args) + do.call(lme4::bootMer, args = my_args) } @@ -664,12 +662,10 @@ print.icc_decomposed <- function(x, digits = 2, ...) { } model_rank <- tryCatch( - { - if (!is.null(model$rank)) { - model$rank - df_int - } else { - insight::n_parameters(model) - df_int - } + if (!is.null(model$rank)) { + model$rank - df_int + } else { + insight::n_parameters(model) - df_int }, error = function(e) insight::n_parameters(model) - df_int ) diff --git a/R/r2.R b/R/r2.R index dacdef614..2789b5efe 100644 --- a/R/r2.R +++ b/R/r2.R @@ -896,12 +896,10 @@ r2.DirichletRegModel <- function(model, ...) { m <- sum(w * f / sum(w)) mss <- sum(w * (f - m)^2) } + } else if (is.null(w)) { + mss <- sum(f^2) } else { - if (is.null(w)) { - mss <- sum(f^2) - } else { - mss <- sum(w * f^2) - } + mss <- sum(w * f^2) } if (is.null(w)) { rss <- sum(r^2) diff --git a/R/r2_bayes.R b/R/r2_bayes.R index 24e8269ba..71a44ef43 100644 --- a/R/r2_bayes.R +++ b/R/r2_bayes.R @@ -201,28 +201,26 @@ r2_posterior.brmsfit <- function(model, verbose = TRUE, ...) { }) names(br2) <- res } + } else if (mi$is_mixed) { + br2 <- list( + R2_Bayes = as.vector(rstantools::bayes_R2( + model, + re.form = NULL, + re_formula = NULL, + summary = FALSE + )), + R2_Bayes_marginal = as.vector(rstantools::bayes_R2( + model, + re.form = NA, + re_formula = NA, + summary = FALSE + )) + ) + names(br2$R2_Bayes) <- rep("Conditional R2", length(br2$R2_Bayes)) + names(br2$R2_Bayes_marginal) <- rep("Marginal R2", length(br2$R2_Bayes)) } else { - if (mi$is_mixed) { - br2 <- list( - R2_Bayes = as.vector(rstantools::bayes_R2( - model, - re.form = NULL, - re_formula = NULL, - summary = FALSE - )), - R2_Bayes_marginal = as.vector(rstantools::bayes_R2( - model, - re.form = NA, - re_formula = NA, - summary = FALSE - )) - ) - names(br2$R2_Bayes) <- rep("Conditional R2", length(br2$R2_Bayes)) - names(br2$R2_Bayes_marginal) <- rep("Marginal R2", length(br2$R2_Bayes)) - } else { - br2 <- list(R2_Bayes = as.vector(rstantools::bayes_R2(model, summary = FALSE))) - names(br2$R2_Bayes) <- rep("R2", length(br2$R2_Bayes)) - } + br2 <- list(R2_Bayes = as.vector(rstantools::bayes_R2(model, summary = FALSE))) + names(br2$R2_Bayes) <- rep("R2", length(br2$R2_Bayes)) } br2 @@ -400,7 +398,7 @@ as.data.frame.r2_bayes <- function(x, ...) { # remove sig and g cols params_theta <- params[, !grepl(pattern = "^sig2$|^g_|^g$", colnames(params))] - params_sigma <- sqrt(params[, grepl(pattern = "^sig2$", colnames(params))]) + params_sigma <- sqrt(params[, colnames(params) == "sig2"]) # Model Matrix mm <- insight::get_modelmatrix(model[1]) diff --git a/R/r2_coxsnell.R b/R/r2_coxsnell.R index d56803f5c..042e5461a 100644 --- a/R/r2_coxsnell.R +++ b/R/r2_coxsnell.R @@ -69,20 +69,20 @@ r2_coxsnell.glm <- function(model, verbose = TRUE, ...) { if (is.null(info)) { info <- suppressWarnings(insight::model_info(model, verbose = FALSE)) } + # Cox & Snell's R2 is not defined for binomial models that are not Bernoulli models if (info$is_binomial && !info$is_bernoulli && class(model)[1] == "glm") { if (verbose) { insight::format_alert("Can't calculate accurate R2 for binomial models that are not Bernoulli models.") } return(NULL) - } else { - # if no deviance, return NA - if (is.null(model$deviance)) { - return(NULL) - } - r2_coxsnell <- (1 - exp((model$deviance - model$null.deviance) / insight::n_obs(model, disaggregate = TRUE))) - names(r2_coxsnell) <- "Cox & Snell's R2" - r2_coxsnell } + # if no deviance, return NULL + if (is.null(model$deviance)) { + return(NULL) + } + r2_coxsnell <- (1 - exp((model$deviance - model$null.deviance) / insight::n_obs(model, disaggregate = TRUE))) + names(r2_coxsnell) <- "Cox & Snell's R2" + r2_coxsnell } #' @export @@ -95,22 +95,22 @@ r2_coxsnell.glmmTMB <- function(model, verbose = TRUE, ...) { if (is.null(info)) { info <- suppressWarnings(insight::model_info(model, verbose = FALSE)) } + # Cox & Snell's R2 is not defined for binomial models that are not Bernoulli models if (info$is_binomial && !info$is_bernoulli) { if (verbose) { insight::format_alert("Can't calculate accurate R2 for binomial models that are not Bernoulli models.") } return(NULL) - } else { - dev <- stats::deviance(model) - # if no deviance, return NA - if (is.null(dev)) { - return(NULL) - } - null_dev <- stats::deviance(insight::null_model(model)) - r2_coxsnell <- (1 - exp((dev - null_dev) / insight::n_obs(model, disaggregate = TRUE))) - names(r2_coxsnell) <- "Cox & Snell's R2" - r2_coxsnell } + dev <- stats::deviance(model) + # if no deviance, return NULL + if (is.null(dev)) { + return(NULL) + } + null_dev <- stats::deviance(insight::null_model(model)) + r2_coxsnell <- (1 - exp((dev - null_dev) / insight::n_obs(model, disaggregate = TRUE))) + names(r2_coxsnell) <- "Cox & Snell's R2" + r2_coxsnell } diff --git a/R/r2_loo.R b/R/r2_loo.R index 040d9b572..dbcaf38b3 100644 --- a/R/r2_loo.R +++ b/R/r2_loo.R @@ -50,10 +50,10 @@ r2_loo <- function(model, robust = TRUE, ci = 0.95, verbose = TRUE, ...) { loo_r2 <- structure( class = "r2_loo", lapply(loo_r2, ifelse(robust, stats::median, mean)), - "SE" = lapply(loo_r2, ifelse(robust, stats::mad, stats::sd)), + SE = lapply(loo_r2, ifelse(robust, stats::mad, stats::sd)), # "Estimates" = lapply(r2_bayesian, bayestestR::point_estimate, centrality = "all", dispersion = TRUE), - "CI" = lapply(loo_r2, bayestestR::hdi, ci = ci), - "robust" = robust + CI = lapply(loo_r2, bayestestR::hdi, ci = ci), + robust = robust ) return(loo_r2) } @@ -84,13 +84,13 @@ r2_loo_posterior.brmsfit <- function(model, verbose = TRUE, ...) { res <- insight::find_response(model) if (mi[[1]]$is_mixed) { br2_mv <- list( - "R2_loo" = rstantools::loo_R2( + R2_loo = rstantools::loo_R2( model, re.form = NULL, re_formula = NULL, summary = FALSE ), - "R2_loo_marginal" = rstantools::loo_R2( + R2_loo_marginal = rstantools::loo_R2( model, re.form = NA, re_formula = NA, @@ -99,40 +99,38 @@ r2_loo_posterior.brmsfit <- function(model, verbose = TRUE, ...) { ) br2 <- lapply(seq_along(res), function(x) { list( - "R2_loo" = unname(as.vector(br2_mv$R2_loo[, x])), - "R2_loo_marginal" = unname(as.vector(br2_mv$R2_loo_marginal[, x])) + R2_loo = unname(as.vector(br2_mv$R2_loo[, x])), + R2_loo_marginal = unname(as.vector(br2_mv$R2_loo_marginal[, x])) ) }) names(br2) <- res } else { - br2_mv <- list("R2_loo" = rstantools::loo_R2(model, summary = FALSE)) + br2_mv <- list(R2_loo = rstantools::loo_R2(model, summary = FALSE)) br2 <- lapply(seq_along(res), function(x) { - list("R2_loo" = unname(as.vector(br2_mv$R2_loo[, x]))) + list(R2_loo = unname(as.vector(br2_mv$R2_loo[, x]))) }) names(br2) <- res } + } else if (mi$is_mixed) { + br2 <- list( + R2_loo = as.vector(rstantools::loo_R2( + model, + re.form = NULL, + re_formula = NULL, + summary = FALSE + )), + R2_loo_marginal = as.vector(rstantools::loo_R2( + model, + re.form = NA, + re_formula = NA, + summary = FALSE + )) + ) + names(br2$R2_loo) <- rep("Conditional R2_adjusted", length(br2$R2_loo)) + names(br2$R2_loo_marginal) <- rep("Marginal R2_adjusted", length(br2$R2_loo)) } else { - if (mi$is_mixed) { - br2 <- list( - "R2_loo" = as.vector(rstantools::loo_R2( - model, - re.form = NULL, - re_formula = NULL, - summary = FALSE - )), - "R2_loo_marginal" = as.vector(rstantools::loo_R2( - model, - re.form = NA, - re_formula = NA, - summary = FALSE - )) - ) - names(br2$R2_loo) <- rep("Conditional R2_adjusted", length(br2$R2_loo)) - names(br2$R2_loo_marginal) <- rep("Marginal R2_adjusted", length(br2$R2_loo)) - } else { - br2 <- list("R2_loo" = as.vector(rstantools::loo_R2(model, summary = FALSE))) - names(br2$R2_loo) <- rep("R2_adjusted", length(br2$R2_loo)) - } + br2 <- list(R2_loo = as.vector(rstantools::loo_R2(model, summary = FALSE))) + names(br2$R2_loo) <- rep("R2_adjusted", length(br2$R2_loo)) } br2 diff --git a/R/test_bf.R b/R/test_bf.R index 60cb3a129..38b0e421d 100644 --- a/R/test_bf.R +++ b/R/test_bf.R @@ -9,21 +9,21 @@ test_bf <- function(...) { #' @export test_bf.default <- function(..., reference = 1, text_length = NULL) { # Attribute class to list and get names from the global environment - objects <- insight::ellipsis_info(..., only_models = TRUE) - names(objects) <- match.call(expand.dots = FALSE)$`...` + my_objects <- insight::ellipsis_info(..., only_models = TRUE) + names(my_objects) <- match.call(expand.dots = FALSE)[["..."]] # validation checks (will throw error if non-valid objects) - .test_performance_checks(objects, multiple = FALSE) + .test_performance_checks(objects = my_objects, multiple = FALSE) - if (length(objects) == 1 && isTRUE(insight::is_model(objects))) { + if (length(my_objects) == 1 && isTRUE(insight::is_model(my_objects))) { insight::format_error( - "`test_bf()` is designed to compare multiple models together. For a single model, you might want to run `bayestestR::bf_parameters()` instead." + "`test_bf()` is designed to compare multiple models together. For a single model, you might want to run `bayestestR::bf_parameters()` instead." # nolint ) } # If a suitable class is found, run the more specific method on it - if (inherits(objects, c("ListNestedRegressions", "ListNonNestedRegressions", "ListLavaan"))) { - test_bf(objects, reference = reference, text_length = text_length) + if (inherits(my_objects, c("ListNestedRegressions", "ListNonNestedRegressions", "ListLavaan"))) { + test_bf(my_objects, reference = reference, text_length = text_length) } else { insight::format_error("The models cannot be compared for some reason :/") } @@ -87,9 +87,9 @@ test_bf.ListModels <- function(objects, reference = 1, text_length = NULL, ...) if (all(bayesian_models)) { "yes" - } else if (!all(bayesian_models)) { - "no" - } else { + } else if (any(bayesian_models)) { "mixed" + } else { + "no" } } diff --git a/R/test_likelihoodratio.R b/R/test_likelihoodratio.R index 9784b13a9..529516487 100644 --- a/R/test_likelihoodratio.R +++ b/R/test_likelihoodratio.R @@ -22,29 +22,29 @@ test_lrt <- test_likelihoodratio #' @export test_likelihoodratio.default <- function(..., estimator = "OLS", verbose = TRUE) { # Attribute class to list - objects <- insight::ellipsis_info(..., only_models = TRUE) + my_objects <- insight::ellipsis_info(..., only_models = TRUE) # validation checks (will throw error if non-valid objects) - objects <- .test_performance_checks(objects, verbose = verbose) + my_objects <- .test_performance_checks(my_objects, verbose = verbose) # different default when mixed model or glm is included if (missing(estimator)) { - mixed_models <- sapply(objects, insight::is_mixed_model) - if (all(mixed_models) && all(sapply(objects, .is_lmer_reml)) && isTRUE(attributes(objects)$same_fixef)) { + mixed_models <- sapply(my_objects, insight::is_mixed_model) + if (all(mixed_models) && all(sapply(my_objects, .is_lmer_reml)) && isTRUE(attributes(my_objects)$same_fixef)) { estimator <- "REML" - } else if (any(mixed_models) || !all(attributes(objects)$is_linear)) { + } else if (any(mixed_models) || !all(attributes(my_objects)$is_linear)) { estimator <- "ML" } } # ensure proper object names - objects <- .check_objectnames(objects, sapply(match.call(expand.dots = FALSE)$`...`, as.character)) + my_objects <- .check_objectnames(my_objects, sapply(match.call(expand.dots = FALSE)[["..."]], as.character)) # If a suitable class is found, run the more specific method on it - if (inherits(objects, "ListNestedRegressions")) { - test_likelihoodratio(objects, estimator = estimator) - } else if (inherits(objects, "ListLavaan")) { - test_likelihoodratio_ListLavaan(..., objects = objects) # Because lavaanLRT requires the ellipsis + if (inherits(my_objects, "ListNestedRegressions")) { + test_likelihoodratio(my_objects, estimator = estimator) + } else if (inherits(my_objects, "ListLavaan")) { + test_likelihoodratio_ListLavaan(..., objects = my_objects) # Because lavaanLRT requires the ellipsis } else { insight::format_error( "The models are not nested, which is a prerequisite for `test_likelihoodratio()`.", @@ -106,7 +106,7 @@ test_likelihoodratio.ListNestedRegressions <- function(objects, estimator = "ML" same_fixef <- attributes(objects)$same_fixef # sort by df - if (!all(sort(dfs) == dfs) && !all(sort(dfs) == rev(dfs))) { + if (is.unsorted(dfs) && is.unsorted(rev(dfs))) { objects <- objects[order(dfs)] dfs <- sort(dfs, na.last = TRUE) } diff --git a/R/test_performance.R b/R/test_performance.R index b643143f7..f818b02dd 100644 --- a/R/test_performance.R +++ b/R/test_performance.R @@ -236,17 +236,17 @@ test_performance <- function(..., reference = 1, verbose = TRUE) { #' @export test_performance.default <- function(..., reference = 1, include_formula = FALSE, verbose = TRUE) { # Attribute class to list and get names from the global environment - objects <- insight::ellipsis_info(..., only_models = TRUE) + my_objects <- insight::ellipsis_info(..., only_models = TRUE) # validation checks (will throw error if non-valid objects) - objects <- .test_performance_checks(objects, verbose = verbose) + my_objects <- .test_performance_checks(my_objects, verbose = verbose) # ensure proper object names - objects <- .check_objectnames(objects, sapply(match.call(expand.dots = FALSE)$`...`, as.character)) + my_objects <- .check_objectnames(my_objects, sapply(match.call(expand.dots = FALSE)[["..."]], as.character)) # If a suitable class is found, run the more specific method on it - if (inherits(objects, c("ListNestedRegressions", "ListNonNestedRegressions", "ListLavaan"))) { - test_performance(objects, reference = reference, include_formula = include_formula) + if (inherits(my_objects, c("ListNestedRegressions", "ListNonNestedRegressions", "ListLavaan"))) { + test_performance(my_objects, reference = reference, include_formula = include_formula) } else { insight::format_error("The models cannot be compared for some reason :/") } @@ -421,10 +421,10 @@ test_performance.ListNonNestedRegressions <- function(objects, .test_performance_init <- function(objects, include_formula = FALSE) { - names <- insight::model_name(objects, include_formula = include_formula) + model_names <- insight::model_name(objects, include_formula = include_formula) out <- data.frame( Name = names(objects), - Model = names, + Model = model_names, stringsAsFactors = FALSE ) row.names(out) <- NULL @@ -453,7 +453,7 @@ test_performance.ListNonNestedRegressions <- function(objects, if (same_response && !inherits(objects, "ListLavaan") && isFALSE(attributes(objects)$same_response)) { insight::format_error( - "The models' dependent variables don't have the same data, which is a prerequisite to compare them. Probably the proportion of missing data differs between models." + "The models' dependent variables don't have the same data, which is a prerequisite to compare them. Probably the proportion of missing data differs between models." # nolint ) } diff --git a/R/test_vuong.R b/R/test_vuong.R index 449f55ddb..f0cce6d16 100644 --- a/R/test_vuong.R +++ b/R/test_vuong.R @@ -8,17 +8,17 @@ test_vuong <- function(..., verbose = TRUE) { #' @export test_vuong.default <- function(..., reference = 1, verbose = TRUE) { # Attribute class to list and get names from the global environment - objects <- insight::ellipsis_info(..., only_models = TRUE) + my_objects <- insight::ellipsis_info(..., only_models = TRUE) # validation checks (will throw error if non-valid objects) - objects <- .test_performance_checks(objects, verbose = verbose) + my_objects <- .test_performance_checks(my_objects, verbose = verbose) # ensure proper object names - objects <- .check_objectnames(objects, sapply(match.call(expand.dots = FALSE)$`...`, as.character)) + my_objects <- .check_objectnames(my_objects, sapply(match.call(expand.dots = FALSE)[["..."]], as.character)) # If a suitable class is found, run the more specific method on it - if (inherits(objects, c("ListNestedRegressions", "ListNonNestedRegressions", "ListLavaan"))) { - test_vuong(objects, reference = reference) + if (inherits(my_objects, c("ListNestedRegressions", "ListNonNestedRegressions", "ListLavaan"))) { + test_vuong(my_objects, reference = reference) } else { insight::format_error("The models cannot be compared for some reason :/") } diff --git a/R/test_wald.R b/R/test_wald.R index 0e043502a..ddfe21829 100644 --- a/R/test_wald.R +++ b/R/test_wald.R @@ -8,17 +8,17 @@ test_wald <- function(..., verbose = TRUE) { #' @export test_wald.default <- function(..., verbose = TRUE) { # Attribute class to list and get names from the global environment - objects <- insight::ellipsis_info(..., only_models = TRUE) + my_objects <- insight::ellipsis_info(..., only_models = TRUE) # validation checks (will throw error if non-valid objects) - objects <- .test_performance_checks(objects, verbose = verbose) + my_objects <- .test_performance_checks(my_objects, verbose = verbose) # ensure proper object names - objects <- .check_objectnames(objects, sapply(match.call(expand.dots = FALSE)$`...`, as.character)) + my_objects <- .check_objectnames(my_objects, sapply(match.call(expand.dots = FALSE)[["..."]], as.character)) # If a suitable class is found, run the more specific method on it - if (inherits(objects, c("ListNestedRegressions", "ListNonNestedRegressions", "ListLavaan"))) { - test_wald(objects) + if (inherits(my_objects, c("ListNestedRegressions", "ListNonNestedRegressions", "ListLavaan"))) { + test_wald(my_objects) } else { insight::format_error("The models cannot be compared for some reason :/") } @@ -37,10 +37,10 @@ test_wald.ListNestedRegressions <- function(objects, verbose = TRUE, ...) { ) } return(test_likelihoodratio(objects)) - } else { - out <- .test_wald(objects, test = "F") } + out <- .test_wald(objects, test = "F") + attr(out, "is_nested") <- TRUE class(out) <- c("test_performance", class(out)) out @@ -60,7 +60,7 @@ test_wald.ListNonNestedRegressions <- function(objects, verbose = TRUE, ...) { dfs <- sapply(objects, insight::get_df, type = "residual") # sort by df - if (!all(sort(dfs) == dfs) && !all(sort(dfs) == rev(dfs))) { + if (is.unsorted(dfs) && is.unsorted(rev(dfs))) { objects <- objects[order(dfs)] dfs <- sort(dfs, na.last = TRUE) } @@ -78,18 +78,18 @@ test_wald.ListNonNestedRegressions <- function(objects, verbose = TRUE, ...) { # Find reference-model related stuff refmodel <- order(dfs)[1] - scale <- dev[refmodel] / dfs[refmodel] + my_scale <- dev[refmodel] / dfs[refmodel] # test = "F" if (test == "F") { - f_value <- (dev_diff / dfs_diff) / scale + f_value <- (dev_diff / dfs_diff) / my_scale f_value[!is.na(f_value) & f_value < 0] <- NA # rather than p = 0 - out$`F` <- f_value + out[["F"]] <- f_value p <- stats::pf(f_value, abs(dfs_diff), dfs[refmodel], lower.tail = FALSE) # test = "LRT" } else { - chi2 <- dev_diff / scale * sign(dfs_diff) + chi2 <- dev_diff / my_scale * sign(dfs_diff) chi2[!is.na(chi2) & chi2 < 0] <- NA # rather than p = 0 out$Chi2 <- chi2 p <- stats::pchisq(chi2, abs(dfs_diff), lower.tail = FALSE) diff --git a/man/check_outliers.Rd b/man/check_outliers.Rd index 74c992b6f..8dc0326bb 100644 --- a/man/check_outliers.Rd +++ b/man/check_outliers.Rd @@ -26,7 +26,8 @@ check_outliers(x, ...) \item{...}{When \code{method = "ics"}, further arguments in \code{...} are passed down to \code{\link[ICSOutlier:ics.outlier]{ICSOutlier::ics.outlier()}}. When \code{method = "mahalanobis"}, -they are passed down to \code{\link[stats:mahalanobis]{stats::mahalanobis()}}.} +they are passed down to \code{\link[stats:mahalanobis]{stats::mahalanobis()}}. \code{percentage_central} can +be specified when \code{method = "mcd"}.} \item{method}{The outlier detection method(s). Can be \code{"all"} or some of \code{"cook"}, \code{"pareto"}, \code{"zscore"}, \code{"zscore_robust"}, \code{"iqr"}, \code{"ci"}, \code{"eti"}, @@ -189,6 +190,9 @@ calculates the mean and covariance matrix based on the most central subset of the data (by default, 66\\%), before computing the Mahalanobis Distance. This is deemed to be a more robust method of identifying and removing outliers than regular Mahalanobis distance. +This method has a \code{percentage_central} argument that allows specifying +the breakdown point (0.75, the default, is recommended by Leys et al. 2018, +but a commonly used alternative is 0.50). \item \strong{Invariant Coordinate Selection (ICS)}: The outlier are detected using ICS, which by default uses an alpha threshold of 0.025 (corresponding to the 2.5\\% most extreme observations) as a cut-off @@ -295,7 +299,7 @@ check_outliers(group_iris) \dontshow{if (require("see") && require("bigutilsr") && require("loo") && require("MASS") && require("ICSOutlier") && require("ICS") && require("dbscan")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} \donttest{ # You can also run all the methods -check_outliers(data, method = "all") +check_outliers(data, method = "all", verbose = FALSE) # For statistical models --------------------------------------------- # select only mpg and disp (continuous) diff --git a/man/performance-package.Rd b/man/performance-package.Rd index abbdcf21f..b3f1d5a3f 100644 --- a/man/performance-package.Rd +++ b/man/performance-package.Rd @@ -3,7 +3,6 @@ \docType{package} \name{performance-package} \alias{performance-package} -\alias{_PACKAGE} \title{performance: An R Package for Assessment, Comparison and Testing of Statistical Models} \description{ diff --git a/tests/testthat/test-check_outliers.R b/tests/testthat/test-check_outliers.R index e464028d0..259f3eac9 100644 --- a/tests/testthat/test-check_outliers.R +++ b/tests/testthat/test-check_outliers.R @@ -87,9 +87,18 @@ test_that("mcd which", { # (not clear why method mcd needs a seed) set.seed(42) expect_identical( - tail(which(check_outliers(mtcars[1:4], method = "mcd", threshold = 45))), + tail(which(check_outliers(mtcars[1:4], method = "mcd", threshold = 45, verbose = FALSE))), 31L ) + expect_warning( + { + out <- check_outliers(mtcars, method = "mcd") + }, + regex = "The sample size is too small" + ) + expect_identical(sum(out), 8L) + out <- check_outliers(mtcars, method = "mcd", percentage_central = 0.5, verbose = FALSE) + expect_identical(sum(out), 15L) }) ## FIXME: Fails on CRAN/windows @@ -197,11 +206,12 @@ test_that("all methods which", { "mahalanobis", "mahalanobis_robust", "mcd", "optics", "lof" ), threshold = list( - "zscore" = 2.2, "zscore_robust" = 2.2, "iqr" = 1.2, - "ci" = 0.95, "eti" = 0.95, "hdi" = 0.90, "bci" = 0.95, - "mahalanobis" = 20, "mahalanobis_robust" = 25, "mcd" = 25, - "optics" = 14, "lof" = 0.005 - ) + zscore = 2.2, zscore_robust = 2.2, iqr = 1.2, + ci = 0.95, eti = 0.95, hdi = 0.90, bci = 0.95, + mahalanobis = 20, mahalanobis_robust = 25, mcd = 25, + optics = 14, lof = 0.005 + ), + verbose = FALSE )), as.integer(c(9, 15, 16, 19, 20, 28, 29, 31)) ) @@ -219,12 +229,13 @@ test_that("multiple methods with ID", { "mahalanobis", "mahalanobis_robust", "mcd", "optics", "lof" ), threshold = list( - "zscore" = 2.2, "zscore_robust" = 2.2, "iqr" = 1.2, - "ci" = 0.95, "eti" = 0.95, "hdi" = 0.90, "bci" = 0.95, - "mahalanobis" = 20, "mahalanobis_robust" = 25, "mcd" = 25, - "optics" = 14, "lof" = 0.005 + zscore = 2.2, zscore_robust = 2.2, iqr = 1.2, + ci = 0.95, eti = 0.95, hdi = 0.90, bci = 0.95, + mahalanobis = 20, mahalanobis_robust = 25, mcd = 25, + optics = 14, lof = 0.005 ), - ID = "car" + ID = "car", + verbose = FALSE )) expect_identical( x$outlier_var$zscore$mpg$car, diff --git a/vignettes/check_outliers.Rmd b/vignettes/check_outliers.Rmd index d9f906d6c..0c567489a 100644 --- a/vignettes/check_outliers.Rmd +++ b/vignettes/check_outliers.Rmd @@ -132,7 +132,7 @@ One common approach for this is to compute multivariate distance metrics such as In *{performance}*'s `check_outliers()`, one can use this approach with `method = "mcd"`.^[Our default threshold for the MCD method is defined by `stats::qchisq(p = 1 - 0.001, df = ncol(x))`, which again is an approximation of the critical value for _p_ < .001 consistent with the thresholds of our other methods.] ```{r multivariate} -outliers <- check_outliers(data, method = "mcd") +outliers <- check_outliers(data, method = "mcd", verbose = FALSE) outliers ``` @@ -227,7 +227,7 @@ rempsyc::nice_scatter(data, "height", "weight") Using either the *z*-score or MCD methods, our model-consistent observation will be incorrectly flagged as an outlier or influential observation. ```{r} -outliers <- check_outliers(model, method = c("zscore_robust", "mcd")) +outliers <- check_outliers(model, method = c("zscore_robust", "mcd"), verbose = FALSE) which(outliers) ``` @@ -248,7 +248,7 @@ The *{performance}* package also offers an alternative, consensus-based approach In practice, this approach computes a composite outlier score, formed of the average of the binary (0 or 1) classification results of each method. It represents the probability that each observation is classified as an outlier by at least one method. The default decision rule classifies rows with composite outlier scores superior or equal to 0.5 as outlier observations (i.e., that were classified as outliers by at least half of the methods). In *{performance}*'s `check_outliers()`, one can use this approach by including all desired methods in the corresponding argument. ```{r multimethod, fig.cap = "Visual depiction of outliers using several different statistical outlier detection methods."} -outliers <- check_outliers(model, method = c("zscore_robust", "mcd", "cook")) +outliers <- check_outliers(model, method = c("zscore_robust", "mcd", "cook"), verbose = FALSE) which(outliers) ``` From 082f9e8fd5e7846ef33f23d4aa6f74c767975094 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 5 Feb 2024 08:04:36 +0100 Subject: [PATCH 043/100] difficult-to-diagnose errors using "difftime" response in a linear model (#679) --- DESCRIPTION | 2 +- NEWS.md | 3 +++ R/check_collinearity.R | 20 ++++++++++++++++---- R/check_model.R | 12 +++++++++--- R/check_outliers.R | 21 +++++++++++++++++++-- man/check_outliers.Rd | 3 +++ tests/testthat/test-check_collinearity.R | 7 +++++++ tests/testthat/test-check_model.R | 7 +++++++ tests/testthat/test-check_outliers.R | 13 +++++++++++++ 9 files changed, 78 insertions(+), 10 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 9391ecf34..864dad20b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.11 +Version: 0.10.8.12 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NEWS.md b/NEWS.md index 0cc49b785..d9696e082 100644 --- a/NEWS.md +++ b/NEWS.md @@ -26,6 +26,9 @@ * `check_outliers()` now properly accept the `percentage_central` argument when using the `"mcd"` method. +* Fixed edge cases in `check_collinearity()` and `check_outliers()` for models + with response variables of classes `Date`, `POSIXct`, `POSIXlt` or `difftime`. + # performance 0.10.8 ## Changes diff --git a/R/check_collinearity.R b/R/check_collinearity.R index 2add49126..90909d364 100644 --- a/R/check_collinearity.R +++ b/R/check_collinearity.R @@ -405,6 +405,20 @@ check_collinearity.zerocount <- function(x, .check_collinearity <- function(x, component, ci = 0.95, verbose = TRUE) { v <- insight::get_varcov(x, component = component, verbose = FALSE) + + # sanity check + if (is.null(v)) { + if (isTRUE(verbose)) { + insight::format_alert( + paste( + sprintf("Could not extract the variance-covariance matrix for the %s component of the model.", component), + "Please try to run `vcov(model)`, which may help identifying the problem." + ) + ) + } + return(NULL) + } + term_assign <- .term_assignments(x, component, verbose = verbose) # any assignment found? @@ -432,10 +446,8 @@ check_collinearity.zerocount <- function(x, if (insight::has_intercept(x)) { v <- v[-1, -1] term_assign <- term_assign[-1] - } else { - if (isTRUE(verbose)) { - insight::format_alert("Model has no intercept. VIFs may not be sensible.") - } + } else if (isTRUE(verbose)) { + insight::format_alert("Model has no intercept. VIFs may not be sensible.") } f <- insight::find_formula(x) diff --git a/R/check_model.R b/R/check_model.R index 2a8672823..ace81d275 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -192,12 +192,18 @@ check_model.default <- function(x, suppressWarnings(.check_assumptions_glm(x, minfo, verbose, ...)) }, error = function(e) { - NULL + e } ) - if (is.null(ca)) { - insight::format_error(paste0("`check_model()` not implemented for models of class `", class(x)[1], "` yet.")) + if (inherits(ca, c("error", "simpleError"))) { + pattern <- "(\n|\\s{2,})" + replacement <- " " + cleaned_string <- gsub(pattern, replacement, ca$message) + insight::format_error( + paste("`check_model()` returned following error:", cleaned_string), + paste0("\nIf the error message does not help identifying your problem, another reason why `check_model()` failed might be that models of class `", class(x)[1], "` are not yet supported.") # nolint + ) } # try to find sensible default for "type" argument diff --git a/R/check_outliers.R b/R/check_outliers.R index f3bf7f5a9..574201454 100644 --- a/R/check_outliers.R +++ b/R/check_outliers.R @@ -23,6 +23,7 @@ #' 'Details'). If a numeric value is given, it will be used as the threshold #' for any of the method run. #' @param ID Optional, to report an ID column along with the row number. +#' @param verbose Toggle warnings. #' @param ... When `method = "ics"`, further arguments in `...` are passed #' down to [ICSOutlier::ics.outlier()]. When `method = "mahalanobis"`, #' they are passed down to [stats::mahalanobis()]. `percentage_central` can @@ -348,6 +349,7 @@ check_outliers.default <- function(x, method = c("cook", "pareto"), threshold = NULL, ID = NULL, + verbose = TRUE, ...) { # Check args if (all(method == "all")) { @@ -391,8 +393,23 @@ check_outliers.default <- function(x, # Get data my_data <- insight::get_data(x, verbose = FALSE) + # sanity check for date, POSIXt and difftime variables + if (any(vapply(my_data, inherits, FUN.VALUE = logical(1), what = c("Date", "POSIXt", "difftime"))) && verbose) { + insight::format_alert( + paste( + "Date variables are not supported for outliers detection. These will be ignored.", + "Make sure any date variables are converted to numeric or factor {.b before} fitting the model." + ) + ) + } + # Remove non-numerics - my_data <- datawizard::data_select(my_data, select = is.numeric) + my_data <- datawizard::data_select(my_data, select = is.numeric, verbose = FALSE) + + # check if any data left + if (is.null(my_data) || ncol(my_data) == 0) { + insight::format_error("No numeric variables found. No data to check for outliers.") + } # Thresholds if (is.null(threshold)) { @@ -409,7 +426,7 @@ check_outliers.default <- function(x, ) } - if (!missing(ID)) { + if (!missing(ID) && verbose) { insight::format_warning(paste0("ID argument not supported for model objects of class `", class(x)[1], "`.")) } diff --git a/man/check_outliers.Rd b/man/check_outliers.Rd index 8dc0326bb..22b88228c 100644 --- a/man/check_outliers.Rd +++ b/man/check_outliers.Rd @@ -14,6 +14,7 @@ check_outliers(x, ...) method = c("cook", "pareto"), threshold = NULL, ID = NULL, + verbose = TRUE, ... ) @@ -41,6 +42,8 @@ considered as outlier. If \code{NULL}, default values will be used (see for any of the method run.} \item{ID}{Optional, to report an ID column along with the row number.} + +\item{verbose}{Toggle warnings.} } \value{ A logical vector of the detected outliers with a nice printing diff --git a/tests/testthat/test-check_collinearity.R b/tests/testthat/test-check_collinearity.R index 3d68b87ac..ea41af513 100644 --- a/tests/testthat/test-check_collinearity.R +++ b/tests/testthat/test-check_collinearity.R @@ -211,3 +211,10 @@ test_that("check_collinearity, hurdle/zi models w/o zi-formula", { ) expect_equal(out$VIF, c(1.05772, 1.05772, 1.06587, 1.06587), tolerance = 1e-4) }) + +test_that("check_collinearity, invalid data", { + skip_if(packageVersion("insight") < "0.19.8.2") + dd <- data.frame(y = as.difftime(0:5, units = "days")) + m1 <- lm(y ~ 1, data = dd) + expect_error(check_collinearity(m1), "Can't extract variance-covariance matrix") +}) diff --git a/tests/testthat/test-check_model.R b/tests/testthat/test-check_model.R index 6b4ce4db2..cc512ed78 100644 --- a/tests/testthat/test-check_model.R +++ b/tests/testthat/test-check_model.R @@ -36,3 +36,10 @@ test_that("`check_outliers()` works if convergence issues", { x <- check_outliers(m, verbose = FALSE) expect_s3_class(x, "check_outliers") }) + +test_that("`check_model()` for invalid models", { + skip_if(packageVersion("insight") < "0.19.8.2") + dd <- data.frame(y = as.difftime(0:5, units = "days")) + m1 <- lm(y ~ 1, data = dd) + expect_error(check_model(m1)) +}) diff --git a/tests/testthat/test-check_outliers.R b/tests/testthat/test-check_outliers.R index 259f3eac9..8840e26bf 100644 --- a/tests/testthat/test-check_outliers.R +++ b/tests/testthat/test-check_outliers.R @@ -329,3 +329,16 @@ test_that("cook multiple methods which", { c("setosa", "versicolor", "virginica") ) }) + + +test_that("check_outliers with invald data", { + dd <- data.frame(y = as.difftime(0:5, units = "days")) + m1 <- lm(y ~ 1, data = dd) + expect_error( + expect_message( + check_outliers(m1), + regex = "Date variables are not supported" + ), + regex = "No numeric variables found" + ) +}) From b46c7d10ca0ed672788c92087c8af005fa935d06 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 12 Feb 2024 13:06:47 +0100 Subject: [PATCH 044/100] wonky plot from `check_model()` on a `glmmTMB` example (#680) --- DESCRIPTION | 2 +- NEWS.md | 10 +++++ R/check_collinearity.R | 5 +++ R/check_model.R | 45 ++++++++++--------- R/check_model_diagnostics.R | 33 ++++++++++---- .../test-model_performance.bayesian.R | 2 +- tests/testthat/test-r2_bayes.R | 2 + vignettes/check_model.Rmd | 30 ++++++------- 8 files changed, 82 insertions(+), 47 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 864dad20b..142767fa3 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.12 +Version: 0.10.8.13 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NEWS.md b/NEWS.md index d9696e082..2a8b4ecb9 100644 --- a/NEWS.md +++ b/NEWS.md @@ -15,6 +15,16 @@ * Clarification in the documentation of the `estimator` argument for `performance_aic()`. +* Improved plots for overdispersion-checks for negative-binomial models from + package *glmmTMB* (affects `check_overdispersion()` and `check_mnodel()`). + +* For model of class `glmmTMB`, deviance residuals are now used in the + `check_model()` plot. + +* Improved (better to understand) error messages for `check_model()`, + `check_collinearity()` and `check_outliers()` for models with non-numeric + response variables. + ## Bug fixes * Fixed issue in `binned_residuals()` for models with binary outcome, where diff --git a/R/check_collinearity.R b/R/check_collinearity.R index 90909d364..8aac2c9d6 100644 --- a/R/check_collinearity.R +++ b/R/check_collinearity.R @@ -487,6 +487,11 @@ check_collinearity.zerocount <- function(x, result <- vector("numeric") na_terms <- vector("numeric") + # sanity check - models with offset(?) may contain too many term assignments + if (length(term_assign) > ncol(v)) { + term_assign <- term_assign[seq_len(ncol(v))] + } + for (term in 1:n.terms) { subs <- which(term_assign == term) if (length(subs)) { diff --git a/R/check_model.R b/R/check_model.R index ace81d275..bd44558e9 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -183,7 +183,7 @@ check_model.default <- function(x, minfo <- insight::model_info(x, verbose = FALSE) - ca <- tryCatch( + assumptions_data <- tryCatch( if (minfo$is_bayesian) { suppressWarnings(.check_assumptions_stan(x, ...)) } else if (minfo$is_linear) { @@ -196,10 +196,10 @@ check_model.default <- function(x, } ) - if (inherits(ca, c("error", "simpleError"))) { + if (inherits(assumptions_data, c("error", "simpleError"))) { pattern <- "(\n|\\s{2,})" replacement <- " " - cleaned_string <- gsub(pattern, replacement, ca$message) + cleaned_string <- gsub(pattern, replacement, assumptions_data$message) insight::format_error( paste("`check_model()` returned following error:", cleaned_string), paste0("\nIf the error message does not help identifying your problem, another reason why `check_model()` failed might be that models of class `", class(x)[1], "` are not yet supported.") # nolint @@ -218,21 +218,22 @@ check_model.default <- function(x, show_dots <- is.null(n) || n <= 1e5 } - attr(ca, "panel") <- panel - attr(ca, "dot_size") <- dot_size - attr(ca, "line_size") <- line_size - attr(ca, "check") <- check - attr(ca, "alpha") <- alpha - attr(ca, "dot_alpha") <- dot_alpha - attr(ca, "show_dots") <- isTRUE(show_dots) - attr(ca, "detrend") <- detrend - attr(ca, "colors") <- colors - attr(ca, "theme") <- theme - attr(ca, "model_info") <- minfo - attr(ca, "overdisp_type") <- list(...)$plot_type - attr(ca, "bandwidth") <- bandwidth - attr(ca, "type") <- type - ca + attr(assumptions_data, "panel") <- panel + attr(assumptions_data, "dot_size") <- dot_size + attr(assumptions_data, "line_size") <- line_size + attr(assumptions_data, "check") <- check + attr(assumptions_data, "alpha") <- alpha + attr(assumptions_data, "dot_alpha") <- dot_alpha + attr(assumptions_data, "show_dots") <- isTRUE(show_dots) + attr(assumptions_data, "detrend") <- detrend + attr(assumptions_data, "colors") <- colors + attr(assumptions_data, "theme") <- theme + attr(assumptions_data, "model_info") <- minfo + attr(assumptions_data, "overdisp_type") <- list(...)$plot_type + attr(assumptions_data, "bandwidth") <- bandwidth + attr(assumptions_data, "type") <- type + attr(assumptions_data, "model_class") <- class(x)[1] + assumptions_data } @@ -267,7 +268,7 @@ check_model.stanreg <- function(x, dot_alpha = 0.8, colors = c("#3aaf85", "#1b6ca8", "#cd201f"), theme = "see::theme_lucid", - detrend = FALSE, + detrend = TRUE, show_dots = NULL, bandwidth = "nrd", type = "density", @@ -306,7 +307,7 @@ check_model.model_fit <- function(x, dot_alpha = 0.8, colors = c("#3aaf85", "#1b6ca8", "#cd201f"), theme = "see::theme_lucid", - detrend = FALSE, + detrend = TRUE, show_dots = NULL, bandwidth = "nrd", type = "density", @@ -339,7 +340,7 @@ check_model.model_fit <- function(x, dat <- list() dat$VIF <- .diag_vif(model, verbose = verbose) - dat$QQ <- .diag_qq(model, verbose = verbose) + dat$QQ <- .diag_qq(model, model_info = model_info, verbose = verbose) dat$REQQ <- .diag_reqq(model, level = 0.95, model_info = model_info, verbose = verbose) dat$NORM <- .diag_norm(model, verbose = verbose) dat$NCV <- .diag_ncv(model, verbose = verbose) @@ -366,7 +367,7 @@ check_model.model_fit <- function(x, dat <- list() dat$VIF <- .diag_vif(model, verbose = verbose) - dat$QQ <- .diag_qq(model, verbose = verbose) + dat$QQ <- .diag_qq(model, model_info = model_info, verbose = verbose) dat$HOMOGENEITY <- .diag_homogeneity(model, verbose = verbose) dat$REQQ <- .diag_reqq(model, level = 0.95, model_info = model_info, verbose = verbose) dat$OUTLIERS <- check_outliers(model, method = "cook") diff --git a/R/check_model_diagnostics.R b/R/check_model_diagnostics.R index 754616ee6..55797cab8 100644 --- a/R/check_model_diagnostics.R +++ b/R/check_model_diagnostics.R @@ -35,11 +35,13 @@ # prepare data for QQ plot ---------------------------------- -.diag_qq <- function(model, verbose = TRUE) { - if (inherits(model, c("lme", "lmerMod", "merMod", "glmmTMB", "gam"))) { +.diag_qq <- function(model, model_info = NULL, verbose = TRUE) { + if (inherits(model, c("lme", "lmerMod", "merMod", "gam"))) { res_ <- stats::residuals(model) } else if (inherits(model, "geeglm")) { res_ <- stats::residuals(model, type = "pearson") + } else if (inherits(model, "glmmTMB")) { + res_ <- stats::residuals(model, type = "deviance") } else if (inherits(model, "glm")) { res_ <- .safe(abs(stats::rstandard(model, type = "deviance"))) } else { @@ -61,7 +63,7 @@ return(NULL) } - if (inherits(model, "glm")) { + if (inherits(model, c("glm", "glmerMod")) || (inherits(model, "glmmTMB") && isFALSE(model_info$is_linear))) { fitted_ <- stats::qnorm((stats::ppoints(length(res_)) + 1) / 2) } else { fitted_ <- stats::fitted(model) @@ -294,11 +296,26 @@ # data for negative binomial models if (faminfo$is_negbin && !faminfo$is_zero_inflated) { - d <- data.frame(Predicted = stats::predict(model, type = "response")) - d$Residuals <- insight::get_response(model) - as.vector(d$Predicted) - d$Res2 <- d$Residuals^2 - d$V <- d$Predicted * (1 + d$Predicted / insight::get_sigma(model)) - d$StdRes <- insight::get_residuals(model, type = "pearson") + if (inherits(model, "glmmTMB")) { + d <- data.frame(Predicted = stats::predict(model, type = "response")) + d$Residuals <- insight::get_residuals(model, type = "pearson") + d$Res2 <- d$Residuals^2 + d$StdRes <- insight::get_residuals(model, type = "pearson") + if (faminfo$family == "nbinom1") { + # for nbinom1, we can use "sigma()" + d$V <- insight::get_sigma(model)^2 * stats::family(model)$variance(d$Predicted) + } else { + # for nbinom2, "sigma()" has "inverse meaning" (see #654) + d$V <- (1 / insight::get_sigma(model)^2) * stats::family(model)$variance(d$Predicted) + } + } else { + ## FIXME: this is not correct for glm.nb models? + d <- data.frame(Predicted = stats::predict(model, type = "response")) + d$Residuals <- insight::get_response(model) - as.vector(d$Predicted) + d$Res2 <- d$Residuals^2 + d$V <- d$Predicted * (1 + d$Predicted / insight::get_sigma(model)) + d$StdRes <- insight::get_residuals(model, type = "pearson") + } } # data for zero-inflated poisson models diff --git a/tests/testthat/test-model_performance.bayesian.R b/tests/testthat/test-model_performance.bayesian.R index 57ef8e0eb..a15e41a10 100644 --- a/tests/testthat/test-model_performance.bayesian.R +++ b/tests/testthat/test-model_performance.bayesian.R @@ -112,7 +112,7 @@ test_that("model_performance.BFBayesFactor", { }) expect_null(p) - + skip_on_os("linux") mod <- BayesFactor::regressionBF(mpg ~ cyl, mtcars, progress = FALSE) modF <- lm(mpg ~ cyl, mtcars) p <- model_performance(mod) diff --git a/tests/testthat/test-r2_bayes.R b/tests/testthat/test-r2_bayes.R index 7c176b8e3..00e3a54e2 100644 --- a/tests/testthat/test-r2_bayes.R +++ b/tests/testthat/test-r2_bayes.R @@ -1,3 +1,5 @@ +skip_on_os("linux") + test_that("r2_BayesFactor", { skip_if_not_installed("BayesFactor") set.seed(1) diff --git a/vignettes/check_model.Rmd b/vignettes/check_model.Rmd index 7e9ff0506..e657f3089 100644 --- a/vignettes/check_model.Rmd +++ b/vignettes/check_model.Rmd @@ -57,7 +57,7 @@ Most plots seen here can also be generated by their dedicated functions, e.g.: - Binned residuals: `binned_residuals()` - Check for overdispersion: `check_overdispersion()` -## Linear models: Are all assumptions for linear models met? +# Linear models: Are all assumptions for linear models met? We start with a simple example for a linear model. @@ -87,9 +87,9 @@ Now let's take a closer look for each plot. To do so, we ask `check_model()` to diagnostic_plots <- plot(check_model(m1, panel = FALSE)) ``` -### Posterior predictive checks +## Posterior predictive checks -The first plot is based on `check_predictions()`. Posterior predictive checks can be used to look for systematic discrepancies between real and simulated data. It helps to see whether the type of model (distributional family) fits well to the data (_Gelman and Hill, 2007, p. 158_). Posterior predictive checks can be used to "look for systematic discrepancies between real and simulated data" (_Gelman et al. 2014, p. 169_). +The first plot is based on `check_predictions()`. Posterior predictive checks can be used to "look for systematic discrepancies between real and simulated data" (_Gelman et al. 2014, p. 169_). It helps to see whether the type of model (distributional family) fits well to the data (_Gelman and Hill, 2007, p. 158_). ```{r eval=all(successfully_loaded[c("see", "ggplot2")])} # posterior predicive checks @@ -113,11 +113,11 @@ plot(out) As you can see, the green line in this plot deviates visibly from the blue lines. This may indicate that our linear model is not appropriate, since it does not capture the distributional nature of the response variable properly. -#### How to fix this? +### How to fix this? The best way, if there are serious concerns that the model does not fit well to the data, is to use a different type (family) of regression models. In our example, it is obvious that we should better use a Poisson regression. -#### Plots for discrete outcomes +### Plots for discrete outcomes For discrete or integer outcomes (like in logistic or Poisson regression), density plots are not always the best choice, as they look somewhat "wiggly" around the actual values of the dependent variables. In this case, use the `type` argument of the `plot()` method to change the plot-style. Available options are `type = "discrete_dots"` (dots for observed and replicated outcomes), `type = "discrete_interval"` (dots for observed, error bars for replicated outcomes) or `type = "discrete_both"` (both dots and error bars). @@ -134,7 +134,7 @@ out <- check_predictions(m3) plot(out, type = "discrete_both") ``` -### Linearity +## Linearity This plot helps to check the assumption of linear relationship. It shows whether predictors may have a non-linear relationship with the outcome, in which case the reference line may roughly indicate that relationship. A straight and horizontal line indicates that the model specification seems to be ok. @@ -160,7 +160,7 @@ out <- plot(check_model(m, panel = FALSE)) out[[2]] ``` -#### How to fix this? +### How to fix this? If the green reference line is not roughly flat and horizontal, but rather - like in our example - U-shaped, this may indicate that some of the predictors probably should better be modeled as quadratic term. Transforming the response variable might be another solution when linearity assumptions are not met. @@ -175,7 +175,7 @@ out[[2]] **Some caution is needed** when interpreting these plots. Although these plots are helpful to check model assumptions, they do not necessarily indicate so-called "lack of fit", e.g. missed non-linear relationships or interactions. Thus, it is always recommended to also look at [effect plots, including partial residuals](https://strengejacke.github.io/ggeffects/articles/introduction_partial_residuals.html). -### Homogeneity of variance - detecting heteroscedasticity +## Homogeneity of variance - detecting heteroscedasticity This plot helps to check the assumption of equal (or constant) variance, i.e. homoscedasticity. To meet this assumption, the variance of the residuals across different values of predictors is similar and does not notably increase or decrease. Hence, the desired pattern would be that dots spread equally above and below a roughly straight, horizontal line and show no apparent deviation. @@ -202,7 +202,7 @@ But why does the diagnostic plot used in `check_model()` look different? `check_ diagnostic_plots[[3]] ``` -#### How to fix this? +### How to fix this? There are several ways to address heteroscedasticity. @@ -212,7 +212,7 @@ There are several ways to address heteroscedasticity. 3. Transforming the response variable, for instance, taking the `log()`, may also help to avoid issues with heteroscedasticity. -### Influential observations - outliers +## Influential observations - outliers Outliers can be defined as particularly influential observations, and this plot helps detecting those outliers. Cook's distance (_Cook 1977_, _Cook & Weisberg 1982_) is used to define outliers, i.e. any point in this plot that falls outside of Cook's distance (the dashed lines) is considered an influential observation. @@ -223,11 +223,11 @@ diagnostic_plots[[4]] In our example, everything looks well. -#### How to fix this? +### How to fix this? Dealing with outliers is not straightforward, as it is not recommended to automatically discard any observation that has been marked as "an outlier". Rather, your _domain knowledge_ must be involved in the decision whether to keep or omit influential observation. A helpful heuristic is to distinguish between error outliers, interesting outliers, and random outliers (_Leys et al. 2019_). _Error outliers_ are likely due to human error and should be corrected before data analysis. _Interesting outliers_ are not due to technical error and may be of theoretical interest; it might thus be relevant to investigate them further even though they should be removed from the current analysis of interest. _Random outliers_ are assumed to be due to chance alone and to belong to the correct distribution and, therefore, should be retained. -### Multicollinearity +## Multicollinearity This plot checks for potential collinearity among predictors. In a nutshell multicollinearity means that once you know the effect of one predictor, the value of knowing the other predictor is rather low. Multicollinearity might arise when a third, unobserved variable has a causal effect on each of the two predictors that are associated with the outcome. In such cases, the actual relationship that matters would be the association between the unobserved variable and the outcome. @@ -244,11 +244,11 @@ The variance inflation factor (VIF) indicates the magnitude of multicollinearity Our model clearly suffers from multicollinearity, as all predictors have high VIF values. -#### How to fix this? +### How to fix this? Usually, predictors with (very) high VIF values should be removed from the model to fix multicollinearity. Some caution is needed for interaction terms. If interaction terms are included in a model, high VIF values are expected. This portion of multicollinearity among the component terms of an interaction is also called "inessential ill-conditioning", which leads to inflated VIF values that are typically seen for models with interaction terms _(Francoeur 2013)_. In such cases, re-fit your model without interaction terms and check this model for collinearity among predictors. -### Normality of residuals +## Normality of residuals In linear regression, residuals should be normally distributed. This can be checked using so-called Q-Q plots (quantile-quantile plot) to compare the shapes of distributions. This plot shows the quantiles of the studentized residuals versus fitted values. @@ -261,7 +261,7 @@ diagnostic_plots[[6]] In our example, we see that most data points are ok, except some observations at the tails. Whether any action is needed to fix this or not can also depend on the results of the remaining diagnostic plots. If all other plots indicate no violation of assumptions, some deviation of normality, particularly at the tails, can be less critical. -#### How to fix this? +### How to fix this? Here are some remedies to fix non-normality of residuals, according to _Pek et al. 2018_. From 3250fd720f961f332aa3946a6d1b30e6f8efb6d7 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 16 Feb 2024 20:44:54 +0100 Subject: [PATCH 045/100] `check_singularity` doesn't work for `glmmTMB` (#684) --- DESCRIPTION | 2 +- NEWS.md | 3 +++ R/check_singularity.R | 15 +++++++++++--- tests/testthat/test-check_singularity.R | 26 ++++++++++++++++++++++--- 4 files changed, 39 insertions(+), 7 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 142767fa3..bbc3b6532 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.13 +Version: 0.10.8.14 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NEWS.md b/NEWS.md index 2a8b4ecb9..91d45d051 100644 --- a/NEWS.md +++ b/NEWS.md @@ -18,6 +18,9 @@ * Improved plots for overdispersion-checks for negative-binomial models from package *glmmTMB* (affects `check_overdispersion()` and `check_mnodel()`). +* Improved detection rates for singularity in `check_singularity()` for models + from package *glmmTMB*. + * For model of class `glmmTMB`, deviance residuals are now used in the `check_model()` plot. diff --git a/R/check_singularity.R b/R/check_singularity.R index 3128ef933..b446708bd 100644 --- a/R/check_singularity.R +++ b/R/check_singularity.R @@ -101,15 +101,24 @@ check_singularity.merMod <- function(x, tolerance = 1e-5, ...) { check_singularity.rlmerMod <- check_singularity.merMod - #' @export check_singularity.glmmTMB <- function(x, tolerance = 1e-5, ...) { insight::check_if_installed("lme4") - vc <- .collapse_cond(lme4::VarCorr(x)) - any(sapply(vc, function(.x) any(abs(diag(.x)) < tolerance))) + eigen_values <- list() + vv <- lme4::VarCorr(x) + for (component in c("cond", "zi")) { + for (i in seq_along(vv[[component]])) { + eigen_values <- c( + eigen_values, + list(eigen(vv[[component]][[i]], only.values = TRUE)$values) + ) + } + } + any(vapply(eigen_values, min, numeric(1), na.rm = TRUE) < tolerance) } + #' @export check_singularity.glmmadmb <- check_singularity.glmmTMB diff --git a/tests/testthat/test-check_singularity.R b/tests/testthat/test-check_singularity.R index 3edf6e8f6..dc0d56964 100644 --- a/tests/testthat/test-check_singularity.R +++ b/tests/testthat/test-check_singularity.R @@ -1,14 +1,14 @@ -test_that("check_singularity", { +test_that("check_singularity, lme4", { skip_on_cran() skip_if_not_installed("lme4") data(sleepstudy, package = "lme4") set.seed(123) - sleepstudy$mygrp <- sample(1:5, size = 180, replace = TRUE) + sleepstudy$mygrp <- sample.int(5, size = 180, replace = TRUE) sleepstudy$mysubgrp <- NA for (i in 1:5) { filter_group <- sleepstudy$mygrp == i sleepstudy$mysubgrp[filter_group] <- - sample(1:30, size = sum(filter_group), replace = TRUE) + sample.int(30, size = sum(filter_group), replace = TRUE) } model <- suppressMessages(lme4::lmer( @@ -17,3 +17,23 @@ test_that("check_singularity", { )) expect_true(check_singularity(model)) }) + + +test_that("check_singularity", { + skip_on_cran() + skip_if_not_installed("glmmTMB") + set.seed(101) + dd <- expand.grid(x = factor(1:6), f = factor(1:20), rep = 1:5) + dd$y <- glmmTMB::simulate_new(~ 1 + (x | f), + newdata = dd, + newparam = list( + beta = 0, + theta = rep(0, 21), + betad = 0 + ) + )[[1]] + expect_warning(expect_warning({ + m2 <- glmmTMB::glmmTMB(y ~ 1 + (x | f), data = dd, REML = FALSE) + })) + expect_true(check_singularity(m2)) +}) From 41d60d0e5b11013a7225231e827cfeb47b72e285 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 16 Feb 2024 20:46:51 +0100 Subject: [PATCH 046/100] support for quantile regression and mixed effects quantile regression (#685) --- DESCRIPTION | 3 ++- NAMESPACE | 3 +++ NEWS.md | 2 ++ R/check_outliers.R | 9 +++++++++ R/model_performance.bayesian.R | 8 +------- R/r2_bayes.R | 20 +------------------- man/model_performance.stanreg.Rd | 8 +------- man/r2_bayes.Rd | 20 +------------------- tests/testthat/test-check_model.R | 8 ++++++++ vignettes/r2.Rmd | 26 +------------------------- 10 files changed, 29 insertions(+), 78 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index bbc3b6532..cdd668003 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.14 +Version: 0.10.8.15 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -128,6 +128,7 @@ Suggests: patchwork, pscl, psych, + quantreg, qqplotr (>= 0.0.6), randomForest, rempsyc, diff --git a/NAMESPACE b/NAMESPACE index 970895f14..710374ed7 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -89,6 +89,9 @@ S3method(check_outliers,metagen) S3method(check_outliers,numeric) S3method(check_outliers,rma) S3method(check_outliers,rma.uni) +S3method(check_outliers,rq) +S3method(check_outliers,rqs) +S3method(check_outliers,rqss) S3method(check_overdispersion,default) S3method(check_overdispersion,fixest) S3method(check_overdispersion,fixest_multi) diff --git a/NEWS.md b/NEWS.md index 91d45d051..8327f127b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -42,6 +42,8 @@ * Fixed edge cases in `check_collinearity()` and `check_outliers()` for models with response variables of classes `Date`, `POSIXct`, `POSIXlt` or `difftime`. +* Fixed issue with `check_model()` for models of package *quantreg*. + # performance 0.10.8 ## Changes diff --git a/R/check_outliers.R b/R/check_outliers.R index 574201454..2017d4cc5 100644 --- a/R/check_outliers.R +++ b/R/check_outliers.R @@ -1987,3 +1987,12 @@ check_outliers.lmrob <- check_outliers.glmmTMB #' @export check_outliers.glmrob <- check_outliers.glmmTMB + +#' @export +check_outliers.rq <- check_outliers.glmmTMB + +#' @export +check_outliers.rqs <- check_outliers.glmmTMB + +#' @export +check_outliers.rqss <- check_outliers.glmmTMB diff --git a/R/model_performance.bayesian.R b/R/model_performance.bayesian.R index fd796fb60..2ba4e5130 100644 --- a/R/model_performance.bayesian.R +++ b/R/model_performance.bayesian.R @@ -40,7 +40,7 @@ #' #' - **PCP**: percentage of correct predictions, see [performance_pcp()]. #' -#' @examplesIf require("rstanarm") && require("rstantools") && require("BayesFactor") +#' @examplesIf require("rstanarm") && require("rstantools") #' \donttest{ #' model <- suppressWarnings(rstanarm::stan_glm( #' mpg ~ wt + cyl, @@ -59,12 +59,6 @@ #' refresh = 0 #' )) #' model_performance(model) -#' -#' model <- BayesFactor::generalTestBF(carb ~ am + mpg, mtcars) -#' -#' model_performance(model) -#' model_performance(model[3]) -#' model_performance(model, average = TRUE) #' } #' @seealso [r2_bayes] #' @references Gelman, A., Goodrich, B., Gabry, J., and Vehtari, A. (2018). diff --git a/R/r2_bayes.R b/R/r2_bayes.R index 71a44ef43..ec98f754b 100644 --- a/R/r2_bayes.R +++ b/R/r2_bayes.R @@ -30,7 +30,7 @@ #' `r2_posterior()` is the actual workhorse for `r2_bayes()` and #' returns a posterior sample of Bayesian R2 values. #' -#' @examplesIf require("rstanarm") && require("rstantools") && require("BayesFactor") && require("brms") +#' @examplesIf require("rstanarm") && require("rstantools") && require("brms") #' library(performance) #' \donttest{ #' model <- suppressWarnings(rstanarm::stan_glm( @@ -53,24 +53,6 @@ #' r2_bayes(model) #' } #' -#' BFM <- BayesFactor::generalTestBF(mpg ~ qsec + gear, data = mtcars, progress = FALSE) -#' FM <- BayesFactor::lmBF(mpg ~ qsec + gear, data = mtcars) -#' -#' r2_bayes(FM) -#' r2_bayes(BFM[3]) -#' r2_bayes(BFM, average = TRUE) # across all models -#' -#' # with random effects: -#' mtcars$gear <- factor(mtcars$gear) -#' model <- BayesFactor::lmBF( -#' mpg ~ hp + cyl + gear + gear:wt, -#' mtcars, -#' progress = FALSE, -#' whichRandom = c("gear", "gear:wt") -#' ) -#' -#' r2_bayes(model) -#' #' \donttest{ #' model <- suppressWarnings(brms::brm( #' mpg ~ wt + cyl, diff --git a/man/model_performance.stanreg.Rd b/man/model_performance.stanreg.Rd index bbd82bc53..622c5b18a 100644 --- a/man/model_performance.stanreg.Rd +++ b/man/model_performance.stanreg.Rd @@ -60,7 +60,7 @@ values mean better fit. See \code{?loo::waic}. } } \examples{ -\dontshow{if (require("rstanarm") && require("rstantools") && require("BayesFactor")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +\dontshow{if (require("rstanarm") && require("rstantools")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} \donttest{ model <- suppressWarnings(rstanarm::stan_glm( mpg ~ wt + cyl, @@ -79,12 +79,6 @@ model <- suppressWarnings(rstanarm::stan_glmer( refresh = 0 )) model_performance(model) - -model <- BayesFactor::generalTestBF(carb ~ am + mpg, mtcars) - -model_performance(model) -model_performance(model[3]) -model_performance(model, average = TRUE) } \dontshow{\}) # examplesIf} } diff --git a/man/r2_bayes.Rd b/man/r2_bayes.Rd index edc78150e..67200fb7d 100644 --- a/man/r2_bayes.Rd +++ b/man/r2_bayes.Rd @@ -62,7 +62,7 @@ R2 takes both the fixed and random effects into account. returns a posterior sample of Bayesian R2 values. } \examples{ -\dontshow{if (require("rstanarm") && require("rstantools") && require("BayesFactor") && require("brms")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +\dontshow{if (require("rstanarm") && require("rstantools") && require("brms")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} library(performance) \donttest{ model <- suppressWarnings(rstanarm::stan_glm( @@ -85,24 +85,6 @@ model <- suppressWarnings(rstanarm::stan_lmer( r2_bayes(model) } -BFM <- BayesFactor::generalTestBF(mpg ~ qsec + gear, data = mtcars, progress = FALSE) -FM <- BayesFactor::lmBF(mpg ~ qsec + gear, data = mtcars) - -r2_bayes(FM) -r2_bayes(BFM[3]) -r2_bayes(BFM, average = TRUE) # across all models - -# with random effects: -mtcars$gear <- factor(mtcars$gear) -model <- BayesFactor::lmBF( - mpg ~ hp + cyl + gear + gear:wt, - mtcars, - progress = FALSE, - whichRandom = c("gear", "gear:wt") -) - -r2_bayes(model) - \donttest{ model <- suppressWarnings(brms::brm( mpg ~ wt + cyl, diff --git a/tests/testthat/test-check_model.R b/tests/testthat/test-check_model.R index cc512ed78..4a3d23703 100644 --- a/tests/testthat/test-check_model.R +++ b/tests/testthat/test-check_model.R @@ -43,3 +43,11 @@ test_that("`check_model()` for invalid models", { m1 <- lm(y ~ 1, data = dd) expect_error(check_model(m1)) }) + +test_that("`check_model()` works for quantreg", { + skip_if_not_installed("quantreg") + data(engel, package = "quantreg") + qm <- quantreg::rq(foodexp ~ income, data = engel) + x <- check_model(qm, verbose = FALSE) + expect_s3_class(x, "check_model") +}) diff --git a/vignettes/r2.Rmd b/vignettes/r2.Rmd index 843bd3412..e6ee63356 100644 --- a/vignettes/r2.Rmd +++ b/vignettes/r2.Rmd @@ -29,14 +29,11 @@ knitr::opts_chunk$set( ) options(digits = 2) -pkgs <- c( - "effectsize", "BayesFactor", "lme4", "rstanarm" -) +pkgs <- c("effectsize", "lme4", "rstanarm") successfully_loaded <- sapply(pkgs, requireNamespace, quietly = TRUE) if (all(successfully_loaded)) { library(performance) library(effectsize) - library(BayesFactor) library(lme4) library(rstanarm) } @@ -147,27 +144,6 @@ model <- stan_lmer(Petal.Length ~ Petal.Width + (1 | Species), data = iris, refr r2(model) ``` -Let's look at another regression analysis carried out with `{BayesFactor}` package. - -```{r, eval=successfully_loaded["BayesFactor"] && utils::packageVersion("BayesFactor") >= package_version("0.9.12-4.3")} -library(BayesFactor) -data(puzzles) - -m1 <- anovaBF(extra ~ group + ID, - data = sleep, - whichRandom = "ID", progress = FALSE -) - -r2(m1) - -m2 <- generalTestBF(RT ~ shape * color + ID, - data = puzzles, whichRandom = "ID", - neverExclude = "ID", progress = FALSE -) - -r2(m2) -``` - # Comparing change in R2 using Cohen's *f* Cohen's $f$ (of [ANOVA fame](https://easystats.github.io/effectsize/articles/anovaES.html)) can be used as a measure of effect size in the context of sequential multiple regression (i.e., [**nested models**](https://easystats.github.io/performance/reference/test_performance.html)). From 464698b8eb8fcb87c83227c08c8c2fe6e4b1c45b Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 16 Feb 2024 22:21:30 +0100 Subject: [PATCH 047/100] Errors in using r2_kullback (#686) --- DESCRIPTION | 2 +- NAMESPACE | 2 ++ NEWS.md | 2 ++ R/r2_kl.R | 14 +++++++++++++- inst/WORDLIST | 1 + man/r2_kullback.Rd | 7 ++++++- tests/testthat/test-r2_kullback.R | 7 +++++++ 7 files changed, 32 insertions(+), 3 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index cdd668003..70adc6648 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.15 +Version: 0.10.8.16 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NAMESPACE b/NAMESPACE index 710374ed7..b483c40ad 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -429,6 +429,8 @@ S3method(r2_coxsnell,survreg) S3method(r2_coxsnell,svycoxph) S3method(r2_coxsnell,truncreg) S3method(r2_efron,default) +S3method(r2_kullback,default) +S3method(r2_kullback,glm) S3method(r2_loo_posterior,BFBayesFactor) S3method(r2_loo_posterior,brmsfit) S3method(r2_loo_posterior,stanmvreg) diff --git a/NEWS.md b/NEWS.md index 8327f127b..68d6fe215 100644 --- a/NEWS.md +++ b/NEWS.md @@ -28,6 +28,8 @@ `check_collinearity()` and `check_outliers()` for models with non-numeric response variables. +* `r2_kullback()` now gives an informative error for non-supported models. + ## Bug fixes * Fixed issue in `binned_residuals()` for models with binary outcome, where diff --git a/R/r2_kl.R b/R/r2_kl.R index b5c1bb649..553e338e4 100644 --- a/R/r2_kl.R +++ b/R/r2_kl.R @@ -7,6 +7,7 @@ #' @param model A generalized linear model. #' @param adjust Logical, if `TRUE` (the default), the adjusted R2 value is #' returned. +#' @param ... Additional arguments. Currently not used. #' #' @return A named vector with the R2 value. #' @@ -19,7 +20,13 @@ #' 77: 329-342. #' #' @export -r2_kullback <- function(model, adjust = TRUE) { +r2_kullback <- function(model, ...) { + UseMethod("r2_kullback") +} + +#' @rdname r2_kullback +#' @export +r2_kullback.glm <- function(model, adjust = TRUE, ...) { if (adjust) { adj <- model$df.null / model$df.residual } else { @@ -31,3 +38,8 @@ r2_kullback <- function(model, adjust = TRUE) { names(klr2) <- "Kullback-Leibler R2" klr2 } + +#' @export +r2_kullback.default <- function(model, ...) { + insight::format_error("This function only works for objects of class `glm`.") +} diff --git a/inst/WORDLIST b/inst/WORDLIST index fbef7c991..7b1e96528 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -296,6 +296,7 @@ poisson preprint priori pscl +quantreg quared quartile quartiles diff --git a/man/r2_kullback.Rd b/man/r2_kullback.Rd index d2980d18e..ae0f9dd55 100644 --- a/man/r2_kullback.Rd +++ b/man/r2_kullback.Rd @@ -2,13 +2,18 @@ % Please edit documentation in R/r2_kl.R \name{r2_kullback} \alias{r2_kullback} +\alias{r2_kullback.glm} \title{Kullback-Leibler R2} \usage{ -r2_kullback(model, adjust = TRUE) +r2_kullback(model, ...) + +\method{r2_kullback}{glm}(model, adjust = TRUE, ...) } \arguments{ \item{model}{A generalized linear model.} +\item{...}{Additional arguments. Currently not used.} + \item{adjust}{Logical, if \code{TRUE} (the default), the adjusted R2 value is returned.} } diff --git a/tests/testthat/test-r2_kullback.R b/tests/testthat/test-r2_kullback.R index 591295cef..8ce9620b9 100644 --- a/tests/testthat/test-r2_kullback.R +++ b/tests/testthat/test-r2_kullback.R @@ -3,3 +3,10 @@ test_that("r2_kullback", { expect_equal(r2_kullback(model), c(`Kullback-Leibler R2` = 0.3834), tolerance = 1e-3) expect_equal(r2_kullback(model, adjust = FALSE), c(`Kullback-Leibler R2` = 0.4232), tolerance = 1e-3) }) + +test_that("r2_kullback errors for non-supported", { + skip_if_not_installed("pscl") + data("bioChemists", package = "pscl") + model <- pscl::zeroinfl(art ~ . | 1, data = bioChemists, dist = "negbin") + expect_error(r2_kullback(model), regex = "This function only works") +}) From 76d02f1f9467bb62648d543dfa33dbee070910e5 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 17 Feb 2024 19:08:58 +0100 Subject: [PATCH 048/100] Prepare CRAN release (#687) --- CRAN-SUBMISSION | 6 +++--- DESCRIPTION | 9 ++++----- cran-comments.md | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/CRAN-SUBMISSION b/CRAN-SUBMISSION index b1f325ddd..afc762333 100644 --- a/CRAN-SUBMISSION +++ b/CRAN-SUBMISSION @@ -1,3 +1,3 @@ -Version: 0.10.8 -Date: 2023-10-29 16:13:36 UTC -SHA: c94741704caad7b8cde589e941af5d2f2826e6c2 +Version: 0.10.9 +Date: 2024-02-17 07:56:08 UTC +SHA: 051016febd197937ad083266b630c871fa9e1623 diff --git a/DESCRIPTION b/DESCRIPTION index 70adc6648..c4784fa9b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.8.16 +Version: 0.10.9 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -69,7 +69,7 @@ BugReports: https://github.com/easystats/performance/issues Depends: R (>= 3.6) Imports: - bayestestR (>= 0.13.1), + bayestestR (>= 0.13.2), insight (>= 0.19.8), datawizard (>= 0.9.1), methods, @@ -124,7 +124,7 @@ Suggests: nonnest2, ordinal, parallel, - parameters (>= 0.20.3), + parameters (>= 0.21.4), patchwork, pscl, psych, @@ -136,7 +136,7 @@ Suggests: rstanarm, rstantools, sandwich, - see (>= 0.8.1), + see (>= 0.8.2), survey, survival, testthat (>= 3.2.1), @@ -154,4 +154,3 @@ Config/Needs/website: r-lib/pkgdown, easystats/easystatstemplate Config/rcmdcheck/ignore-inconsequential-notes: true -Remotes: easystats/insight diff --git a/cran-comments.md b/cran-comments.md index 2dec3e271..fa6f2d4c2 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1 +1 @@ -Hot fix release that fixes CRAN check errors. \ No newline at end of file +Maintainance release. \ No newline at end of file From e85e53ac5416889e49047c24fbca559ab96e5589 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 22 Feb 2024 22:33:25 +0100 Subject: [PATCH 049/100] support serp --- DESCRIPTION | 2 +- NAMESPACE | 3 +++ NEWS.md | 6 ++++++ R/check_model.R | 6 +++--- R/r2.R | 3 +++ R/r2_coxsnell.R | 3 +++ R/r2_mcfadden.R | 3 +++ R/r2_nagelkerke.R | 3 +++ 8 files changed, 25 insertions(+), 4 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index c4784fa9b..9ea9a48b4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.9 +Version: 0.10.9.1 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NAMESPACE b/NAMESPACE index b483c40ad..2e3b2b624 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -389,6 +389,7 @@ S3method(r2,rma) S3method(r2,scam) S3method(r2,selection) S3method(r2,sem) +S3method(r2,serp) S3method(r2,stanreg) S3method(r2,summary.lm) S3method(r2,survreg) @@ -425,6 +426,7 @@ S3method(r2_coxsnell,poissonirr) S3method(r2_coxsnell,poissonmfx) S3method(r2_coxsnell,polr) S3method(r2_coxsnell,probit) +S3method(r2_coxsnell,serp) S3method(r2_coxsnell,survreg) S3method(r2_coxsnell,svycoxph) S3method(r2_coxsnell,truncreg) @@ -484,6 +486,7 @@ S3method(r2_nagelkerke,poissonirr) S3method(r2_nagelkerke,poissonmfx) S3method(r2_nagelkerke,polr) S3method(r2_nagelkerke,probitmfx) +S3method(r2_nagelkerke,serp) S3method(r2_nagelkerke,survreg) S3method(r2_nagelkerke,svycoxph) S3method(r2_nagelkerke,truncreg) diff --git a/NEWS.md b/NEWS.md index 68d6fe215..92d872277 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,9 @@ +# performance 0.10.10 + +## New supported models + +* Rudimentary support for models of class `serp` from package *serp*. + # performance 0.10.9 ## Changes diff --git a/R/check_model.R b/R/check_model.R index bd44558e9..a92c13df6 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -345,7 +345,7 @@ check_model.model_fit <- function(x, dat$NORM <- .diag_norm(model, verbose = verbose) dat$NCV <- .diag_ncv(model, verbose = verbose) dat$HOMOGENEITY <- .diag_homogeneity(model, verbose = verbose) - dat$OUTLIERS <- check_outliers(model, method = "cook") + dat$OUTLIERS <- .safe(check_outliers(model, method = "cook")) if (is.null(dat$OUTLIERS)) { threshold <- NULL } else { @@ -370,7 +370,7 @@ check_model.model_fit <- function(x, dat$QQ <- .diag_qq(model, model_info = model_info, verbose = verbose) dat$HOMOGENEITY <- .diag_homogeneity(model, verbose = verbose) dat$REQQ <- .diag_reqq(model, level = 0.95, model_info = model_info, verbose = verbose) - dat$OUTLIERS <- check_outliers(model, method = "cook") + dat$OUTLIERS <- .safe(check_outliers(model, method = "cook")) if (is.null(dat$OUTLIERS)) { threshold <- NULL } else { @@ -379,7 +379,7 @@ check_model.model_fit <- function(x, dat$INFLUENTIAL <- .influential_obs(model, threshold = threshold) dat$PP_CHECK <- .safe(check_predictions(model, ...)) if (isTRUE(model_info$is_binomial)) { - dat$BINNED_RESID <- binned_residuals(model, verbose = verbose, ...) + dat$BINNED_RESID <- .safe(binned_residuals(model, verbose = verbose, ...)) } if (isTRUE(model_info$is_count)) { dat$OVERDISPERSION <- .diag_overdispersion(model) diff --git a/R/r2.R b/R/r2.R index 2789b5efe..94982b401 100644 --- a/R/r2.R +++ b/R/r2.R @@ -386,6 +386,9 @@ r2.censReg <- function(model, ...) { #' @export r2.cpglm <- r2.censReg +#' @export +r2.serp <- r2.censReg + #' @export r2.clm <- r2.censReg diff --git a/R/r2_coxsnell.R b/R/r2_coxsnell.R index 042e5461a..3db7197b7 100644 --- a/R/r2_coxsnell.R +++ b/R/r2_coxsnell.R @@ -243,6 +243,9 @@ r2_coxsnell.clm <- function(model, ...) { #' @export r2_coxsnell.crch <- r2_coxsnell.clm +#' @export +r2_coxsnell.serp <- r2_coxsnell.clm + #' @export r2_coxsnell.cpglm <- r2_coxsnell.clm diff --git a/R/r2_mcfadden.R b/R/r2_mcfadden.R index 25bb70301..b04977517 100644 --- a/R/r2_mcfadden.R +++ b/R/r2_mcfadden.R @@ -77,6 +77,9 @@ r2_mcfadden.glm <- function(model, verbose = TRUE, ...) { #' @export r2_mcfadden.clm <- r2_mcfadden.glm +#' @export +r2_mcfadden.serp <- r2_mcfadden.glm + #' @export r2_mcfadden.cpglm <- r2_mcfadden.glm diff --git a/R/r2_nagelkerke.R b/R/r2_nagelkerke.R index 00dfe36d2..9b5b40f8f 100644 --- a/R/r2_nagelkerke.R +++ b/R/r2_nagelkerke.R @@ -201,6 +201,9 @@ r2_nagelkerke.clm <- function(model, ...) { #' @export r2_nagelkerke.polr <- r2_nagelkerke.clm +#' @export +r2_nagelkerke.serp <- r2_nagelkerke.clm + #' @export r2_nagelkerke.cpglm <- r2_nagelkerke.clm From e73c76f22b9f23f0e199fd14bf0b515982ce1404 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 23 Feb 2024 16:41:28 +0100 Subject: [PATCH 050/100] Error checking normality for t.test (#690) --- DESCRIPTION | 2 +- NEWS.md | 4 ++ R/check_htest.R | 62 +++++++++++++++---------- inst/WORDLIST | 1 + tests/testthat/test-check_homogeneity.R | 32 ++++++++++++- tests/testthat/test-check_normality.R | 43 +++++++++++++++-- 6 files changed, 112 insertions(+), 32 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 9ea9a48b4..dab8e640f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.9.1 +Version: 0.10.9.2 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NEWS.md b/NEWS.md index 92d872277..c48fb3a60 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,6 +4,10 @@ * Rudimentary support for models of class `serp` from package *serp*. +## Bug fixes + +* Fixed issue in `check_normality()` for t-tests. + # performance 0.10.9 ## Changes diff --git a/R/check_htest.R b/R/check_htest.R index 197b2a6fe..f5d085839 100644 --- a/R/check_htest.R +++ b/R/check_htest.R @@ -1,7 +1,7 @@ #' @export check_normality.htest <- function(x, ...) { - data <- insight::get_data(x) - if (is.null(data)) { + model_data <- insight::get_data(x) + if (is.null(model_data)) { insight::format_error( "Cannot check assumptions - Unable to retrieve data from `htest` object." ) @@ -11,31 +11,42 @@ check_normality.htest <- function(x, ...) { if (grepl("Welch", method, fixed = TRUE) || grepl("F test to compare two variances", method, fixed = TRUE)) { - m1 <- stats::lm(data[[1]] ~ 1) - m2 <- stats::lm(data[[2]] ~ 1) + # sanity check + if (!is.numeric(model_data[[2]])) { + insight::format_error( + "Discrete or character variables are not supported for this test. Please use a continuous variable for the second argument." + ) + } + m1 <- stats::lm(model_data[[1]] ~ 1) + m2 <- stats::lm(model_data[[2]] ~ 1) out <- check_normality(m1) out[2] <- check_normality(m2)[1] attr(out, "units") <- c("Group1", "Group2") } else if (grepl("Two Sample t-test", method, fixed = TRUE)) { m <- stats::lm( - formula = Value ~ factor(Name), - data = datawizard::data_to_long(data) + formula = value ~ factor(name), + data = datawizard::data_to_long(model_data) ) out <- check_normality(m) } else if (grepl("One Sample t-test", method, fixed = TRUE)) { - m <- stats::lm(data[[1]] ~ 1) + m <- stats::lm(model_data[[1]] ~ 1) out <- check_normality(m) } else if (grepl("Paired t-test", method, fixed = TRUE)) { - d <- data[[1]] - data[[2]] + if (!is.numeric(model_data[[2]])) { + insight::format_error( + "Discrete or character variables are not supported for this test. Please use a continuous variable for the second argument." + ) + } + d <- model_data[[1]] - model_data[[2]] m <- stats::lm(d ~ 1) out <- check_normality(m) } else if (grepl("One-way analysis of means (not assuming equal variances)", method, fixed = TRUE)) { - data <- split(data, data[[2]]) - outs <- lapply(data, function(d) { + model_data <- split(model_data, model_data[[2]]) + outs <- lapply(model_data, function(d) { check_normality(stats::lm(d[[1]] ~ 1)) }) @@ -43,11 +54,11 @@ check_normality.htest <- function(x, ...) { attributes(out) <- attributes(outs[[1]]) attr(out, "units") <- paste0("Group", seq_along(outs)) } else if (grepl("One-way analysis of means", method, fixed = TRUE)) { - m <- stats::aov(data[[1]] ~ factor(data[[2]])) + m <- stats::aov(model_data[[1]] ~ factor(model_data[[2]])) out <- check_normality(m) } else if (grepl("Pearson's product-moment correlation", method, fixed = TRUE)) { - out <- .MVN_hz(data)[["p value"]] + out <- .MVN_hz(model_data)[["p value"]] class(out) <- c("check_normality", "see_check_normality", "numeric") attr(out, "type") <- "residuals" } else if (grepl("Pearson's Chi-squared test", method, fixed = TRUE) || @@ -73,8 +84,8 @@ check_normality.htest <- function(x, ...) { #' @export check_homogeneity.htest <- function(x, ...) { - data <- insight::get_data(x) - if (is.null(data)) { + model_data <- insight::get_data(x) + if (is.null(model_data)) { insight::format_error( "Cannot check assumptions - Unable to retrieve data from `htest` object." ) @@ -88,11 +99,14 @@ check_homogeneity.htest <- function(x, ...) { if (grepl("Two Sample t-test", method, fixed = TRUE)) { m <- stats::lm( - formula = Value ~ factor(Name), - data = datawizard::data_to_long(data) + formula = value ~ factor(name), + data = datawizard::data_to_long(model_data) ) } else if (grepl("One-way analysis of means", method, fixed = TRUE)) { - m <- stats::aov(stats::reformulate(names(data)[2], response = names(data)[1]), data = data) + m <- stats::aov( + stats::reformulate(names(model_data)[2], response = names(model_data)[1]), + data = model_data + ) } else { insight::format_error( "This `htest` is not supported (or this assumption is not required for this test)." @@ -109,8 +123,8 @@ check_homogeneity.htest <- function(x, ...) { #' @export check_symmetry.htest <- function(x, ...) { - data <- insight::get_data(x) - if (is.null(data)) { + model_data <- insight::get_data(x) + if (is.null(model_data)) { insight::format_error( "Cannot check assumptions - Unable to retrieve data from `htest` object." ) @@ -118,10 +132,10 @@ check_symmetry.htest <- function(x, ...) { method <- x[["method"]] if (grepl("signed rank", method, fixed = TRUE)) { - if (ncol(data) > 1) { - out <- check_symmetry(data[[1]] - data[[2]]) + if (ncol(model_data) > 1) { + out <- check_symmetry(model_data[[1]] - model_data[[2]]) } else { - out <- check_symmetry(data[[1]]) + out <- check_symmetry(model_data[[1]]) } } else { insight::format_error( @@ -157,7 +171,7 @@ print.check_normality_binom <- function(x, ...) { "Warning: Some cells in the expected table have less than 5 observations.\n" ), "red") } - return(invisible(x)) + invisible(x) } @@ -180,7 +194,7 @@ print.check_normality_binom <- function(x, ...) { dif <- scale(data, scale = FALSE) Dj <- diag(dif %*% solve(S, tol = tol) %*% t(dif)) Y <- data %*% solve(S, tol = tol) %*% t(data) - Djk <- -2 * t(Y) + matrix(diag(t(Y))) %*% matrix(c(rep(1, n)), 1, n) + matrix(c(rep(1, n)), n, 1) %*% diag(t(Y)) + Djk <- -2 * t(Y) + matrix(diag(t(Y))) %*% matrix(rep(1, n), 1, n) + matrix(rep(1, n), n, 1) %*% diag(t(Y)) b <- 1 / (sqrt(2)) * ((2 * p + 1) / 4)^(1 / (p + 4)) * (n^(1 / (p + 4))) if (qr(S)$rank == p) { HZ <- n * (1 / (n^2) * sum(sum(exp(-(b^2) / 2 * Djk))) - 2 * ((1 + (b^2))^(-p / 2)) * (1 / n) * (sum(exp(-((b^2) / (2 * (1 + (b^2)))) * Dj))) + ((1 + (2 * (b^2)))^(-p / 2))) diff --git a/inst/WORDLIST b/inst/WORDLIST index 7b1e96528..377bd8ea4 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -312,6 +312,7 @@ rsif rssa rstanarm se +serp smicd sphericity strengejacke diff --git a/tests/testthat/test-check_homogeneity.R b/tests/testthat/test-check_homogeneity.R index 40bba5479..1b3fddbd9 100644 --- a/tests/testthat/test-check_homogeneity.R +++ b/tests/testthat/test-check_homogeneity.R @@ -21,9 +21,37 @@ test_that("check_homogeneity | afex", { expect_error(check_homogeneity(aW)) msg <- capture.output(expect_message(check_homogeneity(aB, method = "bartlett"), "Only")) - msg <- capture.output(pM <- check_homogeneity(aM)) - msg <- capture.output(pB <- check_homogeneity(aB)) + msg <- capture.output({ + pM <- check_homogeneity(aM) + }) + msg <- capture.output({ + pB <- check_homogeneity(aB) + }) expect_equal(pM, 0.3496516, ignore_attr = TRUE, tolerance = 0.001) expect_equal(pB, 0.3496516, ignore_attr = TRUE, tolerance = 0.001) }) + +test_that("check_homogeneity | t-test", { + data(mtcars) + expect_error( + check_homogeneity(t.test(mtcars$mpg, mtcars$hp, var.equal = FALSE)), + regex = "Test does not assume" + ) + + out <- t.test(mtcars$mpg, mtcars$hp, var.equal = TRUE) + expect_equal( + check_homogeneity(out), + structure( + 6.18792236963585e-121, + object_name = out, + method = "Bartlett Test", + class = c( + "check_homogeneity", + "see_check_homogeneity", "numeric" + ) + ), + tolerance = 1e-3, + ignore_attr = TRUE + ) +}) diff --git a/tests/testthat/test-check_normality.R b/tests/testthat/test-check_normality.R index 912f86d4b..efac29db6 100644 --- a/tests/testthat/test-check_normality.R +++ b/tests/testthat/test-check_normality.R @@ -19,9 +19,15 @@ test_that("check_normality | afex", { ) })) - msg <- capture.output(pM <- check_normality(aM)) - msg <- capture.output(pW <- check_normality(aW)) - msg <- capture.output(pB <- check_normality(aB)) + msg <- capture.output({ + pM <- check_normality(aM) + }) + msg <- capture.output({ + pW <- check_normality(aW) + }) + msg <- capture.output({ + pB <- check_normality(aB) + }) expect_equal(pM, 0.2054236, ignore_attr = TRUE, tolerance = 0.001) expect_equal(pW, 0.5496325, ignore_attr = TRUE, tolerance = 0.001) @@ -40,12 +46,39 @@ test_that("check_normality | glmmTMB", { ) out <- check_normality(m, effects = "random") - expect_equal(attributes(out)$re_groups, "site: (Intercept)") + expect_identical(attributes(out)$re_groups, "site: (Intercept)") expect_equal(as.vector(out), 0.698457693553405, tolerance = 1e-3) expect_message( - out <- check_normality(m, effects = "fixed"), + { + out <- check_normality(m, effects = "fixed") + }, "for linear models" ) expect_null(out) }) + + +test_that("check_normality | t-test", { + data(mtcars) + expect_error( + check_normality(t.test(mtcars$mpg, mtcars$hp, var.equal = FALSE)), + regex = "Discrete or character variables" + ) + out <- t.test(mtcars$mpg, mtcars$hp, var.equal = TRUE) + expect_equal( + check_normality(out), + structure( + 7.15789362314837e-12, + type = "residuals", + object_name = out, + effects = "fixed", + class = c( + "check_normality", + "see_check_normality", "numeric" + ) + ), + tolerance = 1e-3, + ignore_attr = TRUE + ) +}) From 5ca986a3de33bc36f56efe4b9a6efb735cb03f5b Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 2 Mar 2024 15:35:08 +0100 Subject: [PATCH 051/100] QQ plot blank in check model for glmmTMB with tweedie distribution (#693) --- DESCRIPTION | 2 +- NAMESPACE | 1 + NEWS.md | 4 ++++ R/check_model.R | 2 +- R/check_model_diagnostics.R | 19 +++++++++++++++---- man/check_model.Rd | 2 +- tests/testthat/test-check_model.R | 21 +++++++++++++++++++++ 7 files changed, 44 insertions(+), 7 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index dab8e640f..240028ea5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.9.2 +Version: 0.10.9.3 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NAMESPACE b/NAMESPACE index 2e3b2b624..26125fbaf 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -457,6 +457,7 @@ S3method(r2_mcfadden,poissonirr) S3method(r2_mcfadden,poissonmfx) S3method(r2_mcfadden,polr) S3method(r2_mcfadden,probitmfx) +S3method(r2_mcfadden,serp) S3method(r2_mcfadden,truncreg) S3method(r2_mcfadden,vglm) S3method(r2_mckelvey,default) diff --git a/NEWS.md b/NEWS.md index c48fb3a60..1bd5e41e1 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,6 +4,10 @@ * Rudimentary support for models of class `serp` from package *serp*. +## General + +* Improved error messages for `check_model()` when QQ-plots cannot be created. + ## Bug fixes * Fixed issue in `check_normality()` for t-tests. diff --git a/R/check_model.R b/R/check_model.R index a92c13df6..e015bff80 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -14,7 +14,7 @@ #' @param check Character vector, indicating which checks for should be performed #' and plotted. May be one or more of `"all"`, `"vif"`, `"qq"`, `"normality"`, #' `"linearity"`, `"ncv"`, `"homogeneity"`, `"outliers"`, `"reqq"`, `"pp_check"`, -#' `"binned_residuals"` or `"overdispersion"`, Not that not all check apply +#' `"binned_residuals"` or `"overdispersion"`. Note that not all check apply #' to all type of models (see 'Details'). `"reqq"` is a QQ-plot for random #' effects and only available for mixed models. `"ncv"` is an alias for #' `"linearity"`, and checks for non-constant variance, i.e. for diff --git a/R/check_model_diagnostics.R b/R/check_model_diagnostics.R index 55797cab8..ff9482934 100644 --- a/R/check_model_diagnostics.R +++ b/R/check_model_diagnostics.R @@ -51,12 +51,23 @@ } } - if (is.null(res_)) { + if (is.null(res_) || all(is.na(res_))) { if (verbose) { + if (is.null(model_info$family)) { + fam <- "model" + } else { + fam <- paste0("`", model_info$family, "`") + } insight::format_alert( - sprintf( - "QQ plot could not be created. Cannot extract residuals from objects of class `%s`.", - class(model)[1] + paste( + sprintf( + "QQ plot could not be created. Cannot extract residuals from objects of class `%s`.", + class(model)[1] + ), + sprintf( + "Maybe the model class or the %s family does not support the computation of (deviance) residuals?", + fam + ) ) ) } diff --git a/man/check_model.Rd b/man/check_model.Rd index d5ead9420..4e8b5fddf 100644 --- a/man/check_model.Rd +++ b/man/check_model.Rd @@ -39,7 +39,7 @@ single plots for each diagnostic are returned.} \item{check}{Character vector, indicating which checks for should be performed and plotted. May be one or more of \code{"all"}, \code{"vif"}, \code{"qq"}, \code{"normality"}, \code{"linearity"}, \code{"ncv"}, \code{"homogeneity"}, \code{"outliers"}, \code{"reqq"}, \code{"pp_check"}, -\code{"binned_residuals"} or \code{"overdispersion"}, Not that not all check apply +\code{"binned_residuals"} or \code{"overdispersion"}. Note that not all check apply to all type of models (see 'Details'). \code{"reqq"} is a QQ-plot for random effects and only available for mixed models. \code{"ncv"} is an alias for \code{"linearity"}, and checks for non-constant variance, i.e. for diff --git a/tests/testthat/test-check_model.R b/tests/testthat/test-check_model.R index 4a3d23703..06973756f 100644 --- a/tests/testthat/test-check_model.R +++ b/tests/testthat/test-check_model.R @@ -51,3 +51,24 @@ test_that("`check_model()` works for quantreg", { x <- check_model(qm, verbose = FALSE) expect_s3_class(x, "check_model") }) + +test_that("`check_model()` warnings for tweedie", { + skip_if_not_installed("glmmTMB") + skip_if_not_installed("lme4") + data(sleepstudy, package = "lme4") + set.seed(123) + d <- sleepstudy[sample.int(50), ] + m <- suppressWarnings(glmmTMB::glmmTMB(Reaction ~ Days, + data = d, + family = glmmTMB::tweedie + )) + expect_message( + expect_message( + expect_message( + check_model(m, iterations = 1, verbose = TRUE), + regex = "Not enough model terms" + ), + regex = "QQ plot could not" + ) + ) +}) From 81148873d0cde0ff5cd751f7b18bb72c1ea4a09d Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 4 Mar 2024 22:43:27 +0100 Subject: [PATCH 052/100] spurious(?) viewport-too-small error with new ggplot2 version 3.5.0 (#694) --- DESCRIPTION | 2 +- R/helpers.R | 15 ++++++++------- tests/testthat/test-helpers.R | 14 ++++++++++++++ tests/testthat/test-r2_nagelkerke.R | 2 ++ 4 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 tests/testthat/test-helpers.R diff --git a/DESCRIPTION b/DESCRIPTION index 240028ea5..baa900b13 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.9.3 +Version: 0.10.9.4 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/R/helpers.R b/R/helpers.R index 3032ffa32..c231d6226 100644 --- a/R/helpers.R +++ b/R/helpers.R @@ -1,6 +1,10 @@ # small wrapper around this commonly used try-catch .safe <- function(code, on_error = NULL) { - tryCatch(code, error = function(e) on_error) + if (getOption("easystats_erros", FALSE) && is.null(on_error)) { + code + } else { + tryCatch(code, error = function(e) on_error) + } } @@ -34,13 +38,10 @@ if (!is.numeric(x)) { return(x) } - # remove missings tmp <- x[!is.na(x)] - # standardize tmp <- (tmp - mean(tmp)) / stats::sd(tmp) - # and fill in values in original vector x[!is.na(x)] <- tmp @@ -65,10 +66,10 @@ .get_sigma <- function(model, verbose = TRUE) { s <- insight::get_sigma(model, ci = NULL, verbose = verbose) - if (!is.null(s)) { - as.numeric(s) - } else { + if (is.null(s)) { NULL + } else { + as.numeric(s) } } diff --git a/tests/testthat/test-helpers.R b/tests/testthat/test-helpers.R new file mode 100644 index 000000000..d1d6a5545 --- /dev/null +++ b/tests/testthat/test-helpers.R @@ -0,0 +1,14 @@ +skip_on_cran() +skip_if_not_installed("withr") +withr::with_options( + list(easystats_erros = TRUE), + test_that(".safe works with options", { + expect_error(performance:::.safe(mean(fd)), regex = "object 'fd' not found") + expect_identical(performance:::.safe(mean(fd), 1L), 1L) + expect_identical(performance:::.safe(mean(c(1, 2, 3))), 2) + }) +) +test_that(".safe works", { + expect_null(performance:::.safe(mean(fd))) + expect_identical(performance:::.safe(mean(c(1, 2, 3))), 2) +}) diff --git a/tests/testthat/test-r2_nagelkerke.R b/tests/testthat/test-r2_nagelkerke.R index 488a46e95..7fa42c8d9 100644 --- a/tests/testthat/test-r2_nagelkerke.R +++ b/tests/testthat/test-r2_nagelkerke.R @@ -4,6 +4,8 @@ test_that("r2_nagelkerke", { expect_equal(r2(model), list(R2_Tjur = c(`Tjur's R2` = 0.477692621360749)), tolerance = 1e-3, ignore_attr = TRUE) }) +skip_if_not_installed("withr") + test_that("r2_nagelkerke", { skip_if_not_installed("MASS") withr::with_options( From 05639a2ceabafce19d2837ad7d69fb16fafa22af Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 12 Mar 2024 13:56:21 +0100 Subject: [PATCH 053/100] minor fix --- DESCRIPTION | 2 +- R/check_itemscale.R | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index baa900b13..498d6a63d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.9.4 +Version: 0.10.9.5 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/R/check_itemscale.R b/R/check_itemscale.R index fda758d24..c4d461efc 100644 --- a/R/check_itemscale.R +++ b/R/check_itemscale.R @@ -89,6 +89,11 @@ check_itemscale <- function(x, factor_index = NULL) { } } + # factor_index must be a named vector (column names as names) + if (!is.null(factor_index) && is.null(names(factor_index)) && inherits(x, "data.frame")) { + factor_index <- stats::setNames(factor_index, colnames(x)) + } + # assign data and factor index if (inherits(x, "parameters_pca")) { insight::check_if_installed("parameters") From 2bcb101ef509302002f9e22b0576c8f55ab8b947 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 12 Mar 2024 13:57:27 +0100 Subject: [PATCH 054/100] more precise --- R/check_itemscale.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/check_itemscale.R b/R/check_itemscale.R index c4d461efc..2dff6c5da 100644 --- a/R/check_itemscale.R +++ b/R/check_itemscale.R @@ -90,7 +90,7 @@ check_itemscale <- function(x, factor_index = NULL) { } # factor_index must be a named vector (column names as names) - if (!is.null(factor_index) && is.null(names(factor_index)) && inherits(x, "data.frame")) { + if (!is.null(factor_index) && is.null(names(factor_index)) && !inherits(x, "parameters_pca")) { factor_index <- stats::setNames(factor_index, colnames(x)) } From afddb29fc728821728f825422de87ea08f32051d Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 12 Mar 2024 15:35:42 +0100 Subject: [PATCH 055/100] add tests --- DESCRIPTION | 2 +- NEWS.md | 3 +++ tests/testthat/test-check_itemscale.R | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 498d6a63d..218b0aaa7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.9.5 +Version: 0.10.9.6 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NEWS.md b/NEWS.md index 1bd5e41e1..9e2f2daa8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -12,6 +12,9 @@ * Fixed issue in `check_normality()` for t-tests. +* Fixed issue in `check_itemscale()` for data frame inputs, when `factor_index` + was not a named vector. + # performance 0.10.9 ## Changes diff --git a/tests/testthat/test-check_itemscale.R b/tests/testthat/test-check_itemscale.R index 95ab4e169..eb64b79b5 100644 --- a/tests/testthat/test-check_itemscale.R +++ b/tests/testthat/test-check_itemscale.R @@ -40,6 +40,20 @@ test_that("check_itemscale", { tolerance = 1e-4, ignore_attr = TRUE ) + # factor_index as none-named vector + out3 <- check_itemscale(d, factor_index = c(2, 1, 2, 2, 1, 1)) + expect_equal( + out[[1]]$Mean, + out3[[1]]$Mean, + tolerance = 1e-4, + ignore_attr = TRUE + ) + expect_equal( + out[[1]]$Difficulty, + out3[[1]]$Difficulty, + tolerance = 1e-4, + ignore_attr = TRUE + ) expect_error( check_itemscale(d), regex = "If `x` is a data" @@ -52,4 +66,8 @@ test_that("check_itemscale", { check_itemscale(d, factor_index = factor(comp)), regex = "`factor_index` must be numeric." ) + expect_error( + check_itemscale(iris$Species), + regex = "`x` must be an object of class" + ) }) From 0f1125cdad10068350a466fc7b37750e1bfc3fae Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 18 Mar 2024 11:49:30 +0100 Subject: [PATCH 056/100] DHARMa implementation for new `check_residuals()` function (#643) Co-authored-by: Michael McCarthy <51542091+mccarthy-m-g@users.noreply.github.com> --- DESCRIPTION | 6 +- NAMESPACE | 19 ++ NEWS.md | 25 +++ R/check_distribution.R | 20 ++- R/check_model.R | 151 ++++++++++++---- R/check_model_diagnostics.R | 77 +++++++- R/check_normality.R | 16 +- R/check_outliers.R | 70 +++++++- R/check_overdispersion.R | 153 +++++++++++----- R/check_predictions.R | 4 +- R/check_residuals.R | 101 +++++++++++ R/check_zeroinflation.R | 123 ++++++++++--- R/simulate_residuals.R | 117 +++++++++++++ _pkgdown.yaml | 1 + inst/WORDLIST | 7 + man/check_model.Rd | 40 ++++- man/check_outliers.Rd | 37 +++- man/check_overdispersion.Rd | 53 +++++- man/check_predictions.Rd | 2 + man/check_residuals.Rd | 65 +++++++ man/check_zeroinflation.Rd | 54 +++++- man/simulate_residuals.Rd | 68 ++++++++ tests/testthat/_snaps/check_collinearity.md | 23 +++ tests/testthat/test-binned_residuals.R | 4 + tests/testthat/test-check_autocorrelation.R | 5 + tests/testthat/test-check_collinearity.R | 5 +- tests/testthat/test-check_convergence.R | 17 ++ .../testthat/test-check_heterogeneity_bias.R | 2 +- .../testthat/test-check_heteroskedasticity.R | 17 ++ tests/testthat/test-check_model.R | 7 +- tests/testthat/test-check_outliers.R | 37 ++++ tests/testthat/test-check_overdispersion.R | 164 +++++++++++++++++- tests/testthat/test-check_residuals.R | 26 +++ tests/testthat/test-check_zeroinflation.R | 147 +++++++++++++++- tests/testthat/test-checks.R | 32 +++- vignettes/simulate_residuals.Rmd | 94 ++++++++++ 36 files changed, 1623 insertions(+), 166 deletions(-) create mode 100644 R/check_residuals.R create mode 100644 R/simulate_residuals.R create mode 100644 man/check_residuals.Rd create mode 100644 man/simulate_residuals.Rd create mode 100644 tests/testthat/test-check_heteroskedasticity.R create mode 100644 tests/testthat/test-check_residuals.R create mode 100644 vignettes/simulate_residuals.Rmd diff --git a/DESCRIPTION b/DESCRIPTION index 218b0aaa7..be9f19035 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.9.6 +Version: 0.10.9.8 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -70,9 +70,8 @@ Depends: R (>= 3.6) Imports: bayestestR (>= 0.13.2), - insight (>= 0.19.8), + insight (>= 0.19.9), datawizard (>= 0.9.1), - methods, stats, utils Suggests: @@ -91,6 +90,7 @@ Suggests: correlation, cplm, dbscan, + DHARMa, estimatr, fixest, flextable, diff --git a/NAMESPACE b/NAMESPACE index 26125fbaf..24daed512 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -55,9 +55,11 @@ S3method(check_heteroscedasticity,default) S3method(check_homogeneity,afex_aov) S3method(check_homogeneity,default) S3method(check_homogeneity,htest) +S3method(check_model,DHARMa) S3method(check_model,brmsfit) S3method(check_model,default) S3method(check_model,model_fit) +S3method(check_model,performance_simres) S3method(check_model,stanreg) S3method(check_multimodal,data.frame) S3method(check_multimodal,numeric) @@ -71,6 +73,7 @@ S3method(check_normality,lmerModLmerTest) S3method(check_normality,merMod) S3method(check_normality,numeric) S3method(check_outliers,BFBayesFactor) +S3method(check_outliers,DHARMa) S3method(check_outliers,character) S3method(check_outliers,data.frame) S3method(check_outliers,default) @@ -87,11 +90,13 @@ S3method(check_outliers,meta) S3method(check_outliers,metabin) S3method(check_outliers,metagen) S3method(check_outliers,numeric) +S3method(check_outliers,performance_simres) S3method(check_outliers,rma) S3method(check_outliers,rma.uni) S3method(check_outliers,rq) S3method(check_outliers,rqs) S3method(check_outliers,rqss) +S3method(check_overdispersion,DHARMa) S3method(check_overdispersion,default) S3method(check_overdispersion,fixest) S3method(check_overdispersion,fixest_multi) @@ -103,11 +108,15 @@ S3method(check_overdispersion,model_fit) S3method(check_overdispersion,negbin) S3method(check_overdispersion,negbinirr) S3method(check_overdispersion,negbinmfx) +S3method(check_overdispersion,performance_simres) S3method(check_overdispersion,poissonirr) S3method(check_overdispersion,poissonmfx) S3method(check_predictions,BFBayesFactor) S3method(check_predictions,default) S3method(check_predictions,lme) +S3method(check_residuals,DHARMa) +S3method(check_residuals,default) +S3method(check_residuals,performance_simres) S3method(check_singularity,MixMod) S3method(check_singularity,clmm) S3method(check_singularity,cpglmm) @@ -123,6 +132,9 @@ S3method(check_sphericity,default) S3method(check_sphericity,mlm) S3method(check_symmetry,htest) S3method(check_symmetry,numeric) +S3method(check_zeroinflation,DHARMa) +S3method(check_zeroinflation,default) +S3method(check_zeroinflation,performance_simres) S3method(cronbachs_alpha,data.frame) S3method(cronbachs_alpha,matrix) S3method(cronbachs_alpha,parameters_pca) @@ -261,10 +273,12 @@ S3method(plot,check_model) S3method(plot,check_normality) S3method(plot,check_outliers) S3method(plot,check_overdisp) +S3method(plot,check_residuals) S3method(plot,check_sphericity) S3method(plot,compare_performance) S3method(plot,performance_pp_check) S3method(plot,performance_roc) +S3method(plot,performance_simres) S3method(plot,test_likelihoodratio) S3method(plot,test_performance) S3method(print,binned_residuals) @@ -283,7 +297,9 @@ S3method(print,check_normality_binom) S3method(print,check_outliers) S3method(print,check_outliers_metafor) S3method(print,check_outliers_metagen) +S3method(print,check_outliers_simres) S3method(print,check_overdisp) +S3method(print,check_residuals) S3method(print,check_sphericity) S3method(print,check_symmetry) S3method(print,check_zi) @@ -302,6 +318,7 @@ S3method(print,performance_pcp) S3method(print,performance_pp_check) S3method(print,performance_roc) S3method(print,performance_score) +S3method(print,performance_simres) S3method(print,r2_bayes) S3method(print,r2_generic) S3method(print,r2_loo) @@ -535,6 +552,7 @@ export(check_outliers) export(check_overdispersion) export(check_posterior_predictions) export(check_predictions) +export(check_residuals) export(check_singularity) export(check_sphericity) export(check_sphericity_bartlett) @@ -588,6 +606,7 @@ export(r2_tjur) export(r2_xu) export(r2_zeroinflated) export(rmse) +export(simulate_residuals) export(test_bf) export(test_likelihoodratio) export(test_lrt) diff --git a/NEWS.md b/NEWS.md index 9e2f2daa8..6fb76ca53 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,10 +4,35 @@ * Rudimentary support for models of class `serp` from package *serp*. +## New functions + +* `simulate_residuals()` and `check_residuals()`, to simulate and check residuals + from generalized linear (mixed) models. Simulating residuals is based on the + DHARMa package, and objects returned by `simulate_residuals()` inherit from + the `DHARMa` class, and thus can be used with any functions from the *DHARMa* + package. However, there are also implementations in the *performance* package, + such as `check_overdispersion()`, `check_zeroinflation()`, `check_outliers()` + or `check_model()`. + +* Plots for `check_model()` have been improved. The Q-Q plots are now based + on simulated residuals from the DHARMa package for non-Gaussian models, thus + providing more accurate and informative plots. The half-normal QQ plot for + generalized linear models can still be obtained by setting the new argument + `residual_type = "normal"`. + +* Following functions now support simulated residuals (from `simulate_residuals()`) + resp. objects returned from `DHARMa::simulateResiduals()`: + - `check_overdispersion()` + - `check_zeroinflation()` + - `check_outliers()` + - `check_model()` + ## General * Improved error messages for `check_model()` when QQ-plots cannot be created. +* `check_distribution()` is more stable for possibly sparse data. + ## Bug fixes * Fixed issue in `check_normality()` for t-tests. diff --git a/R/check_distribution.R b/R/check_distribution.R index 6dc5f7481..89f48263a 100644 --- a/R/check_distribution.R +++ b/R/check_distribution.R @@ -77,7 +77,7 @@ check_distribution.default <- function(model) { } else { x <- stats::residuals(model) } - dat <- .extract_features(x) + dat <- .extract_features(x, "residuals") dist_residuals <- as.data.frame(t(stats::predict(classify_distribution, dat, type = "prob"))) @@ -88,7 +88,7 @@ check_distribution.default <- function(model) { dummy_factors = FALSE, preserve_levels = TRUE ) - dat <- .extract_features(x) + dat <- .extract_features(x, "response") dist_response <- as.data.frame(t(stats::predict(classify_distribution, dat, type = "prob"))) @@ -189,15 +189,27 @@ check_distribution.numeric <- function(model) { # utilities ----------------------------- -.extract_features <- function(x) { +.extract_features <- function(x, type = NULL) { # validation check, remove missings x <- x[!is.na(x)] + # this might fail, so we wrap in ".safe()" + map_est <- .safe(mean(x) - as.numeric(bayestestR::map_estimate(x, bw = "nrd0"))) + + if (is.null(map_est)) { + map_est <- mean(x) - datawizard::distribution_mode(x) + msg <- "Could not accurately estimate the mode." + if (!is.null(type)) { + msg <- paste(msg, "Predicted distribution of the", type, "may be less accurate.") + } + insight::format_alert(msg) + } + data.frame( SD = stats::sd(x), MAD = stats::mad(x, constant = 1), Mean_Median_Distance = mean(x) - stats::median(x), - Mean_Mode_Distance = mean(x) - as.numeric(bayestestR::map_estimate(x, bw = "nrd0")), + Mean_Mode_Distance = map_est, SD_MAD_Distance = stats::sd(x) - stats::mad(x, constant = 1), Var_Mean_Distance = stats::var(x) - mean(x), Range_SD = diff(range(x)) / stats::sd(x), diff --git a/R/check_model.R b/R/check_model.R index e015bff80..6be17be22 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -12,40 +12,50 @@ #' @param panel Logical, if `TRUE`, plots are arranged as panels; else, #' single plots for each diagnostic are returned. #' @param check Character vector, indicating which checks for should be performed -#' and plotted. May be one or more of `"all"`, `"vif"`, `"qq"`, `"normality"`, -#' `"linearity"`, `"ncv"`, `"homogeneity"`, `"outliers"`, `"reqq"`, `"pp_check"`, -#' `"binned_residuals"` or `"overdispersion"`. Note that not all check apply -#' to all type of models (see 'Details'). `"reqq"` is a QQ-plot for random -#' effects and only available for mixed models. `"ncv"` is an alias for -#' `"linearity"`, and checks for non-constant variance, i.e. for -#' heteroscedasticity, as well as the linear relationship. By default, all -#' possible checks are performed and plotted. +#' and plotted. May be one or more of `"all"`, `"vif"`, `"qq"`, `"normality"`, +#' `"linearity"`, `"ncv"`, `"homogeneity"`, `"outliers"`, `"reqq"`, `"pp_check"`, +#' `"binned_residuals"` or `"overdispersion"`. Note that not all check apply +#' to all type of models (see 'Details'). `"reqq"` is a QQ-plot for random +#' effects and only available for mixed models. `"ncv"` is an alias for +#' `"linearity"`, and checks for non-constant variance, i.e. for +#' heteroscedasticity, as well as the linear relationship. By default, all +#' possible checks are performed and plotted. #' @param alpha,dot_alpha The alpha level of the confidence bands and dot-geoms. -#' Scalar from 0 to 1. +#' Scalar from 0 to 1. #' @param colors Character vector with color codes (hex-format). Must be of -#' length 3. First color is usually used for reference lines, second color -#' for dots, and third color for outliers or extreme values. +#' length 3. First color is usually used for reference lines, second color +#' for dots, and third color for outliers or extreme values. #' @param theme String, indicating the name of the plot-theme. Must be in the -#' format `"package::theme_name"` (e.g. `"ggplot2::theme_minimal"`). +#' format `"package::theme_name"` (e.g. `"ggplot2::theme_minimal"`). #' @param detrend Logical. Should Q-Q/P-P plots be detrended? Defaults to -#' `TRUE`. +#' `TRUE` for linear models or when `residual_type = "normal"`. Defaults to +#' `FALSE` for QQ plots based on simulated residuals (i.e. when +#' `residual_type = "simulated"`). +#' @param residual_type Character, indicating the type of residuals to be used. +#' For non-Gaussian models, the default is `"simulated"`, which uses simulated +#' residuals. These are based on [`simulate_residuals()`] and thus uses the +#' **DHARMa** package to return randomized quantile residuals. For Gaussian +#' models, the default is `"normal"`, which uses the default residuals from +#' the model. Setting `residual_type = "normal"` for non-Gaussian models will +#' use a half-normal Q-Q plot of the absolute value of the standardized deviance +#' residuals. #' @param show_dots Logical, if `TRUE`, will show data points in the plot. Set -#' to `FALSE` for models with many observations, if generating the plot is too -#' time-consuming. By default, `show_dots = NULL`. In this case `check_model()` -#' tries to guess whether performance will be poor due to a very large model -#' and thus automatically shows or hides dots. +#' to `FALSE` for models with many observations, if generating the plot is too +#' time-consuming. By default, `show_dots = NULL`. In this case `check_model()` +#' tries to guess whether performance will be poor due to a very large model +#' and thus automatically shows or hides dots. #' @param verbose If `FALSE` (default), suppress most warning messages. #' @param ... Arguments passed down to the individual check functions, especially -#' to `check_predictions()` and `binned_residuals()`. +#' to `check_predictions()` and `binned_residuals()`. #' @inheritParams check_predictions #' #' @return The data frame that is used for plotting. #' #' @note This function just prepares the data for plotting. To create the plots, -#' **see** needs to be installed. Furthermore, this function suppresses -#' all possible warnings. In case you observe suspicious plots, please refer -#' to the dedicated functions (like `check_collinearity()`, -#' `check_normality()` etc.) to get informative messages and warnings. +#' **see** needs to be installed. Furthermore, this function suppresses +#' all possible warnings. In case you observe suspicious plots, please refer +#' to the dedicated functions (like `check_collinearity()`, +#' `check_normality()` etc.) to get informative messages and warnings. #' #' @details For Bayesian models from packages **rstanarm** or **brms**, #' models will be "converted" to their frequentist counterpart, using @@ -103,10 +113,20 @@ #' normally distributed. Usually, dots should fall along the line. If there is #' some deviation (mostly at the tails), this indicates that the model doesn't #' predict the outcome well for that range that shows larger deviations from -#' the line. For generalized linear models, a half-normal Q-Q plot of the -#' absolute value of the standardized deviance residuals is shown, however, the -#' interpretation of the plot remains the same. See [`check_normality()`] for -#' further details. +#' the line. For generalized linear models and when `residual_type = "normal"`, +#' a half-normal Q-Q plot of the absolute value of the standardized deviance +#' residuals is shown, however, the interpretation of the plot remains the same. +#' See [`check_normality()`] for further details. Usually, for generalized linear +#' (mixed) models, a test for uniformity of residuals based on simulated residuals +#' is conducted (see next section). +#' +#' @section Uniformity of Residuals: +#' Fore non-Gaussian models, when `residual_type = "simulated"` (the default +#' for generalized linear (mixed) models), residuals are not expected to be +#' normally distributed. In this case, the created Q-Q plot checks the uniformity +#' of residuals. The interpretation of the plot is the same as for the normal +#' Q-Q plot. See [`simulate_residuals()`] and [`check_residuals()`] for further +#' details. #' #' @section Overdispersion: #' For count models, an *overdispersion plot* is shown. Overdispersion occurs @@ -124,12 +144,12 @@ #' inside the error bounds. See [`binned_residuals()`] for further details. #' #' @section Residuals for (Generalized) Linear Models: -#' Plots that check the normality of residuals (QQ-plot) or the homogeneity of +#' Plots that check the normality of residuals (Q-Q plot) or the homogeneity of #' variance use standardized Pearson's residuals for generalized linear models, #' and standardized residuals for linear models. The plots for the normality of #' residuals (with overlayed normal curve) and for the linearity assumption use -#' the default residuals for `lm` and `glm` (which are deviance -#' residuals for `glm`). +#' the default residuals for `lm` and `glm` (which are deviance residuals for +#' `glm`). #' #' @section Troubleshooting: #' For models with many observations, or for more complex models in general, @@ -174,6 +194,7 @@ check_model.default <- function(x, show_dots = NULL, bandwidth = "nrd", type = "density", + residual_type = NULL, verbose = FALSE, ...) { # check model formula @@ -183,13 +204,22 @@ check_model.default <- function(x, minfo <- insight::model_info(x, verbose = FALSE) + # set default for residual_type + if (is.null(residual_type)) { + residual_type <- ifelse(minfo$is_linear && !minfo$is_gam, "normal", "simulated") + } + # set default for detrend + if (missing(detrend)) { + detrend <- residual_type == "normal" + } + assumptions_data <- tryCatch( if (minfo$is_bayesian) { suppressWarnings(.check_assumptions_stan(x, ...)) } else if (minfo$is_linear) { - suppressWarnings(.check_assumptions_linear(x, minfo, verbose, ...)) + suppressWarnings(.check_assumptions_linear(x, minfo, residual_type, verbose, ...)) } else { - suppressWarnings(.check_assumptions_glm(x, minfo, verbose, ...)) + suppressWarnings(.check_assumptions_glm(x, minfo, residual_type, verbose, ...)) }, error = function(e) { e @@ -272,6 +302,7 @@ check_model.stanreg <- function(x, show_dots = NULL, bandwidth = "nrd", type = "density", + residual_type = NULL, verbose = TRUE, ...) { check_model(bayestestR::bayesian_as_frequentist(x), @@ -287,6 +318,7 @@ check_model.stanreg <- function(x, show_dots = show_dots, bandwidth = bandwidth, type = type, + residual_type = residual_type, verbose = verbose, ... ) @@ -311,6 +343,7 @@ check_model.model_fit <- function(x, show_dots = NULL, bandwidth = "nrd", type = "density", + residual_type = NULL, verbose = TRUE, ...) { check_model( @@ -327,20 +360,65 @@ check_model.model_fit <- function(x, show_dots = show_dots, bandwidth = bandwidth, type = type, + residual_type = residual_type, verbose = verbose, ... ) } +#' @export +check_model.performance_simres <- function(x, + dot_size = 2, + line_size = 0.8, + panel = TRUE, + check = "all", + alpha = 0.2, + dot_alpha = 0.8, + colors = c("#3aaf85", "#1b6ca8", "#cd201f"), + theme = "see::theme_lucid", + detrend = TRUE, + show_dots = NULL, + bandwidth = "nrd", + type = "density", + residual_type = NULL, + verbose = TRUE, + ...) { + check_model( + x$fittedModel, + dot_size = dot_size, + line_size = line_size, + panel = panel, + check = check, + alpha = alpha, + dot_alpha = dot_alpha, + colors = colors, + theme = theme, + detrend = detrend, + show_dots = show_dots, + bandwidth = bandwidth, + type = type, + residual_type = "simulated", + verbose = verbose, + ... + ) +} + +#' @export +check_model.DHARMa <- check_model.performance_simres + + # compile plots for checks of linear models ------------------------ -.check_assumptions_linear <- function(model, model_info, verbose = TRUE, ...) { +.check_assumptions_linear <- function(model, model_info, residual_type = "normal", verbose = TRUE, ...) { dat <- list() dat$VIF <- .diag_vif(model, verbose = verbose) - dat$QQ <- .diag_qq(model, model_info = model_info, verbose = verbose) + dat$QQ <- switch(residual_type, + simulated = simulate_residuals(model, ...), + .diag_qq(model, model_info = model_info, verbose = verbose) + ) dat$REQQ <- .diag_reqq(model, level = 0.95, model_info = model_info, verbose = verbose) dat$NORM <- .diag_norm(model, verbose = verbose) dat$NCV <- .diag_ncv(model, verbose = verbose) @@ -363,11 +441,14 @@ check_model.model_fit <- function(x, # compile plots for checks of generalized linear models ------------------------ -.check_assumptions_glm <- function(model, model_info, verbose = TRUE, ...) { +.check_assumptions_glm <- function(model, model_info, residual_type = "simulated", verbose = TRUE, ...) { dat <- list() dat$VIF <- .diag_vif(model, verbose = verbose) - dat$QQ <- .diag_qq(model, model_info = model_info, verbose = verbose) + dat$QQ <- switch(residual_type, + simulated = simulate_residuals(model, ...), + .diag_qq(model, model_info = model_info, verbose = verbose) + ) dat$HOMOGENEITY <- .diag_homogeneity(model, verbose = verbose) dat$REQQ <- .diag_reqq(model, level = 0.95, model_info = model_info, verbose = verbose) dat$OUTLIERS <- .safe(check_outliers(model, method = "cook")) diff --git a/R/check_model_diagnostics.R b/R/check_model_diagnostics.R index ff9482934..39a3c843d 100644 --- a/R/check_model_diagnostics.R +++ b/R/check_model_diagnostics.R @@ -293,7 +293,81 @@ # prepare data for homogeneity of variance plot ---------------------------------- -.diag_overdispersion <- function(model) { +.new_diag_overdispersion <- function(model, ...) { + faminfo <- insight::model_info(model) + + simres <- simulate_residuals(model, ...) + predicted <- simres$fittedPredictedResponse + d <- data.frame(Predicted = predicted) + + # residuals based on simulated residuals - but we want normally distributed residuals + d$Residuals <- stats::residuals(simres, quantileFunction = stats::qnorm, ...) + d$Res2 <- d$Residuals^2 + d$StdRes <- insight::get_residuals(model, type = "pearson") + + # data for poisson models + if (faminfo$is_poisson && !faminfo$is_zero_inflated) { + d$V <- predicted + } + + # data for negative binomial models + if (faminfo$is_negbin && !faminfo$is_zero_inflated) { + if (inherits(model, "glmmTMB")) { + if (faminfo$family == "nbinom1") { + # for nbinom1, we can use "sigma()" + d$V <- insight::get_sigma(model)^2 * stats::family(model)$variance(predicted) + } else { + # for nbinom2, "sigma()" has "inverse meaning" (see #654) + d$V <- (1 / insight::get_sigma(model)^2) * stats::family(model)$variance(predicted) + } + } else { + ## FIXME: this is not correct for glm.nb models? + d$V <- predicted * (1 + predicted / insight::get_sigma(model)) + } + } + + # data for zero-inflated poisson models + if (faminfo$is_poisson && faminfo$is_zero_inflated) { + if (inherits(model, "glmmTMB")) { + ptype <- "zprob" + } else { + ptype <- "zero" + } + d$Prob <- stats::predict(model, type = ptype) + d$V <- predicted * (1 - d$Prob) * (1 + predicted * d$Prob) + } + + # data for zero-inflated negative binomial models + if (faminfo$is_negbin && faminfo$is_zero_inflated && !faminfo$is_dispersion) { + if (inherits(model, "glmmTMB")) { + ptype <- "zprob" + } else { + ptype <- "zero" + } + d$Prob <- stats::predict(model, type = ptype) + d$Disp <- insight::get_sigma(model) + d$V <- predicted * (1 + predicted / d$Disp) * (1 - d$Prob) * (1 + predicted * (1 + predicted / d$Disp) * d$Prob) # nolint + } + + # data for zero-inflated negative binomial models with dispersion + if (faminfo$is_negbin && faminfo$is_zero_inflated && faminfo$is_dispersion) { + d <- data.frame(Predicted = stats::predict(model, type = "response")) + if (inherits(model, "glmmTMB")) { + ptype <- "zprob" + } else { + ptype <- "zero" + } + d$Prob <- stats::predict(model, type = ptype) + d$Disp <- stats::predict(model, type = "disp") + d$V <- predicted * (1 + predicted / d$Disp) * (1 - d$Prob) * (1 + predicted * (1 + predicted / d$Disp) * d$Prob) # nolint + } + + d +} + + + +.diag_overdispersion <- function(model, ...) { faminfo <- insight::model_info(model) # data for poisson models @@ -380,7 +454,6 @@ } - # helpers ---------------------------------- .sigma_glmmTMB_nonmixed <- function(model, faminfo) { diff --git a/R/check_normality.R b/R/check_normality.R index 9dc00d03f..2b9f071d5 100644 --- a/R/check_normality.R +++ b/R/check_normality.R @@ -58,7 +58,7 @@ check_normality.default <- function(x, ...) { if (!insight::model_info(x)$is_linear) { insight::format_alert( - "Checking normality of residuals is only appropriate for linear models." + "Checking normality of residuals is only appropriate for linear models. It is recommended to use `simulate_residuals()` and `check_residuals()` to check generalized linear (mixed) models for uniformity of residuals." # nolint ) return(NULL) } @@ -87,7 +87,7 @@ check_normality.glm <- function(x, ...) { insight::format_alert( "There's no formal statistical test for normality for generalized linear model.", - "Please use `plot()` on the return value of this function: `plot(check_normality(model))`" + "Instead, please use `simulate_residuals()` and `check_residuals()` to check for uniformity of residuals." ) invisible(out) } @@ -181,7 +181,7 @@ check_normality.merMod <- function(x, effects = c("fixed", "random"), ...) { # valid model? if (!info$is_linear && effects == "fixed") { insight::format_alert( - "Checking normality of residuals is only appropriate for linear models." + "Checking normality of residuals is only appropriate for linear models. It is recommended to use `simulate_residuals()` and `check_residuals()` to check generalized linear (mixed) models for uniformity of residuals." # nolint ) return(NULL) } @@ -200,7 +200,7 @@ check_normality.merMod <- function(x, effects = c("fixed", "random"), ...) { } }, error = function(e) { - return(NULL) + NULL } ) @@ -217,6 +217,8 @@ check_normality.merMod <- function(x, effects = c("fixed", "random"), ...) { attr(p.val, "type") <- "random effects" attr(p.val, "re_groups") <- re_groups } + } else if (inherits(x, "glmmTMB")) { + p.val <- .check_normality(stats::residuals(x, type = "deviance"), x) } else { # check for normality of residuals p.val <- .check_normality(stats::rstudent(x), x) @@ -260,7 +262,7 @@ check_normality.BFBayesFactor <- check_normality.afex_aov # helper --------------------- .check_normality <- function(x, model, type = "residuals") { - ts <- .safe({ + ts_result <- .safe({ if (length(x) >= 5000) { suppressWarnings(stats::ks.test(x, y = "pnorm", alternative = "two.sided")) } else { @@ -268,7 +270,7 @@ check_normality.BFBayesFactor <- check_normality.afex_aov } }) - if (is.null(ts)) { + if (is.null(ts_result)) { insight::print_color( sprintf("`check_normality()` does not support models of class `%s`.\n", class(model)[1]), "red" @@ -276,7 +278,7 @@ check_normality.BFBayesFactor <- check_normality.afex_aov return(NULL) } - out <- ts$p.value + out <- ts_result$p.value attr(out, "type") <- type out diff --git a/R/check_outliers.R b/R/check_outliers.R index 2017d4cc5..a589b1309 100644 --- a/R/check_outliers.R +++ b/R/check_outliers.R @@ -12,7 +12,8 @@ #' by at least half of the methods). See the **Details** section below #' for a description of the methods. #' -#' @param x A model or a data.frame object. +#' @param x A model, a data.frame, a `performance_simres` [`simulate_residuals()`] +#' or a `DHARMa` object. #' @param method The outlier detection method(s). Can be `"all"` or some of #' `"cook"`, `"pareto"`, `"zscore"`, `"zscore_robust"`, `"iqr"`, `"ci"`, `"eti"`, #' `"hdi"`, `"bci"`, `"mahalanobis"`, `"mahalanobis_robust"`, `"mcd"`, `"ics"`, @@ -23,11 +24,19 @@ #' 'Details'). If a numeric value is given, it will be used as the threshold #' for any of the method run. #' @param ID Optional, to report an ID column along with the row number. +#' @param type Type of method to test for outliers. Can be one of `"default"`, +#' `"binomial"` or `"bootstrap"`. Only applies when `x` is an object returned +#' by `simulate_residuals()` or of class `DHARMa`. See 'Details' in +#' `?DHARMa::testOutliers` for a detailed description of the types. #' @param verbose Toggle warnings. #' @param ... When `method = "ics"`, further arguments in `...` are passed #' down to [ICSOutlier::ics.outlier()]. When `method = "mahalanobis"`, #' they are passed down to [stats::mahalanobis()]. `percentage_central` can -#' be specified when `method = "mcd"`. +#' be specified when `method = "mcd"`. For objects of class `performance_simres` +#' or `DHARMa`, further arguments are passed down to `DHARMa::testOutliers()`. +#' +#' @inheritParams check_zeroinflation +#' @inheritParams simulate_residuals #' #' @return A logical vector of the detected outliers with a nice printing #' method: a check (message) on whether outliers were detected or not. The @@ -200,6 +209,17 @@ #' observations located at `qnorm(1-0.025) * SD)` of the log-transformed #' LOF distance. Requires the **dbscan** package. #' +#' @section Methods for simulated residuals: +#' +#' The approach for detecting outliers based on simulated residuals differs +#' from the traditional methods and may not be detecting outliers as expected. +#' Literally, this approach compares observed to simulated values. However, we +#' do not know the deviation of the observed data to the model expectation, and +#' thus, the term "outlier" should be taken with a grain of salt. It refers to +#' "simulation outliers". Basically, the comparison tests whether on observed +#' data point is outside the simulated range. It is strongly recommended to read +#' the related documentations in the **DHARMa** package, e.g. `?DHARMa::testOutliers`. +#' #' @section Threshold specification: #' #' Default thresholds are currently specified as follows: @@ -785,6 +805,28 @@ plot.check_outliers <- function(x, ...) { NextMethod() } +#' @export +print.check_outliers_simres <- function(x, digits = 2, ...) { + result <- paste0( + insight::format_value(100 * x$Expected, digits = digits, ...), + "%, ", + insight::format_ci(100 * x$CI_low, 100 * x$CI_high, digits = digits, ...) + ) + insight::print_color("# Outliers detection\n\n", "blue") + cat(sprintf(" Proportion of observed outliers: %.*f%%\n", digits, 100 * x$Coefficient)) + cat(sprintf(" Proportion of expected outliers: %s\n\n", result)) + + p_string <- paste0(" (", insight::format_p(x$p_value), ")") + + if (x$p_value < 0.05) { + message("Outliers were detected", p_string, ".") + } else { + message("No outliers were detected", p_string, ".") + } + + invisible(x) +} + # other classes ------------------------- @@ -1438,6 +1480,30 @@ check_outliers.meta <- check_outliers.metagen check_outliers.metabin <- check_outliers.metagen +#' @rdname check_outliers +#' @export +check_outliers.performance_simres <- function(x, type = "default", iterations = 100, alternative = "two.sided", ...) { + type <- match.arg(type, c("default", "binomial", "bootstrap")) + alternative <- match.arg(alternative, c("two.sided", "greater", "less")) + + insight::check_if_installed("DHARMa") + result <- DHARMa::testOutliers(x, type = type, nBoot = iterations, alternative = alternative, plot = FALSE, ...) + + outlier <- list( + Coefficient = as.vector(result$estimate), + Expected = as.numeric(gsub("(.*)\\(expected: (\\d.*)\\)", "\\2", names(result$estimate))), + CI_low = result$conf.int[1], + CI_high = result$conf.int[2], + p_value = result$p.value + ) + class(outlier) <- c("check_outliers_simres", class(outlier)) + outlier +} + +#' @export +check_outliers.DHARMa <- check_outliers.performance_simres + + # Thresholds -------------------------------------------------------------- diff --git a/R/check_overdispersion.R b/R/check_overdispersion.R index 95ad62c0a..0a9cfb595 100644 --- a/R/check_overdispersion.R +++ b/R/check_overdispersion.R @@ -1,39 +1,51 @@ -#' @title Check overdispersion of GL(M)M's +#' @title Check overdispersion (and underdispersion) of GL(M)M's #' @name check_overdispersion #' #' @description `check_overdispersion()` checks generalized linear (mixed) -#' models for overdispersion. +#' models for overdispersion (and underdispersion). #' #' @param x Fitted model of class `merMod`, `glmmTMB`, `glm`, or `glm.nb` -#' (package **MASS**). -#' @param ... Currently not used. +#' (package **MASS**), or an object returned by `simulate_residuals()`. +#' +#' @inheritParams check_zeroinflation #' #' @return A list with results from the overdispersion test, like chi-squared #' statistics, p-value or dispersion ratio. #' #' @details Overdispersion occurs when the observed variance is higher than the -#' variance of a theoretical model. For Poisson models, variance increases -#' with the mean and, therefore, variance usually (roughly) equals the mean -#' value. If the variance is much higher, the data are "overdispersed". +#' variance of a theoretical model. For Poisson models, variance increases +#' with the mean and, therefore, variance usually (roughly) equals the mean +#' value. If the variance is much higher, the data are "overdispersed". A less +#' common case is underdispersion, where the variance is much lower than the +#' mean. #' #' @section Interpretation of the Dispersion Ratio: #' If the dispersion ratio is close to one, a Poisson model fits well to the #' data. Dispersion ratios larger than one indicate overdispersion, thus a -#' negative binomial model or similar might fit better to the data. A p-value < -#' .05 indicates overdispersion. +#' negative binomial model or similar might fit better to the data. Dispersion +#' ratios much smaller than one indicate underdispersion. A p-value < .05 +#' indicates either overdispersion or underdispersion (the first being more common). #' #' @section Overdispersion in Poisson Models: #' For Poisson models, the overdispersion test is based on the code from #' _Gelman and Hill (2007), page 115_. #' +#' @section Overdispersion in Negative Binomial or Zero-Inflated Models: +#' For negative binomial (mixed) models or models with zero-inflation component, +#' the overdispersion test is based simulated residuals (see [`simulate_residuals()`]). +#' #' @section Overdispersion in Mixed Models: #' For `merMod`- and `glmmTMB`-objects, `check_overdispersion()` #' is based on the code in the #' [GLMM FAQ](http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html), #' section *How can I deal with overdispersion in GLMMs?*. Note that this #' function only returns an *approximate* estimate of an overdispersion -#' parameter, and is probably inaccurate for zero-inflated mixed models (fitted -#' with `glmmTMB`). +#' parameter. Using this approach would be inaccurate for zero-inflated or +#' negative binomial mixed models (fitted with `glmmTMB`), thus, in such cases, +#' the overdispersion test is based on [`simulate_residuals()`] (which is identical +#' to `check_overdispersion(simulate_residuals(model))`). +#' +#' @inheritSection check_zeroinflation Tests based on simulated residuals #' #' @section How to fix Overdispersion: #' Overdispersion can be fixed by either modeling the dispersion parameter, or @@ -113,7 +125,9 @@ print.check_overdisp <- function(x, digits = 3, ...) { orig_x <- x x$dispersion_ratio <- sprintf("%.*f", digits, x$dispersion_ratio) - x$chisq_statistic <- sprintf("%.*f", digits, x$chisq_statistic) + if (!is.null(x$chisq_statistic)) { + x$chisq_statistic <- sprintf("%.*f", digits, x$chisq_statistic) + } x$p_value <- pval <- round(x$p_value, digits = digits) if (x$p_value < 0.001) x$p_value <- "< 0.001" @@ -125,14 +139,21 @@ print.check_overdisp <- function(x, digits = 3, ...) { ) insight::print_color("# Overdispersion test\n\n", "blue") - cat(sprintf(" dispersion ratio = %s\n", format(x$dispersion_ratio, justify = "right", width = maxlen))) - cat(sprintf(" Pearson's Chi-Squared = %s\n", format(x$chisq_statistic, justify = "right", width = maxlen))) - cat(sprintf(" p-value = %s\n\n", format(x$p_value, justify = "right", width = maxlen))) + if (is.null(x$chisq_statistic)) { + cat(sprintf(" dispersion ratio = %s\n", format(x$dispersion_ratio, justify = "right", width = maxlen))) + cat(sprintf(" p-value = %s\n\n", format(x$p_value, justify = "right", width = maxlen))) + } else { + cat(sprintf(" dispersion ratio = %s\n", format(x$dispersion_ratio, justify = "right", width = maxlen))) + cat(sprintf(" Pearson's Chi-Squared = %s\n", format(x$chisq_statistic, justify = "right", width = maxlen))) + cat(sprintf(" p-value = %s\n\n", format(x$p_value, justify = "right", width = maxlen))) + } if (pval > 0.05) { message("No overdispersion detected.") - } else { + } else if (x$dispersion_ratio > 1) { message("Overdispersion detected.") + } else { + message("Underdispersion detected.") } invisible(orig_x) @@ -144,8 +165,21 @@ print.check_overdisp <- function(x, digits = 3, ...) { #' @export check_overdispersion.glm <- function(x, verbose = TRUE, ...) { - # check if we have poisson + # model info info <- insight::model_info(x) + obj_name <- insight::safe_deparse_symbol(substitute(x)) + + # for certain distributions, simulated residuals are more accurate + use_simulated <- info$is_bernoulli || info$is_binomial || (!info$is_count && !info$is_binomial) || info$is_negbin + + # model classes not supported in DHARMa + not_supported <- c("fixest", "glmx") + + if (use_simulated && !inherits(x, not_supported)) { + return(check_overdispersion(simulate_residuals(x, ...), object_name = obj_name, ...)) + } + + # check if we have poisson - need this for models not supported by DHARMa if (!info$is_count && !info$is_binomial) { insight::format_error( "Overdispersion checks can only be used for models from Poisson families or binomial families with trials > 1." @@ -157,10 +191,6 @@ check_overdispersion.glm <- function(x, verbose = TRUE, ...) { insight::format_error("Overdispersion checks cannot be used for Bernoulli models.") } - if (info$is_binomial) { - return(check_overdispersion.merMod(x, verbose = verbose, ...)) - } - yhat <- stats::fitted(x) n <- stats::nobs(x) @@ -179,7 +209,7 @@ check_overdispersion.glm <- function(x, verbose = TRUE, ...) { ) class(out) <- c("check_overdisp", "see_check_overdisp") - attr(out, "object_name") <- insight::safe_deparse_symbol(substitute(x)) + attr(out, "object_name") <- obj_name out } @@ -219,39 +249,30 @@ check_overdispersion.model_fit <- check_overdispersion.poissonmfx # Overdispersion for mixed models --------------------------- #' @export -check_overdispersion.merMod <- function(x, verbose = TRUE, ...) { - # check if we have poisson or binomial +check_overdispersion.merMod <- function(x, ...) { + # for certain distributions, simulated residuals are more accurate info <- insight::model_info(x) - if (!info$is_count && !info$is_binomial) { - insight::format_error( - "Overdispersion checks can only be used for models from Poisson families or binomial families with trials > 1." - ) - } + obj_name <- insight::safe_deparse_symbol(substitute(x)) - # check for Bernoulli - if (info$is_bernoulli) { - insight::format_error("Overdispersion checks cannot be used for Bernoulli models.") + # for certain distributions, simulated residuals are more accurate + use_simulated <- info$family == "genpois" || info$is_zero_inflated || info$is_bernoulli || info$is_binomial || (!info$is_count && !info$is_binomial) || info$is_negbin # nolint + + if (use_simulated) { + return(check_overdispersion(simulate_residuals(x, ...), object_name = obj_name, ...)) } rdf <- stats::df.residual(x) rp <- insight::get_residuals(x, type = "pearson") + + # check if pearson residuals are available if (insight::is_empty_object(rp)) { - Pearson.chisq <- NA - prat <- NA - pval <- NA - rp <- NA - if (isTRUE(verbose)) { - insight::format_alert( - "Cannot test for overdispersion, because pearson residuals are not implemented for models with zero-inflation or variable dispersion.", - "Only the visual inspection using `plot(check_overdispersion(model))` is possible." - ) - } - } else { - Pearson.chisq <- sum(rp^2) - prat <- Pearson.chisq / rdf - pval <- stats::pchisq(Pearson.chisq, df = rdf, lower.tail = FALSE) + return(check_overdispersion(simulate_residuals(x, ...), object_name = obj_name, ...)) } + Pearson.chisq <- sum(rp^2) + prat <- Pearson.chisq / rdf + pval <- stats::pchisq(Pearson.chisq, df = rdf, lower.tail = FALSE) + out <- list( chisq_statistic = Pearson.chisq, dispersion_ratio = prat, @@ -260,7 +281,7 @@ check_overdispersion.merMod <- function(x, verbose = TRUE, ...) { ) class(out) <- c("check_overdisp", "see_check_overdisp") - attr(out, "object_name") <- insight::safe_deparse_symbol(substitute(x)) + attr(out, "object_name") <- obj_name out } @@ -270,3 +291,41 @@ check_overdispersion.negbin <- check_overdispersion.merMod #' @export check_overdispersion.glmmTMB <- check_overdispersion.merMod + + +# simulated residuals ----------------------------- + +#' @rdname check_overdispersion +#' @export +check_overdispersion.performance_simres <- function(x, alternative = c("two.sided", "less", "greater"), ...) { + # match arguments + alternative <- match.arg(alternative) + + # check for special arguments - we may pass "object_name" from other methods + dots <- list(...) + if (is.null(dots$object_name)) { + obj_name <- insight::safe_deparse_symbol(substitute(x)) + } else { + obj_name <- dots$object_name + } + + # statistics function + variance <- stats::sd(x$simulatedResponse)^2 + dispersion <- function(i) stats::var(i - x$fittedPredictedResponse) / variance + + # compute test results + result <- .simres_statistics(x, statistic_fun = dispersion, alternative = alternative) + + out <- list( + dispersion_ratio = result$observed / mean(result$simulated), + p_value = result$p + ) + + class(out) <- c("check_overdisp", "see_check_overdisp") + attr(out, "object_name") <- obj_name + + out +} + +#' @export +check_overdispersion.DHARMa <- check_overdispersion.performance_simres diff --git a/R/check_predictions.R b/R/check_predictions.R index ac4eaf45c..69222d7f8 100644 --- a/R/check_predictions.R +++ b/R/check_predictions.R @@ -37,6 +37,8 @@ #' #' @return A data frame of simulated responses and the original response vector. #' +#' @seealso [`simulate_residuals()`] and [`check_residuals()`]. +#' #' @details An example how posterior predictive checks can also be used for model #' comparison is Figure 6 from _Gabry et al. 2019, Figure 6_. #' @@ -104,7 +106,7 @@ check_predictions.default <- function(object, minfo <- insight::model_info(object, verbose = FALSE) # try to find sensible default for "type" argument - suggest_dots <- (minfo$is_bernoulli || minfo$is_count || minfo$is_ordinal || minfo$is_categorical || minfo$is_multinomial) + suggest_dots <- (minfo$is_bernoulli || minfo$is_count || minfo$is_ordinal || minfo$is_categorical || minfo$is_multinomial) # nolint if (missing(type) && suggest_dots) { type <- "discrete_interval" } diff --git a/R/check_residuals.R b/R/check_residuals.R new file mode 100644 index 000000000..2bb284c88 --- /dev/null +++ b/R/check_residuals.R @@ -0,0 +1,101 @@ +#' Check uniformity of simulated residuals +#' +#' `check_residuals()` checks generalized linear (mixed) models for uniformity +#' of randomized quantile residuals, which can be used to identify typical model +#' misspecification problems, such as over/underdispersion, zero-inflation, and +#' residual spatial and temporal autocorrelation. +#' +#' @param x An object returned by [`simulate_residuals()`] or +#' [`DHARMa::simulateResiduals()`]. +#' @param alternative A character string specifying the alternative hypothesis. +#' See [`stats::ks.test()`] for details. +#' @param ... Passed down to [`stats::ks.test()`]. +#' +#' @details Uniformity of residuals is checked using a Kolmogorov-Smirnov test. +#' There is a `plot()` method to visualize the distribution of the residuals. +#' The test for uniformity basically tests to which extent the observed values +#' deviate from the model expectations (i.e. simulated values). In this sense, +#' the `check_residuals()` function has similar goals like [`check_predictions()`]. +#' +#' @inheritSection simulate_residuals Tests based on simulated residuals +#' +#' @seealso [`simulate_residuals()`] and [`check_predictions()`]. +#' +#' @return The p-value of the test statistics. +#' +#' @examplesIf require("DHARMa") +#' dat <- DHARMa::createData(sampleSize = 100, overdispersion = 0.5, family = poisson()) +#' m <- glm(observedResponse ~ Environment1, family = poisson(), data = dat) +#' res <- simulate_residuals(m) +#' check_residuals(res) +#' +#' @export +check_residuals <- function(x, ...) { + UseMethod("check_residuals") +} + +#' @rdname check_residuals +#' @export +check_residuals.default <- function(x, alternative = c("two.sided", "less", "greater"), ...) { + if (insight::is_model(x)) { + check_residuals(simulate_residuals(x, ...), alternative = alternative) + } else { + insight::format_error("`check_residuals()` only works with objects supported by `simulate_residuals()` or `DHARMa::simulateResiduals()`.") # nolint + } +} + +#' @export +check_residuals.performance_simres <- function(x, alternative = c("two.sided", "less", "greater"), ...) { + alternative <- match.arg(alternative) + ts_test <- suppressWarnings( + stats::ks.test( + stats::residuals(x), + "punif", + alternative = alternative, + ... + ) + ) + + p.val <- ts_test$p.value + + attr(p.val, "data") <- x + attr(p.val, "object_name") <- insight::safe_deparse_symbol(substitute(x)) + class(p.val) <- unique(c("check_residuals", "see_check_residuals", class(p.val))) + + p.val +} + +#' @export +check_residuals.DHARMa <- check_residuals.performance_simres + + +# methods ------------------------------ + +#' @export +print.check_residuals <- function(x, ...) { + pstring <- insight::format_p(x) + + if (x < 0.05) { + insight::print_color( + sprintf( + "Warning: Non-uniformity of simulated residuals detected (%s).\n", pstring + ), + "red" + ) + } else { + insight::print_color( + sprintf( + "OK: Simulated residuals appear as uniformly distributed (%s).\n", pstring + ), + "green" + ) + } + + invisible(x) +} + +#' @export +plot.check_residuals <- function(x, ...) { + insight::check_if_installed("see", "for residual plots") + NextMethod() +} diff --git a/R/check_zeroinflation.R b/R/check_zeroinflation.R index f0f19b369..63badc5d4 100644 --- a/R/check_zeroinflation.R +++ b/R/check_zeroinflation.R @@ -7,9 +7,13 @@ #' @param x Fitted model of class `merMod`, `glmmTMB`, `glm`, or `glm.nb` #' (package **MASS**). #' @param tolerance The tolerance for the ratio of observed and predicted -#' zeros to considered as over- or underfitting zeros. A ratio -#' between 1 +/- `tolerance` is considered as OK, while a ratio -#' beyond or below this threshold would indicate over- or underfitting. +#' zeros to considered as over- or underfitting zeros. A ratio +#' between 1 +/- `tolerance` is considered as OK, while a ratio +#' beyond or below this threshold would indicate over- or underfitting. +#' @param alternative A character string specifying the alternative hypothesis. +#' @param ... Arguments passed down to [`simulate_residuals()`]. This only applies +#' for models with zero-inflation component, or for models of class `glmmTMB` +#' from `nbinom1` or `nbinom2` family. #' #' @return A list with information about the amount of predicted and observed #' zeros in the outcome, as well as the ratio between these two values. @@ -19,14 +23,52 @@ #' zero-inflation in the data. In such cases, it is recommended to use #' negative binomial or zero-inflated models. #' +#' In case of negative binomial models, models with zero-inflation component, +#' or hurdle models, the results from `check_zeroinflation()` are based on +#' [`simulate_residuals()`], i.e. `check_zeroinflation(simulate_residuals(model))` +#' is internally called if necessary. +#' +#' @section Tests based on simulated residuals: +#' For certain models, resp. model from certain families, tests are based on +#' [`simulated_residuals()`]. These are usually more accurate for tests than the +#' traditionally used Pearson residuals. However, when simulating from more +#' complex model, such as mixed models or models with zero-inflation, there are +#' several important considerations. Arguments specified in `...` are passed to +#' [`simulate_residuals()`], which relies on [`DHARMa::simulateResiduals()`] (and +#' therefore, arguments in `...` are passed further down to _DHARMa_). The +#' defaults in DHARMa are set on the most conservative option that works for +#' all models. However, in many cases, the help advises to use different settings +#' in particular situations or for particular models. It is recommended to read +#' the 'Details' in `?DHARMa::simulateResiduals` closely to understand the +#' implications of the simulation process and which arguments should be modified +#' to get the most accurate results. +#' #' @family functions to check model assumptions and and assess model quality #' -#' @examplesIf require("glmmTMB") +#' @examplesIf require("glmmTMB") && require("DHARMa") #' data(Salamanders, package = "glmmTMB") #' m <- glm(count ~ spp + mined, family = poisson, data = Salamanders) #' check_zeroinflation(m) +#' +#' # for models with zero-inflation component, it's better to carry out +#' # the check for zero-inflation using simulated residuals +#' m <- glmmTMB::glmmTMB( +#' count ~ spp + mined, +#' ziformula = ~ mined + spp, +#' family = poisson, +#' data = Salamanders +#' ) +#' res <- simulate_residuals(m) +#' check_zeroinflation(res) +#' @export +check_zeroinflation <- function(x, ...) { + UseMethod("check_zeroinflation") +} + + +#' @rdname check_zeroinflation #' @export -check_zeroinflation <- function(x, tolerance = 0.05) { +check_zeroinflation.default <- function(x, tolerance = 0.05, ...) { # check if we have poisson model_info <- insight::model_info(x) if (!model_info$is_count) { @@ -41,28 +83,22 @@ check_zeroinflation <- function(x, tolerance = 0.05) { return(NULL) } - # get predictions of outcome - mu <- stats::fitted(x) + # model classes not supported in DHARMa + not_supported <- c("fixest", "glmx") - # get overdispersion parameters - if (model_info$is_negbin) { - if (methods::is(x, "glmmTMB")) { - theta <- stats::sigma(x) - } else if (methods::is(x, "glmerMod")) { - theta <- environment(x@resp$family$aic)[[".Theta"]] - } else { - theta <- x$theta + # for models with zero-inflation component or negative binomial families, + # we use simulated_residuals() + if (!inherits(x, not_supported) && (model_info$is_zero_inflated || model_info$is_negbin || model_info$family == "genpois")) { # nolint + if (missing(tolerance)) { + tolerance <- 0.1 } - } else { - theta <- NULL + return(check_zeroinflation(simulate_residuals(x, ...), tolerance = tolerance, ...)) } + # get predictions of outcome + mu <- stats::fitted(x) # get predicted zero-counts - if (!is.null(theta)) { - pred.zero <- round(sum(stats::dnbinom(x = 0, size = theta, mu = mu))) - } else { - pred.zero <- round(sum(stats::dpois(x = 0, lambda = mu))) - } + pred.zero <- round(sum(stats::dpois(x = 0, lambda = mu))) # proportion structure( @@ -77,6 +113,33 @@ check_zeroinflation <- function(x, tolerance = 0.05) { } +#' @rdname check_zeroinflation +#' @export +check_zeroinflation.performance_simres <- function(x, + tolerance = 0.1, + alternative = c("two.sided", "less", "greater"), + ...) { + # match arguments + alternative <- match.arg(alternative) + + # compute test results + result <- .simres_statistics(x, statistic_fun = function(i) sum(i == 0), alternative = alternative) + + structure( + class = "check_zi", + list( + predicted.zeros = round(mean(result$simulated)), + observed.zeros = result$observed, + ratio = mean(result$simulated) / result$observed, + tolerance = tolerance, + p.value = result$p + ) + ) +} + +#' @export +check_zeroinflation.DHARMa <- check_zeroinflation.performance_simres + # methods ------------------ @@ -90,12 +153,22 @@ print.check_zi <- function(x, ...) { lower <- 1 - x$tolerance upper <- 1 + x$tolerance + if (is.null(x$p.value)) { + p_string <- "" + } else { + p_string <- paste0(" (", insight::format_p(x$p.value), ")") + } + if (x$ratio < lower) { - message("Model is underfitting zeros (probable zero-inflation).") + message("Model is underfitting zeros (probable zero-inflation)", p_string, ".") } else if (x$ratio > upper) { - message("Model is overfitting zeros.") + message("Model is overfitting zeros", p_string, ".") } else { - insight::format_alert("Model seems ok, ratio of observed and predicted zeros is within the tolerance range.") + insight::format_alert(paste0( + "Model seems ok, ratio of observed and predicted zeros is within the tolerance range", + p_string, + "." + )) } invisible(x) diff --git a/R/simulate_residuals.R b/R/simulate_residuals.R new file mode 100644 index 000000000..207b660db --- /dev/null +++ b/R/simulate_residuals.R @@ -0,0 +1,117 @@ +#' @title Simulate randomized quantile residuals from a model +#' @name simulate_residuals +#' +#' @description Returns simulated residuals from a model. This is useful for +#' checking the uniformity of residuals, in particular for non-Gaussian models, +#' where the residuals are not expected to be normally distributed. +#' +#' @param x A model object. +#' @param iterations Number of simulations to run. +#' @param ... Arguments passed on to [`DHARMa::simulateResiduals()`]. +#' +#' @return Simulated residuals, which can be further processed with +#' [`check_residuals()`]. The returned object is of class `DHARMa` and +#' `performance_simres`. +#' +#' @seealso [`check_residuals()`] and [`check_predictions()`]. +#' +#' @details This function is a small wrapper around [`DHARMa::simulateResiduals()`]. +#' It basically only sets `plot = FALSE` and adds an additional class attribute +#' (`"performance_sim_res"`), which allows using the DHARMa object in own plotting +#' functions in the **see** package. See also `vignette("DHARMa")`. There is a +#' `plot()` method to visualize the distribution of the residuals. +#' +#' @section Tests based on simulated residuals: +#' For certain models, resp. model from certain families, tests like +#' [`check_zeroinflation()`] or [`check_overdispersion()`] are based on +#' `simulated_residuals()`. These are usually more accurate for such tests than +#' the traditionally used Pearson residuals. However, when simulating from more +#' complex model, such as mixed models or models with zero-inflation, there are +#' several important considerations. `simulate_residuals()` relies on +#' [`DHARMa::simulateResiduals()`], and additional arguments specified in `...` +#' are passed further down to that function. The defaults in DHARMa are set on +#' the most conservative option that works for all models. However, in many +#' cases, the help advises to use different settings in particular situations +#' or for particular models. It is recommended to read the 'Details' in +#' `?DHARMa::simulateResiduals` closely to understand the implications of the +#' simulation process and which arguments should be modified to get the most +#' accurate results. +#' +#' @references +#' +#' - Hartig, F., & Lohse, L. (2022). DHARMa: Residual Diagnostics for Hierarchical +#' (Multi-Level / Mixed) Regression Models (Version 0.4.5). Retrieved from +#' https://CRAN.R-project.org/package=DHARMa +#' +#' - Dunn, P. K., & Smyth, G. K. (1996). Randomized Quantile Residuals. Journal +#' of Computational and Graphical Statistics, 5(3), 236. \doi{10.2307/1390802} +#' +#' @examplesIf require("DHARMa") +#' m <- lm(mpg ~ wt + cyl + gear + disp, data = mtcars) +#' simulate_residuals(m) +#' +#' @export +simulate_residuals <- function(x, iterations = 250, ...) { + insight::check_if_installed("DHARMa") + # TODO (low priority): Note that DHARMa::simulateResiduals(x, ...) does its own checks for whether + # or not the model passed to it is supported, do we want to use this or do our + # own checks so we can supply our own error message? + if (iterations < 2) { + insight::format_error("`iterations` must be at least 2.") + } + # It's important to preserve this object as is, rather than prematurely + # extracting the residuals from it because the object contains important stuff + # in it that we'll want to pass onto other functions later, such as passing + # the fitted model into check_model(). + out <- DHARMa::simulateResiduals(x, n = iterations, plot = FALSE, ...) + class(out) <- c("performance_simres", "see_performance_simres", class(out)) + out +} + + +# methods ------------------------------ + +#' @export +print.performance_simres <- function(x, ...) { + # TODO (low priority): We can probably just base this off of the print method + # DHARMa uses, but with an easystats style. For now we can just stick with + # DHARMa's method. + msg <- paste0( + "Simulated residuals from a model of class `", class(x$fittedModel)[1], + "` based on ", x$nSim, " simulations. Use `check_residuals()` to check ", + "uniformity of residuals. It is recommended to refer to `?DHARMa::simulateReisudals`", + " and `vignette(\"DHARMa\")` for more information about different settings", + " in particular situations or for particular models.\n" + ) + cat(insight::format_message(msg)) +} + +#' @export +plot.performance_simres <- function(x, ...) { + insight::check_if_installed("see", "for residual plots") + NextMethod() +} + + +# helper functions --------------------- + +.simres_statistics <- function(x, statistic_fun, alternative = "two.sided") { + # summarize the observed and simulated residuals + if (is.null(statistic_fun)) { + # we pass the values to compute the p-value directly (for "check_outliers()") + observed <- x + simulated <- statistic_fun + } else { + # or apply a function to observed and simulated residusls, + # to calcualte a summary statistic + observed <- statistic_fun(x$observedResponse) + simulated <- apply(x$simulatedResponse, 2, statistic_fun) + } + # p is simply ratio of simulated zeros to observed zeros + p <- switch(alternative, + greater = mean(simulated >= observed), + less = mean(simulated <= observed), + min(min(mean(simulated <= observed), mean(simulated >= observed)) * 2, 1) + ) + list(observed = observed, simulated = simulated, p = p) +} diff --git a/_pkgdown.yaml b/_pkgdown.yaml index 71f444657..d6e56740c 100644 --- a/_pkgdown.yaml +++ b/_pkgdown.yaml @@ -13,6 +13,7 @@ reference: contents: - binned_residuals - starts_with("check_") + - simulate_residuals - title: "Check Model Performance or Quality" contents: diff --git a/inst/WORDLIST b/inst/WORDLIST index 377bd8ea4..be923aed4 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -46,6 +46,7 @@ DOI Datenerhebung Delacre Deskriptivstatistische +DHARMa Distinguishability Dom Dominicy @@ -76,6 +77,7 @@ Gazen Gelman Gnanadesikan Guilford +Hartig HDI HJ Hastie @@ -124,6 +126,7 @@ Ley Leys Lillo Liu +Lohse Lomax MADs MSA @@ -182,6 +185,7 @@ Sensivity Shachar Shinichi Skrondal +Smyth Solomons Somers Specifity @@ -279,6 +283,7 @@ metafor mfx mhurdle mis +misspecification mlm mlogit modelfit @@ -302,6 +307,7 @@ quartile quartiles rOpenSci recoding +reimplement rempsyc reproducibility rescaling @@ -325,6 +331,7 @@ unadjusted und underfitted underfitting +underdispersion visualisation winsorization winsorize diff --git a/man/check_model.Rd b/man/check_model.Rd index 4e8b5fddf..4bdea6ebe 100644 --- a/man/check_model.Rd +++ b/man/check_model.Rd @@ -21,6 +21,7 @@ check_model(x, ...) show_dots = NULL, bandwidth = "nrd", type = "density", + residual_type = NULL, verbose = FALSE, ... ) @@ -57,7 +58,9 @@ for dots, and third color for outliers or extreme values.} format \code{"package::theme_name"} (e.g. \code{"ggplot2::theme_minimal"}).} \item{detrend}{Logical. Should Q-Q/P-P plots be detrended? Defaults to -\code{TRUE}.} +\code{TRUE} for linear models or when \code{residual_type = "normal"}. Defaults to +\code{FALSE} for QQ plots based on simulated residuals (i.e. when +\code{residual_type = "simulated"}).} \item{show_dots}{Logical, if \code{TRUE}, will show data points in the plot. Set to \code{FALSE} for models with many observations, if generating the plot is too @@ -76,6 +79,15 @@ to a different value.} options are appropriate for models with discrete - binary, integer or ordinal etc. - outcomes).} +\item{residual_type}{Character, indicating the type of residuals to be used. +For non-Gaussian models, the default is \code{"simulated"}, which uses simulated +residuals. These are based on \code{\link[=simulate_residuals]{simulate_residuals()}} and thus uses the +\strong{DHARMa} package to return randomized quantile residuals. For Gaussian +models, the default is \code{"normal"}, which uses the default residuals from +the model. Setting \code{residual_type = "normal"} for non-Gaussian models will +use a half-normal Q-Q plot of the absolute value of the standardized deviance +residuals.} + \item{verbose}{If \code{FALSE} (default), suppress most warning messages.} } \value{ @@ -161,10 +173,22 @@ This plot is used to determine if the residuals of the regression model are normally distributed. Usually, dots should fall along the line. If there is some deviation (mostly at the tails), this indicates that the model doesn't predict the outcome well for that range that shows larger deviations from -the line. For generalized linear models, a half-normal Q-Q plot of the -absolute value of the standardized deviance residuals is shown, however, the -interpretation of the plot remains the same. See \code{\link[=check_normality]{check_normality()}} for -further details. +the line. For generalized linear models and when \code{residual_type = "normal"}, +a half-normal Q-Q plot of the absolute value of the standardized deviance +residuals is shown, however, the interpretation of the plot remains the same. +See \code{\link[=check_normality]{check_normality()}} for further details. Usually, for generalized linear +(mixed) models, a test for uniformity of residuals based on simulated residuals +is conducted (see next section). +} + +\section{Uniformity of Residuals}{ + +Fore non-Gaussian models, when \code{residual_type = "simulated"} (the default +for generalized linear (mixed) models), residuals are not expected to be +normally distributed. In this case, the created Q-Q plot checks the uniformity +of residuals. The interpretation of the plot is the same as for the normal +Q-Q plot. See \code{\link[=simulate_residuals]{simulate_residuals()}} and \code{\link[=check_residuals]{check_residuals()}} for further +details. } \section{Overdispersion}{ @@ -188,12 +212,12 @@ inside the error bounds. See \code{\link[=binned_residuals]{binned_residuals()}} \section{Residuals for (Generalized) Linear Models}{ -Plots that check the normality of residuals (QQ-plot) or the homogeneity of +Plots that check the normality of residuals (Q-Q plot) or the homogeneity of variance use standardized Pearson's residuals for generalized linear models, and standardized residuals for linear models. The plots for the normality of residuals (with overlayed normal curve) and for the linearity assumption use -the default residuals for \code{lm} and \code{glm} (which are deviance -residuals for \code{glm}). +the default residuals for \code{lm} and \code{glm} (which are deviance residuals for +\code{glm}). } \section{Troubleshooting}{ diff --git a/man/check_outliers.Rd b/man/check_outliers.Rd index 22b88228c..84a381985 100644 --- a/man/check_outliers.Rd +++ b/man/check_outliers.Rd @@ -5,6 +5,7 @@ \alias{check_outliers.default} \alias{check_outliers.numeric} \alias{check_outliers.data.frame} +\alias{check_outliers.performance_simres} \title{Outliers detection (check for influential observations)} \usage{ check_outliers(x, ...) @@ -21,14 +22,24 @@ check_outliers(x, ...) \method{check_outliers}{numeric}(x, method = "zscore_robust", threshold = NULL, ...) \method{check_outliers}{data.frame}(x, method = "mahalanobis", threshold = NULL, ID = NULL, ...) + +\method{check_outliers}{performance_simres}( + x, + type = "default", + iterations = 100, + alternative = "two.sided", + ... +) } \arguments{ -\item{x}{A model or a data.frame object.} +\item{x}{A model, a data.frame, a \code{performance_simres} \code{\link[=simulate_residuals]{simulate_residuals()}} +or a \code{DHARMa} object.} \item{...}{When \code{method = "ics"}, further arguments in \code{...} are passed down to \code{\link[ICSOutlier:ics.outlier]{ICSOutlier::ics.outlier()}}. When \code{method = "mahalanobis"}, they are passed down to \code{\link[stats:mahalanobis]{stats::mahalanobis()}}. \code{percentage_central} can -be specified when \code{method = "mcd"}.} +be specified when \code{method = "mcd"}. For objects of class \code{performance_simres} +or \code{DHARMa}, further arguments are passed down to \code{DHARMa::testOutliers()}.} \item{method}{The outlier detection method(s). Can be \code{"all"} or some of \code{"cook"}, \code{"pareto"}, \code{"zscore"}, \code{"zscore_robust"}, \code{"iqr"}, \code{"ci"}, \code{"eti"}, @@ -44,6 +55,15 @@ for any of the method run.} \item{ID}{Optional, to report an ID column along with the row number.} \item{verbose}{Toggle warnings.} + +\item{type}{Type of method to test for outliers. Can be one of \code{"default"}, +\code{"binomial"} or \code{"bootstrap"}. Only applies when \code{x} is an object returned +by \code{simulate_residuals()} or of class \code{DHARMa}. See 'Details' in +\code{?DHARMa::testOutliers} for a detailed description of the types.} + +\item{iterations}{Number of simulations to run.} + +\item{alternative}{A character string specifying the alternative hypothesis.} } \value{ A logical vector of the detected outliers with a nice printing @@ -230,6 +250,19 @@ LOF distance. Requires the \strong{dbscan} package. } } +\section{Methods for simulated residuals}{ + + +The approach for detecting outliers based on simulated residuals differs +from the traditional methods and may not be detecting outliers as expected. +Literally, this approach compares observed to simulated values. However, we +do not know the deviation of the observed data to the model expectation, and +thus, the term "outlier" should be taken with a grain of salt. It refers to +"simulation outliers". Basically, the comparison tests whether on observed +data point is outside the simulated range. It is strongly recommended to read +the related documentations in the \strong{DHARMa} package, e.g. \code{?DHARMa::testOutliers}. +} + \section{Threshold specification}{ diff --git a/man/check_overdispersion.Rd b/man/check_overdispersion.Rd index ce8341dc4..19c957323 100644 --- a/man/check_overdispersion.Rd +++ b/man/check_overdispersion.Rd @@ -2,15 +2,22 @@ % Please edit documentation in R/check_overdispersion.R \name{check_overdispersion} \alias{check_overdispersion} -\title{Check overdispersion of GL(M)M's} +\alias{check_overdispersion.performance_simres} +\title{Check overdispersion (and underdispersion) of GL(M)M's} \usage{ check_overdispersion(x, ...) + +\method{check_overdispersion}{performance_simres}(x, alternative = c("two.sided", "less", "greater"), ...) } \arguments{ \item{x}{Fitted model of class \code{merMod}, \code{glmmTMB}, \code{glm}, or \code{glm.nb} -(package \strong{MASS}).} +(package \strong{MASS}), or an object returned by \code{simulate_residuals()}.} + +\item{...}{Arguments passed down to \code{\link[=simulate_residuals]{simulate_residuals()}}. This only applies +for models with zero-inflation component, or for models of class \code{glmmTMB} +from \code{nbinom1} or \code{nbinom2} family.} -\item{...}{Currently not used.} +\item{alternative}{A character string specifying the alternative hypothesis.} } \value{ A list with results from the overdispersion test, like chi-squared @@ -18,20 +25,23 @@ statistics, p-value or dispersion ratio. } \description{ \code{check_overdispersion()} checks generalized linear (mixed) -models for overdispersion. +models for overdispersion (and underdispersion). } \details{ Overdispersion occurs when the observed variance is higher than the variance of a theoretical model. For Poisson models, variance increases with the mean and, therefore, variance usually (roughly) equals the mean -value. If the variance is much higher, the data are "overdispersed". +value. If the variance is much higher, the data are "overdispersed". A less +common case is underdispersion, where the variance is much lower than the +mean. } \section{Interpretation of the Dispersion Ratio}{ If the dispersion ratio is close to one, a Poisson model fits well to the data. Dispersion ratios larger than one indicate overdispersion, thus a -negative binomial model or similar might fit better to the data. A p-value < -.05 indicates overdispersion. +negative binomial model or similar might fit better to the data. Dispersion +ratios much smaller than one indicate underdispersion. A p-value < .05 +indicates either overdispersion or underdispersion (the first being more common). } \section{Overdispersion in Poisson Models}{ @@ -40,6 +50,12 @@ For Poisson models, the overdispersion test is based on the code from \emph{Gelman and Hill (2007), page 115}. } +\section{Overdispersion in Negative Binomial or Zero-Inflated Models}{ + +For negative binomial (mixed) models or models with zero-inflation component, +the overdispersion test is based simulated residuals (see \code{\link[=simulate_residuals]{simulate_residuals()}}). +} + \section{Overdispersion in Mixed Models}{ For \code{merMod}- and \code{glmmTMB}-objects, \code{check_overdispersion()} @@ -47,8 +63,10 @@ is based on the code in the \href{http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html}{GLMM FAQ}, section \emph{How can I deal with overdispersion in GLMMs?}. Note that this function only returns an \emph{approximate} estimate of an overdispersion -parameter, and is probably inaccurate for zero-inflated mixed models (fitted -with \code{glmmTMB}). +parameter. Using this approach would be inaccurate for zero-inflated or +negative binomial mixed models (fitted with \code{glmmTMB}), thus, in such cases, +the overdispersion test is based on \code{\link[=simulate_residuals]{simulate_residuals()}} (which is identical +to \code{check_overdispersion(simulate_residuals(model))}). } \section{How to fix Overdispersion}{ @@ -58,6 +76,23 @@ by choosing a different distributional family (like Quasi-Poisson, or negative binomial, see \emph{Gelman and Hill (2007), pages 115-116}). } +\section{Tests based on simulated residuals}{ + +For certain models, resp. model from certain families, tests are based on +\code{\link[=simulated_residuals]{simulated_residuals()}}. These are usually more accurate for tests than the +traditionally used Pearson residuals. However, when simulating from more +complex model, such as mixed models or models with zero-inflation, there are +several important considerations. Arguments specified in \code{...} are passed to +\code{\link[=simulate_residuals]{simulate_residuals()}}, which relies on \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}} (and +therefore, arguments in \code{...} are passed further down to \emph{DHARMa}). The +defaults in DHARMa are set on the most conservative option that works for +all models. However, in many cases, the help advises to use different settings +in particular situations or for particular models. It is recommended to read +the 'Details' in \code{?DHARMa::simulateResiduals} closely to understand the +implications of the simulation process and which arguments should be modified +to get the most accurate results. +} + \examples{ \dontshow{if (getRversion() >= "4.0.0" && require("glmmTMB", quietly = TRUE)) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} diff --git a/man/check_predictions.Rd b/man/check_predictions.Rd index 591c813da..e64b306fb 100644 --- a/man/check_predictions.Rd +++ b/man/check_predictions.Rd @@ -117,6 +117,8 @@ Cambridge University Press. } } \seealso{ +\code{\link[=simulate_residuals]{simulate_residuals()}} and \code{\link[=check_residuals]{check_residuals()}}. + Other functions to check model assumptions and and assess model quality: \code{\link{check_autocorrelation}()}, \code{\link{check_collinearity}()}, diff --git a/man/check_residuals.Rd b/man/check_residuals.Rd new file mode 100644 index 000000000..dfb56ff83 --- /dev/null +++ b/man/check_residuals.Rd @@ -0,0 +1,65 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/check_residuals.R +\name{check_residuals} +\alias{check_residuals} +\alias{check_residuals.default} +\title{Check uniformity of simulated residuals} +\usage{ +check_residuals(x, ...) + +\method{check_residuals}{default}(x, alternative = c("two.sided", "less", "greater"), ...) +} +\arguments{ +\item{x}{An object returned by \code{\link[=simulate_residuals]{simulate_residuals()}} or +\code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}}.} + +\item{...}{Passed down to \code{\link[stats:ks.test]{stats::ks.test()}}.} + +\item{alternative}{A character string specifying the alternative hypothesis. +See \code{\link[stats:ks.test]{stats::ks.test()}} for details.} +} +\value{ +The p-value of the test statistics. +} +\description{ +\code{check_residuals()} checks generalized linear (mixed) models for uniformity +of randomized quantile residuals, which can be used to identify typical model +misspecification problems, such as over/underdispersion, zero-inflation, and +residual spatial and temporal autocorrelation. +} +\details{ +Uniformity of residuals is checked using a Kolmogorov-Smirnov test. +There is a \code{plot()} method to visualize the distribution of the residuals. +The test for uniformity basically tests to which extent the observed values +deviate from the model expectations (i.e. simulated values). In this sense, +the \code{check_residuals()} function has similar goals like \code{\link[=check_predictions]{check_predictions()}}. +} +\section{Tests based on simulated residuals}{ + +For certain models, resp. model from certain families, tests like +\code{\link[=check_zeroinflation]{check_zeroinflation()}} or \code{\link[=check_overdispersion]{check_overdispersion()}} are based on +\code{simulated_residuals()}. These are usually more accurate for such tests than +the traditionally used Pearson residuals. However, when simulating from more +complex model, such as mixed models or models with zero-inflation, there are +several important considerations. \code{simulate_residuals()} relies on +\code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}}, and additional arguments specified in \code{...} +are passed further down to that function. The defaults in DHARMa are set on +the most conservative option that works for all models. However, in many +cases, the help advises to use different settings in particular situations +or for particular models. It is recommended to read the 'Details' in +\code{?DHARMa::simulateResiduals} closely to understand the implications of the +simulation process and which arguments should be modified to get the most +accurate results. +} + +\examples{ +\dontshow{if (require("DHARMa")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +dat <- DHARMa::createData(sampleSize = 100, overdispersion = 0.5, family = poisson()) +m <- glm(observedResponse ~ Environment1, family = poisson(), data = dat) +res <- simulate_residuals(m) +check_residuals(res) +\dontshow{\}) # examplesIf} +} +\seealso{ +\code{\link[=simulate_residuals]{simulate_residuals()}} and \code{\link[=check_predictions]{check_predictions()}}. +} diff --git a/man/check_zeroinflation.Rd b/man/check_zeroinflation.Rd index db9eddd23..9de6c1f5c 100644 --- a/man/check_zeroinflation.Rd +++ b/man/check_zeroinflation.Rd @@ -2,18 +2,35 @@ % Please edit documentation in R/check_zeroinflation.R \name{check_zeroinflation} \alias{check_zeroinflation} +\alias{check_zeroinflation.default} +\alias{check_zeroinflation.performance_simres} \title{Check for zero-inflation in count models} \usage{ -check_zeroinflation(x, tolerance = 0.05) +check_zeroinflation(x, ...) + +\method{check_zeroinflation}{default}(x, tolerance = 0.05, ...) + +\method{check_zeroinflation}{performance_simres}( + x, + tolerance = 0.1, + alternative = c("two.sided", "less", "greater"), + ... +) } \arguments{ \item{x}{Fitted model of class \code{merMod}, \code{glmmTMB}, \code{glm}, or \code{glm.nb} (package \strong{MASS}).} +\item{...}{Arguments passed down to \code{\link[=simulate_residuals]{simulate_residuals()}}. This only applies +for models with zero-inflation component, or for models of class \code{glmmTMB} +from \code{nbinom1} or \code{nbinom2} family.} + \item{tolerance}{The tolerance for the ratio of observed and predicted zeros to considered as over- or underfitting zeros. A ratio between 1 +/- \code{tolerance} is considered as OK, while a ratio beyond or below this threshold would indicate over- or underfitting.} + +\item{alternative}{A character string specifying the alternative hypothesis.} } \value{ A list with information about the amount of predicted and observed @@ -28,12 +45,45 @@ If the amount of observed zeros is larger than the amount of predicted zeros, the model is underfitting zeros, which indicates a zero-inflation in the data. In such cases, it is recommended to use negative binomial or zero-inflated models. + +In case of negative binomial models, models with zero-inflation component, +or hurdle models, the results from \code{check_zeroinflation()} are based on +\code{\link[=simulate_residuals]{simulate_residuals()}}, i.e. \code{check_zeroinflation(simulate_residuals(model))} +is internally called if necessary. } +\section{Tests based on simulated residuals}{ + +For certain models, resp. model from certain families, tests are based on +\code{\link[=simulated_residuals]{simulated_residuals()}}. These are usually more accurate for tests than the +traditionally used Pearson residuals. However, when simulating from more +complex model, such as mixed models or models with zero-inflation, there are +several important considerations. Arguments specified in \code{...} are passed to +\code{\link[=simulate_residuals]{simulate_residuals()}}, which relies on \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}} (and +therefore, arguments in \code{...} are passed further down to \emph{DHARMa}). The +defaults in DHARMa are set on the most conservative option that works for +all models. However, in many cases, the help advises to use different settings +in particular situations or for particular models. It is recommended to read +the 'Details' in \code{?DHARMa::simulateResiduals} closely to understand the +implications of the simulation process and which arguments should be modified +to get the most accurate results. +} + \examples{ -\dontshow{if (require("glmmTMB")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +\dontshow{if (require("glmmTMB") && require("DHARMa")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} data(Salamanders, package = "glmmTMB") m <- glm(count ~ spp + mined, family = poisson, data = Salamanders) check_zeroinflation(m) + +# for models with zero-inflation component, it's better to carry out +# the check for zero-inflation using simulated residuals +m <- glmmTMB::glmmTMB( + count ~ spp + mined, + ziformula = ~ mined + spp, + family = poisson, + data = Salamanders +) +res <- simulate_residuals(m) +check_zeroinflation(res) \dontshow{\}) # examplesIf} } \seealso{ diff --git a/man/simulate_residuals.Rd b/man/simulate_residuals.Rd new file mode 100644 index 000000000..030e69501 --- /dev/null +++ b/man/simulate_residuals.Rd @@ -0,0 +1,68 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/simulate_residuals.R +\name{simulate_residuals} +\alias{simulate_residuals} +\title{Simulate randomized quantile residuals from a model} +\usage{ +simulate_residuals(x, iterations = 250, ...) +} +\arguments{ +\item{x}{A model object.} + +\item{iterations}{Number of simulations to run.} + +\item{...}{Arguments passed on to \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}}.} +} +\value{ +Simulated residuals, which can be further processed with +\code{\link[=check_residuals]{check_residuals()}}. The returned object is of class \code{DHARMa} and +\code{performance_simres}. +} +\description{ +Returns simulated residuals from a model. This is useful for +checking the uniformity of residuals, in particular for non-Gaussian models, +where the residuals are not expected to be normally distributed. +} +\details{ +This function is a small wrapper around \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}}. +It basically only sets \code{plot = FALSE} and adds an additional class attribute +(\code{"performance_sim_res"}), which allows using the DHARMa object in own plotting +functions in the \strong{see} package. See also \code{vignette("DHARMa")}. There is a +\code{plot()} method to visualize the distribution of the residuals. +} +\section{Tests based on simulated residuals}{ + +For certain models, resp. model from certain families, tests like +\code{\link[=check_zeroinflation]{check_zeroinflation()}} or \code{\link[=check_overdispersion]{check_overdispersion()}} are based on +\code{simulated_residuals()}. These are usually more accurate for such tests than +the traditionally used Pearson residuals. However, when simulating from more +complex model, such as mixed models or models with zero-inflation, there are +several important considerations. \code{simulate_residuals()} relies on +\code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}}, and additional arguments specified in \code{...} +are passed further down to that function. The defaults in DHARMa are set on +the most conservative option that works for all models. However, in many +cases, the help advises to use different settings in particular situations +or for particular models. It is recommended to read the 'Details' in +\code{?DHARMa::simulateResiduals} closely to understand the implications of the +simulation process and which arguments should be modified to get the most +accurate results. +} + +\examples{ +\dontshow{if (require("DHARMa")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +m <- lm(mpg ~ wt + cyl + gear + disp, data = mtcars) +simulate_residuals(m) +\dontshow{\}) # examplesIf} +} +\references{ +\itemize{ +\item Hartig, F., & Lohse, L. (2022). DHARMa: Residual Diagnostics for Hierarchical +(Multi-Level / Mixed) Regression Models (Version 0.4.5). Retrieved from +https://CRAN.R-project.org/package=DHARMa +\item Dunn, P. K., & Smyth, G. K. (1996). Randomized Quantile Residuals. Journal +of Computational and Graphical Statistics, 5(3), 236. \doi{10.2307/1390802} +} +} +\seealso{ +\code{\link[=check_residuals]{check_residuals()}} and \code{\link[=check_predictions]{check_predictions()}}. +} diff --git a/tests/testthat/_snaps/check_collinearity.md b/tests/testthat/_snaps/check_collinearity.md index 3e9aa24b7..dec439e85 100644 --- a/tests/testthat/_snaps/check_collinearity.md +++ b/tests/testthat/_snaps/check_collinearity.md @@ -12,3 +12,26 @@ P 1.00 1.00 1.00 K 1.00 1.00 1.00 +# check_collinearity, hurdle/zi models w/o zi-formula + + Code + print(out) + Output + # Check for Multicollinearity + + * conditional component: + + Low Correlation + + Term VIF VIF 95% CI Increased SE Tolerance Tolerance 95% CI + fem 1.06 [1.02, 1.20] 1.03 0.95 [0.83, 0.98] + mar 1.06 [1.02, 1.20] 1.03 0.95 [0.83, 0.98] + + * zero inflated component: + + Low Correlation + + Term VIF VIF 95% CI Increased SE Tolerance Tolerance 95% CI + fem 1.07 [1.02, 1.20] 1.03 0.94 [0.83, 0.98] + mar 1.07 [1.02, 1.20] 1.03 0.94 [0.83, 0.98] + diff --git a/tests/testthat/test-binned_residuals.R b/tests/testthat/test-binned_residuals.R index 7b966797e..e23e05d01 100644 --- a/tests/testthat/test-binned_residuals.R +++ b/tests/testthat/test-binned_residuals.R @@ -21,6 +21,10 @@ test_that("binned_residuals", { c(-0.05686, -0.12331, -0.35077, -0.57683, 0.17916, -0.44147), tolerance = 1e-4 ) + expect_identical( + capture.output(print(result)), + "Warning: Probably bad model fit. Only about 50% of the residuals are inside the error bounds." + ) }) diff --git a/tests/testthat/test-check_autocorrelation.R b/tests/testthat/test-check_autocorrelation.R index f70617565..a97b2eeaa 100644 --- a/tests/testthat/test-check_autocorrelation.R +++ b/tests/testthat/test-check_autocorrelation.R @@ -4,4 +4,9 @@ test_that("check_autocorrelation", { set.seed(123) out <- check_autocorrelation(m) expect_equal(as.vector(out), 0.316, ignore_attr = TRUE, tolerance = 1e-2) + expect_identical( + capture.output(print(out)), + "OK: Residuals appear to be independent and not autocorrelated (p = 0.316)." + ) + expect_warning(plot(out), "There is currently") }) diff --git a/tests/testthat/test-check_collinearity.R b/tests/testthat/test-check_collinearity.R index ea41af513..4811c5afe 100644 --- a/tests/testthat/test-check_collinearity.R +++ b/tests/testthat/test-check_collinearity.R @@ -202,14 +202,15 @@ test_that("check_collinearity, hurdle/zi models w/o zi-formula", { link = "logit" ) out <- check_collinearity(m) - expect_identical( - colnames(out), + expect_named( + out, c( "Term", "VIF", "VIF_CI_low", "VIF_CI_high", "SE_factor", "Tolerance", "Tolerance_CI_low", "Tolerance_CI_high", "Component" ) ) expect_equal(out$VIF, c(1.05772, 1.05772, 1.06587, 1.06587), tolerance = 1e-4) + expect_snapshot(print(out)) }) test_that("check_collinearity, invalid data", { diff --git a/tests/testthat/test-check_convergence.R b/tests/testthat/test-check_convergence.R index 1663d1219..8897b785d 100644 --- a/tests/testthat/test-check_convergence.R +++ b/tests/testthat/test-check_convergence.R @@ -26,3 +26,20 @@ test_that("check_convergence", { model <- lme4::lmer(Reaction ~ Days + (1 + Days | Subject), data = sleepstudy) expect_true(check_convergence(model)) }) + + +test_that("check_convergence, glmmTMB", { + skip_if_not_installed("glmmTMB") + data(iris) + model <- suppressWarnings(glmmTMB::glmmTMB( + Sepal.Length ~ poly(Petal.Width, 4) * poly(Petal.Length, 4) + + (1 + poly(Petal.Width, 4) | Species), + data = iris + )) + expect_false(check_convergence(model)) + model <- suppressWarnings(glmmTMB::glmmTMB( + Sepal.Length ~ Petal.Width + (1 | Species), + data = iris + )) + expect_true(check_convergence(model)) +}) diff --git a/tests/testthat/test-check_heterogeneity_bias.R b/tests/testthat/test-check_heterogeneity_bias.R index 7abc6af30..2bd63856e 100644 --- a/tests/testthat/test-check_heterogeneity_bias.R +++ b/tests/testthat/test-check_heterogeneity_bias.R @@ -1,7 +1,7 @@ test_that("check_heterogeneity_bias", { data(iris) set.seed(123) - iris$ID <- sample(1:4, nrow(iris), replace = TRUE) # fake-ID + iris$ID <- sample.int(4, nrow(iris), replace = TRUE) # fake-ID out <- check_heterogeneity_bias(iris, select = c("Sepal.Length", "Petal.Length"), group = "ID") expect_equal(out, c("Sepal.Length", "Petal.Length"), ignore_attr = TRUE) expect_output(print(out), "Possible heterogeneity bias due to following predictors: Sepal\\.Length, Petal\\.Length") diff --git a/tests/testthat/test-check_heteroskedasticity.R b/tests/testthat/test-check_heteroskedasticity.R new file mode 100644 index 000000000..4d64a870b --- /dev/null +++ b/tests/testthat/test-check_heteroskedasticity.R @@ -0,0 +1,17 @@ +test_that("check_heteroskedasticity", { + data(mtcars) + m <- lm(mpg ~ wt + cyl + gear + disp, data = mtcars) + out <- check_heteroscedasticity(m) + expect_equal(as.vector(out), 0.0423, ignore_attr = TRUE, tolerance = 1e-2) + expect_identical( + capture.output(print(out)), + "Warning: Heteroscedasticity (non-constant error variance) detected (p = 0.042)." + ) + m <- lm(mpg ~ hp, data = mtcars) + out <- check_heteroscedasticity(m) + expect_equal(as.vector(out), 0.8271352, ignore_attr = TRUE, tolerance = 1e-2) + expect_identical( + capture.output(print(out)), + "OK: Error variance appears to be homoscedastic (p = 0.827)." + ) +}) diff --git a/tests/testthat/test-check_model.R b/tests/testthat/test-check_model.R index 06973756f..b008658dc 100644 --- a/tests/testthat/test-check_model.R +++ b/tests/testthat/test-check_model.R @@ -64,11 +64,8 @@ test_that("`check_model()` warnings for tweedie", { )) expect_message( expect_message( - expect_message( - check_model(m, iterations = 1, verbose = TRUE), - regex = "Not enough model terms" - ), - regex = "QQ plot could not" + check_model(m, iterations = 2, verbose = TRUE), + regex = "Not enough model terms" ) ) }) diff --git a/tests/testthat/test-check_outliers.R b/tests/testthat/test-check_outliers.R index 8840e26bf..016c827af 100644 --- a/tests/testthat/test-check_outliers.R +++ b/tests/testthat/test-check_outliers.R @@ -342,3 +342,40 @@ test_that("check_outliers with invald data", { regex = "No numeric variables found" ) }) + + +test_that("check_outliers with DHARMa", { + skip_if_not_installed("DHARMa") + mt1 <- mtcars[, c(1, 3, 4)] + # create some fake outliers and attach outliers to main df + mt2 <- rbind(mt1, data.frame( + mpg = c(37, 40), disp = c(300, 400), + hp = c(110, 120) + )) + # fit model with outliers + model <- lm(disp ~ mpg + hp, data = mt2) + set.seed(123) + res <- simulate_residuals(model) + out <- check_outliers(res) + expect_equal( + out, + structure( + list( + Coefficient = 0.0294117647058824, Expected = 0.00796812749003984, + CI_low = 0.000744364234690261, CI_high = 0.153267669560318, + p_value = 0.238146844116552 + ), + class = c("check_outliers_simres", "list") + ), + ignore_attr = TRUE, + tolerance = 1e-4 + ) + expect_identical( + capture.output(print(out)), + c( + "# Outliers detection", "", " Proportion of observed outliers: 2.94%", + " Proportion of expected outliers: 0.80%, 95% CI [0.07, 15.33]", + "" + ) + ) +}) diff --git a/tests/testthat/test-check_overdispersion.R b/tests/testthat/test-check_overdispersion.R index cdd36bcd0..2930322bb 100644 --- a/tests/testthat/test-check_overdispersion.R +++ b/tests/testthat/test-check_overdispersion.R @@ -1,11 +1,12 @@ -test_that("check_overdispersion", { +test_that("check_overdispersion, glmmTMB-poisson", { skip_if_not_installed("glmmTMB") skip_if_not(getRversion() >= "4.0.0") data(Salamanders, package = "glmmTMB") m1 <- glm(count ~ spp + mined, family = poisson, data = Salamanders) + out <- check_overdispersion(m1) expect_equal( - check_overdispersion(m1), + out, structure( list( chisq_statistic = 1873.71012423995, @@ -18,9 +19,36 @@ test_that("check_overdispersion", { ), tolerance = 1e-3 ) + expect_identical( + capture.output(print(out)), + c( + "# Overdispersion test", + "", + " dispersion ratio = 2.946", + " Pearson's Chi-Squared = 1873.710", + " p-value = < 0.001", + "" + ) + ) + expect_message(capture.output(print(out)), "Overdispersion detected") + + set.seed(123) + out <- check_overdispersion(simulate_residuals(m1)) + expect_equal( + out, + structure( + list( + dispersion_ratio = 3.91516791651235, + p_value = 0 + ), + class = c("check_overdisp", "see_check_overdisp") + ), + tolerance = 1e-3 + ) }) -test_that("check_overdispersion", { + +test_that("check_overdispersion, glmmTMB-poisson mixed", { skip_if_not_installed("glmmTMB") skip_if_not(getRversion() >= "4.0.0") data(Salamanders, package = "glmmTMB") @@ -45,3 +73,133 @@ test_that("check_overdispersion", { tolerance = 1e-3 ) }) + + +test_that("check_overdispersion, zero-inflated and negbin", { + skip_if_not_installed("glmmTMB") + skip_if_not_installed("DHARMa") + skip_if_not(getRversion() >= "4.0.0") + data(Salamanders, package = "glmmTMB") + + m1 <- glmmTMB::glmmTMB( + count ~ spp + mined, + ziformula = ~ spp + mined, + family = poisson, + data = Salamanders + ) + m2 <- glmmTMB::glmmTMB( + count ~ spp + mined, + family = poisson, + data = Salamanders + ) + m3 <- glmmTMB::glmmTMB( + count ~ spp + mined, + family = glmmTMB::nbinom1(), + data = Salamanders + ) + expect_equal( + check_overdispersion(m1), + structure( + list( + dispersion_ratio = 1.98057695890769, + p_value = 0 + ), + class = c("check_overdisp", "see_check_overdisp") + ), + tolerance = 1e-4, + ignore_attr = TRUE + ) + expect_equal( + check_overdispersion(m2), + structure( + list( + chisq_statistic = 1873.7105986433, + dispersion_ratio = 2.94608584692342, + residual_df = 636L, + p_value = 3.26556213101505e-122 + ), + class = c("check_overdisp", "see_check_overdisp"), + object_name = "m1" + ), + tolerance = 1e-4, + ignore_attr = TRUE + ) + expect_equal( + check_overdispersion(m1), + structure( + list( + dispersion_ratio = 1.98057695890769, + p_value = 0 + ), + class = c("check_overdisp", "see_check_overdisp") + ), + tolerance = 1e-4, + ignore_attr = TRUE + ) +}) + + +test_that("check_overdispersion, MASS::negbin", { + skip_if_not_installed("MASS") + skip_if_not_installed("DHARMa") + set.seed(3) + mu <- rpois(500, lambda = 3) + x <- rnorm(500, mu, mu * 3) + x <- ceiling(x) + x <- pmax(x, 0) + m <- MASS::glm.nb(x ~ mu) + out <- check_overdispersion(m) + expect_equal( + out, + structure( + list( + dispersion_ratio = 0.409521313173506, + p_value = 0 + ), + class = c("check_overdisp", "see_check_overdisp") + ), + ignore_attr = TRUE, + tolerance = 1e-4 + ) + expect_identical( + capture.output(print(out)), + c( + "# Overdispersion test", + "", + " dispersion ratio = 0.410", + " p-value = < 0.001", + "" + ) + ) + expect_message(capture.output(print(out)), "Underdispersion detected") + + # check that plot works + skip_if_not_installed("see") + expect_s3_class(plot(out), "ggplot") +}) + + +test_that("check_overdispersion, genpois", { + skip_if_not_installed("glmmTMB") + skip_if_not_installed("DHARMa") + skip_if_not(getRversion() >= "4.0.0") + data(Salamanders, package = "glmmTMB") + + model <- glmmTMB::glmmTMB( + count ~ mined + spp + (1 | site), + family = glmmTMB::genpois(), + data = Salamanders + ) + expect_equal( + check_overdispersion(model), + structure( + list( + dispersion_ratio = 0.971975646955856, + p_value = 0.88 + ), + class = c("check_overdisp", "see_check_overdisp") + ), + tolerance = 1e-4, + ignore_attr = TRUE + ) +}) diff --git a/tests/testthat/test-check_residuals.R b/tests/testthat/test-check_residuals.R new file mode 100644 index 000000000..33407abf9 --- /dev/null +++ b/tests/testthat/test-check_residuals.R @@ -0,0 +1,26 @@ +test_that("check_singularity, lme4", { + skip_on_cran() + skip_if_not_installed("DHARMa") + set.seed(123) + dat <- DHARMa::createData(sampleSize = 100, overdispersion = 0.5, family = poisson()) + m <- glm(observedResponse ~ Environment1, family = poisson(), data = dat) + res <- simulate_residuals(m) + out <- check_residuals(res) + expect_equal(out, 0.01884602, ignore_attr = TRUE, tolerance = 1e-4) + expect_identical( + capture.output(print(out)), + "Warning: Non-uniformity of simulated residuals detected (p = 0.019)." + ) + expect_error(simulate_residuals(m, iterations = 1), "`iterations` must be") + + skip_if_not_installed("MASS") + set.seed(3) + mu <- rpois(500, lambda = 3) + x <- rnorm(500, mu, mu * 3) + x <- ceiling(x) + x <- pmax(x, 0) + quine.nb1 <- MASS::glm.nb(x ~ mu) + set.seed(123) + result <- check_residuals(quine.nb1) + expect_equal(result, 0.000665414, tolerance = 1e-3, ignore_attr = TRUE) +}) diff --git a/tests/testthat/test-check_zeroinflation.R b/tests/testthat/test-check_zeroinflation.R index d2e60f065..38a5c7726 100644 --- a/tests/testthat/test-check_zeroinflation.R +++ b/tests/testthat/test-check_zeroinflation.R @@ -19,7 +19,58 @@ test_that("check_zeroinflation", { ) }) + +test_that("check_zeroinflation, glmmTMB with and without zero-inflation component", { + skip_if_not_installed("glmmTMB") + skip_if_not_installed("DHARMa") + set.seed(123) + data(Salamanders, package = "glmmTMB") + + # no zero-inflation model + m <- glmmTMB::glmmTMB(count ~ spp + mined, family = poisson, data = Salamanders) + + expect_equal( + check_zeroinflation(m), + structure( + list( + predicted.zeros = 298, + observed.zeros = 387L, + ratio = 0.770025839793282, + tolerance = 0.05 + ), + class = "check_zi" + ), + tolerance = 1e-3 + ) + + # zero-inflation model + m <- glmmTMB::glmmTMB( + count ~ spp + mined, + ziformula = ~ spp + mined, + family = poisson, + data = Salamanders + ) + + set.seed(123) + expect_equal( + check_zeroinflation(m), + structure( + list( + predicted.zeros = 387, + observed.zeros = 387L, + ratio = 1.00093023255814, + tolerance = 0.1, + p.value = 1 + ), + class = "check_zi" + ), + tolerance = 1e-3 + ) +}) + + test_that("check_zeroinflation, glmer.nb", { + skip_on_cran() skip_if_not_installed("glmmTMB") skip_if_not_installed("lme4") set.seed(101) @@ -34,19 +85,107 @@ test_that("check_zeroinflation, glmer.nb", { mu <- 5 * (-4 + with(dd, as.integer(f1) + 4 * as.numeric(f2))) dd$y <- rnbinom(nrow(dd), mu = mu, size = 0.5) dat2 <<- dd - suppressMessages( + suppressMessages({ m <- lme4::glmer.nb(y ~ f1 * f2 + (1 | g), data = dat2, verbose = FALSE) - ) + }) expect_equal( check_zeroinflation(m), structure( list( - predicted.zeros = 153, observed.zeros = 155L, - ratio = 0.987096774193548, tolerance = 0.05 + predicted.zeros = 153, + observed.zeros = 155L, + ratio = 0.987329032258065, + tolerance = 0.1, + p.value = 0.944 + ), + class = "check_zi" + ), + tolerance = 1e-3 + ) +}) + + +test_that("check_zeroinflation, glmmTMB nbinom", { + skip_if_not_installed("glmmTMB") + skip_if_not_installed("DHARMa") + skip_on_cran() + + set.seed(1234) + dat <- DHARMa::createData(sampleSize = 1000) + fit <- suppressWarnings(glmmTMB::glmmTMB( + observedResponse ~ Environment1 + (1 | group), + data = dat, + family = glmmTMB::nbinom1() + )) + expect_equal( + check_zeroinflation(fit), + structure( + list( + predicted.zeros = 462, + observed.zeros = 482L, + ratio = 0.95850622406639, + tolerance = 0.1, + p.value = 0.776 ), class = "check_zi" ), tolerance = 1e-3 ) }) + + +test_that("check_zeroinflation, MASS::negbin", { + skip_if_not_installed("MASS") + skip_if_not_installed("DHARMa") + set.seed(3) + mu <- rpois(500, lambda = 3) + x <- rnorm(500, mu, mu * 3) + x <- ceiling(x) + x <- pmax(x, 0) + m <- MASS::glm.nb(x ~ mu) + expect_equal( + check_zeroinflation(m), + structure( + list( + predicted.zeros = 178, + observed.zeros = 202L, + ratio = 0.879643564356436, + tolerance = 0.1, + p.value = 0.008 + ), + class = "check_zi" + ), + ignore_attr = TRUE, + tolerance = 1e-4 + ) +}) + + +test_that("check_zeroinflation, genpois", { + skip_if_not_installed("glmmTMB") + skip_if_not_installed("DHARMa") + skip_if_not(getRversion() >= "4.0.0") + data(Salamanders, package = "glmmTMB") + + model <- glmmTMB::glmmTMB( + count ~ mined + spp + (1 | site), + family = glmmTMB::genpois(), + data = Salamanders + ) + expect_equal( + check_zeroinflation(model), + structure( + list( + predicted.zeros = 386, + observed.zeros = 387L, + ratio = 0.997860465116279, + tolerance = 0.1, + p.value = 1 + ), + class = "check_zi" + ), + tolerance = 1e-4, + ignore_attr = TRUE + ) +}) diff --git a/tests/testthat/test-checks.R b/tests/testthat/test-checks.R index 46fd77dc5..b6d59af3b 100644 --- a/tests/testthat/test-checks.R +++ b/tests/testthat/test-checks.R @@ -1,12 +1,36 @@ test_that("check_factorstructure", { skip_if_not_installed("parameters") x <- check_factorstructure(mtcars) - expect_equal(x$KMO$MSA, 0.826, tolerance = 0.01) - expect_equal(x$sphericity$chisq, 408.011, tolerance = 0.01) + expect_equal(x$KMO$MSA, 0.8265536, tolerance = 0.01) + expect_equal(x$sphericity$chisq, 408.0116, tolerance = 0.01) }) -test_that("check_clusterstructure", { +test_that("check_clusterstructure, ok", { skip_if_not_installed("parameters") set.seed(333) - expect_equal(check_clusterstructure(iris[, 1:4])$H, 0.187, tolerance = 0.01) + out <- check_clusterstructure(iris[, 1:4]) + expect_equal(out$H, 0.1869618, tolerance = 0.01) + expect_identical( + capture.output(print(out)), + c( + "# Clustering tendency", + "", + "The dataset is suitable for clustering (Hopkins' H = 0.19)." + ) + ) +}) + +test_that("check_clusterstructure, bad", { + skip_if_not_installed("parameters") + set.seed(13) + out <- check_clusterstructure(mtcars[, 10:11]) + expect_equal(out$H, 0.5142575, tolerance = 0.01) + expect_identical( + capture.output(print(out)), + c( + "# Clustering tendency", + "", + "The dataset is not suitable for clustering (Hopkins' H = 0.51)." + ) + ) }) diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd new file mode 100644 index 000000000..7338aea4e --- /dev/null +++ b/vignettes/simulate_residuals.Rmd @@ -0,0 +1,94 @@ +--- +title: "Checking simulated residuals" +output: + rmarkdown::html_vignette: + toc: true + fig_width: 10.08 + fig_height: 6 +tags: [r, performance] +vignette: > + \usepackage[utf8]{inputenc} + %\VignetteIndexEntry{Checking simulated residuals} + %\VignetteEngine{knitr::rmarkdown} +editor_options: + chunk_output_type: console +--- + +```{r , include=FALSE} +library(knitr) +library(performance) +options(knitr.kable.NA = "") +knitr::opts_chunk$set( + comment = ">", + message = FALSE, + warning = FALSE, + out.width = "100%", + dpi = 450 +) +options(digits = 2) + +pkgs <- c("DHARMa", "glmmTMB") +successfully_loaded <- vapply(pkgs, requireNamespace, FUN.VALUE = logical(1L), quietly = TRUE) +can_evaluate <- all(successfully_loaded) + +if (can_evaluate) { + knitr::opts_chunk$set(eval = TRUE) + vapply(pkgs, require, FUN.VALUE = logical(1L), quietly = TRUE, character.only = TRUE) +} else { + knitr::opts_chunk$set(eval = FALSE) +} +``` + +The basic workflow for simulated residual checks using `simulate_residuals()` is as follows. + +First, fit a model: + +```{r} +library(glmmTMB) + +model <- glmmTMB( + count ~ mined + spp + (1 | site), + family = poisson, + data = Salamanders +) +``` + +Next, simulate residuals from the model: + +```{r} +simulated_residuals <- simulate_residuals(model) + +simulated_residuals +``` + + +Note that since this inherits the DHARMa class, all the methods implemented in DHARMa just work, including all the tests: + +```{r} +library(DHARMa) +residuals(simulated_residuals) + +DHARMa::testUniformity(simulated_residuals, plot = FALSE) +``` + + +Finally, run specific checks on the simulated residuals: + +```{r} +check_residuals(simulated_residuals) +``` + +Or check the entire model. + +```{r, eval=FALSE} +# TODO (not implemented) +check_model(simulated_residuals) +``` + +The `check_model()` function is the main reason we don't want to prematurely extract the residuals in `simulate_residuals()`, because if we do then the `simulated_residuals` won't contain the model fit (`fittedModel` in the output below), so we won't be able to do all of the checks we would want to do using the model (e.g., posterior predictive checks). + +```{r} +str(simulated_residuals, max.level = 1) +``` + +It would also mean we would need to reimplement some of the tests from DHARMa (e.g., `DHARMa::testOutliers()`) if we're planning to include those checks as well. We probably don't want to do that, since some of them are fairly involved rather than just being wrappers for tests supplied in base R (e.g., ) . From adb017d2d9940be19815f2a3bb0de8213ef71762 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 18 Mar 2024 11:50:08 +0100 Subject: [PATCH 057/100] use see remotes --- DESCRIPTION | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index be9f19035..2dcc2ae85 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.9.8 +Version: 0.10.9.9 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -154,3 +154,4 @@ Config/Needs/website: r-lib/pkgdown, easystats/easystatstemplate Config/rcmdcheck/ignore-inconsequential-notes: true +Remotes: easystats/see From 01eff884b2e219f8b0ce38029a29f81141202010 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 19 Mar 2024 13:32:09 +0100 Subject: [PATCH 058/100] Catch error (#699) --- DESCRIPTION | 2 +- R/check_model.R | 139 ++++++++++++++++++++++-------- R/check_zeroinflation.R | 27 +++--- R/simulate_residuals.R | 6 +- man/check_overdispersion.Rd | 25 +++--- man/check_residuals.Rd | 4 +- man/check_zeroinflation.Rd | 25 +++--- man/simulate_residuals.Rd | 4 +- tests/testthat/test-check_model.R | 11 +++ 9 files changed, 162 insertions(+), 81 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 2dcc2ae85..0f23a585c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.9.9 +Version: 0.10.9.10 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/R/check_model.R b/R/check_model.R index 6be17be22..f75a103a8 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -217,9 +217,9 @@ check_model.default <- function(x, if (minfo$is_bayesian) { suppressWarnings(.check_assumptions_stan(x, ...)) } else if (minfo$is_linear) { - suppressWarnings(.check_assumptions_linear(x, minfo, residual_type, verbose, ...)) + suppressWarnings(.check_assumptions_linear(x, minfo, check, residual_type, verbose, ...)) } else { - suppressWarnings(.check_assumptions_glm(x, minfo, residual_type, verbose, ...)) + suppressWarnings(.check_assumptions_glm(x, minfo, check, residual_type, verbose, ...)) }, error = function(e) { e @@ -236,6 +236,15 @@ check_model.default <- function(x, ) } + # did Q-Q plot work with simulated residuals? + if (verbose && is.null(assumptions_data$QQ) && residual_type == "simulated") { + insight::format_warning(paste0( + "Cannot simulate residuals for models of class `", + class(x)[1], + "`. Please try `check_model(..., residual_type = \"normal\")` instead." + )) + } + # try to find sensible default for "type" argument suggest_dots <- (minfo$is_bernoulli || minfo$is_count || minfo$is_ordinal || minfo$is_categorical || minfo$is_multinomial) # nolint if (missing(type) && suggest_dots) { @@ -411,26 +420,57 @@ check_model.DHARMa <- check_model.performance_simres # compile plots for checks of linear models ------------------------ -.check_assumptions_linear <- function(model, model_info, residual_type = "normal", verbose = TRUE, ...) { +.check_assumptions_linear <- function(model, model_info, check = "all", residual_type = "normal", verbose = TRUE, ...) { dat <- list() - dat$VIF <- .diag_vif(model, verbose = verbose) - dat$QQ <- switch(residual_type, - simulated = simulate_residuals(model, ...), - .diag_qq(model, model_info = model_info, verbose = verbose) - ) - dat$REQQ <- .diag_reqq(model, level = 0.95, model_info = model_info, verbose = verbose) - dat$NORM <- .diag_norm(model, verbose = verbose) - dat$NCV <- .diag_ncv(model, verbose = verbose) - dat$HOMOGENEITY <- .diag_homogeneity(model, verbose = verbose) - dat$OUTLIERS <- .safe(check_outliers(model, method = "cook")) - if (is.null(dat$OUTLIERS)) { - threshold <- NULL - } else { - threshold <- attributes(dat$OUTLIERS)$threshold$cook + # multicollinearity -------------- + if (any(c("all", "vif") %in% check)) { + dat$VIF <- .diag_vif(model, verbose = verbose) + } + + # Q-Q plot (normality/uniformity of residuals) -------------- + if (any(c("all", "qq") %in% check)) { + dat$QQ <- switch(residual_type, + simulated = .safe(simulate_residuals(model, ...)), + .diag_qq(model, model_info = model_info, verbose = verbose) + ) + } + + # Random Effects Q-Q plot (normality of BLUPs) -------------- + if (any(c("all", "reqq") %in% check)) { + dat$REQQ <- .diag_reqq(model, level = 0.95, model_info = model_info, verbose = verbose) + } + + # normal-curve plot (normality of residuals) -------------- + if (any(c("all", "normality") %in% check)) { + dat$NORM <- .diag_norm(model, verbose = verbose) + } + + # non-constant variance (heteroskedasticity, liniearity) -------------- + if (any(c("all", "ncv", "linearity") %in% check)) { + dat$NCV <- .diag_ncv(model, verbose = verbose) + } + + # homogeneity of variance -------------- + if (any(c("all", "homogeneity") %in% check)) { + dat$HOMOGENEITY <- .diag_homogeneity(model, verbose = verbose) + } + + # outliers -------------- + if (any(c("all", "outliers") %in% check)) { + dat$OUTLIERS <- .safe(check_outliers(model, method = "cook")) + if (is.null(dat$OUTLIERS)) { + threshold <- NULL + } else { + threshold <- attributes(dat$OUTLIERS)$threshold$cook + } + dat$INFLUENTIAL <- .influential_obs(model, threshold = threshold) + } + + # posterior predictive checks -------------- + if (any(c("all", "pp_check") %in% check)) { + dat$PP_CHECK <- .safe(check_predictions(model, ...)) } - dat$INFLUENTIAL <- .influential_obs(model, threshold = threshold) - dat$PP_CHECK <- .safe(check_predictions(model, ...)) dat <- insight::compact_list(dat) class(dat) <- c("check_model", "see_check_model") @@ -441,28 +481,55 @@ check_model.DHARMa <- check_model.performance_simres # compile plots for checks of generalized linear models ------------------------ -.check_assumptions_glm <- function(model, model_info, residual_type = "simulated", verbose = TRUE, ...) { +.check_assumptions_glm <- function(model, model_info, check = "all", residual_type = "simulated", verbose = TRUE, ...) { dat <- list() - dat$VIF <- .diag_vif(model, verbose = verbose) - dat$QQ <- switch(residual_type, - simulated = simulate_residuals(model, ...), - .diag_qq(model, model_info = model_info, verbose = verbose) - ) - dat$HOMOGENEITY <- .diag_homogeneity(model, verbose = verbose) - dat$REQQ <- .diag_reqq(model, level = 0.95, model_info = model_info, verbose = verbose) - dat$OUTLIERS <- .safe(check_outliers(model, method = "cook")) - if (is.null(dat$OUTLIERS)) { - threshold <- NULL - } else { - threshold <- attributes(dat$OUTLIERS)$threshold$cook + # multicollinearity -------------- + if (any(c("all", "vif") %in% check)) { + dat$VIF <- .diag_vif(model, verbose = verbose) + } + + # Q-Q plot (normality/uniformity of residuals) -------------- + if (any(c("all", "qq") %in% check)) { + dat$QQ <- switch(residual_type, + simulated = .safe(simulate_residuals(model, ...)), + .diag_qq(model, model_info = model_info, verbose = verbose) + ) + } + + # homogeneity of variance -------------- + if (any(c("all", "homogeneity") %in% check)) { + dat$HOMOGENEITY <- .diag_homogeneity(model, verbose = verbose) + } + + # Random Effects Q-Q plot (normality of BLUPs) -------------- + if (any(c("all", "reqq") %in% check)) { + dat$REQQ <- .diag_reqq(model, level = 0.95, model_info = model_info, verbose = verbose) + } + + # outliers -------------- + if (any(c("all", "outliers") %in% check)) { + dat$OUTLIERS <- .safe(check_outliers(model, method = "cook")) + if (is.null(dat$OUTLIERS)) { + threshold <- NULL + } else { + threshold <- attributes(dat$OUTLIERS)$threshold$cook + } + dat$INFLUENTIAL <- .influential_obs(model, threshold = threshold) } - dat$INFLUENTIAL <- .influential_obs(model, threshold = threshold) - dat$PP_CHECK <- .safe(check_predictions(model, ...)) - if (isTRUE(model_info$is_binomial)) { + + # posterior predictive checks -------------- + if (any(c("all", "pp_check") %in% check)) { + dat$PP_CHECK <- .safe(check_predictions(model, ...)) + } + + # binned residuals for bernoulli/binomial -------------- + if (isTRUE(model_info$is_binomial) && any(c("all", "binned_residuals") %in% check)) { dat$BINNED_RESID <- .safe(binned_residuals(model, verbose = verbose, ...)) } - if (isTRUE(model_info$is_count)) { + + # misspecified dispersion and zero-inflation -------------- + if (isTRUE(model_info$is_count) && any(c("all", "overdispersion") %in% check)) { dat$OVERDISPERSION <- .diag_overdispersion(model) } diff --git a/R/check_zeroinflation.R b/R/check_zeroinflation.R index 63badc5d4..aaa5e7641 100644 --- a/R/check_zeroinflation.R +++ b/R/check_zeroinflation.R @@ -30,18 +30,19 @@ #' #' @section Tests based on simulated residuals: #' For certain models, resp. model from certain families, tests are based on -#' [`simulated_residuals()`]. These are usually more accurate for tests than the -#' traditionally used Pearson residuals. However, when simulating from more -#' complex model, such as mixed models or models with zero-inflation, there are -#' several important considerations. Arguments specified in `...` are passed to -#' [`simulate_residuals()`], which relies on [`DHARMa::simulateResiduals()`] (and -#' therefore, arguments in `...` are passed further down to _DHARMa_). The -#' defaults in DHARMa are set on the most conservative option that works for -#' all models. However, in many cases, the help advises to use different settings -#' in particular situations or for particular models. It is recommended to read -#' the 'Details' in `?DHARMa::simulateResiduals` closely to understand the -#' implications of the simulation process and which arguments should be modified -#' to get the most accurate results. +#' simulated residuals (see [`simulated_residual()`]). These are usually more +#' accurate for testing such models than the traditionally used Pearson residuals. +#' However, when simulating from more complex models, such as mixed models or +#' models with zero-inflation, there are several important considerations. +#' Arguments specified in `...` are passed to [`simulate_residuals()`], which +#' relies on [`DHARMa::simulateResiduals()`] (and therefore, arguments in `...` +#' are passed further down to _DHARMa_). The defaults in DHARMa are set on the +#' most conservative option that works for all models. However, in many cases, +#' the help advises to use different settings in particular situations or for +#' particular models. It is recommended to read the 'Details' in +#' `?DHARMa::simulateResiduals` closely to understand the implications of the +#' simulation process and which arguments should be modified to get the most +#' accurate results. #' #' @family functions to check model assumptions and and assess model quality #' @@ -87,7 +88,7 @@ check_zeroinflation.default <- function(x, tolerance = 0.05, ...) { not_supported <- c("fixest", "glmx") # for models with zero-inflation component or negative binomial families, - # we use simulated_residuals() + # we use simulate_residuals() if (!inherits(x, not_supported) && (model_info$is_zero_inflated || model_info$is_negbin || model_info$family == "genpois")) { # nolint if (missing(tolerance)) { tolerance <- 0.1 diff --git a/R/simulate_residuals.R b/R/simulate_residuals.R index 207b660db..de9ee0f4d 100644 --- a/R/simulate_residuals.R +++ b/R/simulate_residuals.R @@ -24,9 +24,9 @@ #' @section Tests based on simulated residuals: #' For certain models, resp. model from certain families, tests like #' [`check_zeroinflation()`] or [`check_overdispersion()`] are based on -#' `simulated_residuals()`. These are usually more accurate for such tests than +#' simulated residuals. These are usually more accurate for such tests than #' the traditionally used Pearson residuals. However, when simulating from more -#' complex model, such as mixed models or models with zero-inflation, there are +#' complex models, such as mixed models or models with zero-inflation, there are #' several important considerations. `simulate_residuals()` relies on #' [`DHARMa::simulateResiduals()`], and additional arguments specified in `...` #' are passed further down to that function. The defaults in DHARMa are set on @@ -79,7 +79,7 @@ print.performance_simres <- function(x, ...) { msg <- paste0( "Simulated residuals from a model of class `", class(x$fittedModel)[1], "` based on ", x$nSim, " simulations. Use `check_residuals()` to check ", - "uniformity of residuals. It is recommended to refer to `?DHARMa::simulateReisudals`", + "uniformity of residuals. It is recommended to refer to `?DHARMa::simulateResiudals`", " and `vignette(\"DHARMa\")` for more information about different settings", " in particular situations or for particular models.\n" ) diff --git a/man/check_overdispersion.Rd b/man/check_overdispersion.Rd index 19c957323..8586e7833 100644 --- a/man/check_overdispersion.Rd +++ b/man/check_overdispersion.Rd @@ -79,18 +79,19 @@ negative binomial, see \emph{Gelman and Hill (2007), pages 115-116}). \section{Tests based on simulated residuals}{ For certain models, resp. model from certain families, tests are based on -\code{\link[=simulated_residuals]{simulated_residuals()}}. These are usually more accurate for tests than the -traditionally used Pearson residuals. However, when simulating from more -complex model, such as mixed models or models with zero-inflation, there are -several important considerations. Arguments specified in \code{...} are passed to -\code{\link[=simulate_residuals]{simulate_residuals()}}, which relies on \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}} (and -therefore, arguments in \code{...} are passed further down to \emph{DHARMa}). The -defaults in DHARMa are set on the most conservative option that works for -all models. However, in many cases, the help advises to use different settings -in particular situations or for particular models. It is recommended to read -the 'Details' in \code{?DHARMa::simulateResiduals} closely to understand the -implications of the simulation process and which arguments should be modified -to get the most accurate results. +simulated residuals (see \code{\link[=simulated_residual]{simulated_residual()}}). These are usually more +accurate for testing such models than the traditionally used Pearson residuals. +However, when simulating from more complex models, such as mixed models or +models with zero-inflation, there are several important considerations. +Arguments specified in \code{...} are passed to \code{\link[=simulate_residuals]{simulate_residuals()}}, which +relies on \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}} (and therefore, arguments in \code{...} +are passed further down to \emph{DHARMa}). The defaults in DHARMa are set on the +most conservative option that works for all models. However, in many cases, +the help advises to use different settings in particular situations or for +particular models. It is recommended to read the 'Details' in +\code{?DHARMa::simulateResiduals} closely to understand the implications of the +simulation process and which arguments should be modified to get the most +accurate results. } \examples{ diff --git a/man/check_residuals.Rd b/man/check_residuals.Rd index dfb56ff83..2c5445686 100644 --- a/man/check_residuals.Rd +++ b/man/check_residuals.Rd @@ -38,9 +38,9 @@ the \code{check_residuals()} function has similar goals like \code{\link[=check_ For certain models, resp. model from certain families, tests like \code{\link[=check_zeroinflation]{check_zeroinflation()}} or \code{\link[=check_overdispersion]{check_overdispersion()}} are based on -\code{simulated_residuals()}. These are usually more accurate for such tests than +simulated residuals. These are usually more accurate for such tests than the traditionally used Pearson residuals. However, when simulating from more -complex model, such as mixed models or models with zero-inflation, there are +complex models, such as mixed models or models with zero-inflation, there are several important considerations. \code{simulate_residuals()} relies on \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}}, and additional arguments specified in \code{...} are passed further down to that function. The defaults in DHARMa are set on diff --git a/man/check_zeroinflation.Rd b/man/check_zeroinflation.Rd index 9de6c1f5c..a4ddc7135 100644 --- a/man/check_zeroinflation.Rd +++ b/man/check_zeroinflation.Rd @@ -54,18 +54,19 @@ is internally called if necessary. \section{Tests based on simulated residuals}{ For certain models, resp. model from certain families, tests are based on -\code{\link[=simulated_residuals]{simulated_residuals()}}. These are usually more accurate for tests than the -traditionally used Pearson residuals. However, when simulating from more -complex model, such as mixed models or models with zero-inflation, there are -several important considerations. Arguments specified in \code{...} are passed to -\code{\link[=simulate_residuals]{simulate_residuals()}}, which relies on \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}} (and -therefore, arguments in \code{...} are passed further down to \emph{DHARMa}). The -defaults in DHARMa are set on the most conservative option that works for -all models. However, in many cases, the help advises to use different settings -in particular situations or for particular models. It is recommended to read -the 'Details' in \code{?DHARMa::simulateResiduals} closely to understand the -implications of the simulation process and which arguments should be modified -to get the most accurate results. +simulated residuals (see \code{\link[=simulated_residual]{simulated_residual()}}). These are usually more +accurate for testing such models than the traditionally used Pearson residuals. +However, when simulating from more complex models, such as mixed models or +models with zero-inflation, there are several important considerations. +Arguments specified in \code{...} are passed to \code{\link[=simulate_residuals]{simulate_residuals()}}, which +relies on \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}} (and therefore, arguments in \code{...} +are passed further down to \emph{DHARMa}). The defaults in DHARMa are set on the +most conservative option that works for all models. However, in many cases, +the help advises to use different settings in particular situations or for +particular models. It is recommended to read the 'Details' in +\code{?DHARMa::simulateResiduals} closely to understand the implications of the +simulation process and which arguments should be modified to get the most +accurate results. } \examples{ diff --git a/man/simulate_residuals.Rd b/man/simulate_residuals.Rd index 030e69501..fd647f411 100644 --- a/man/simulate_residuals.Rd +++ b/man/simulate_residuals.Rd @@ -34,9 +34,9 @@ functions in the \strong{see} package. See also \code{vignette("DHARMa")}. There For certain models, resp. model from certain families, tests like \code{\link[=check_zeroinflation]{check_zeroinflation()}} or \code{\link[=check_overdispersion]{check_overdispersion()}} are based on -\code{simulated_residuals()}. These are usually more accurate for such tests than +simulated residuals. These are usually more accurate for such tests than the traditionally used Pearson residuals. However, when simulating from more -complex model, such as mixed models or models with zero-inflation, there are +complex models, such as mixed models or models with zero-inflation, there are several important considerations. \code{simulate_residuals()} relies on \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}}, and additional arguments specified in \code{...} are passed further down to that function. The defaults in DHARMa are set on diff --git a/tests/testthat/test-check_model.R b/tests/testthat/test-check_model.R index b008658dc..a0aa2304c 100644 --- a/tests/testthat/test-check_model.R +++ b/tests/testthat/test-check_model.R @@ -69,3 +69,14 @@ test_that("`check_model()` warnings for tweedie", { ) ) }) + + +test_that("`check_model()` warnings for zero-infl", { + skip_if_not_installed("pscl") + data(bioChemists, package = "pscl") + model <- pscl::zeroinfl( + art ~ fem + mar + kid5 + ment | kid5 + phd, + data = bioChemists + ) + expect_message(expect_warning(check_model(model, verbose = TRUE), regex = "Cannot simulate"), regex = "Homogeneity") +}) From 80b5b2ff4e5d7ca8cca4343f3e157911253b5816 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 23 Mar 2024 09:04:02 +0100 Subject: [PATCH 059/100] CRAN Release 0.11.0 (#700) Co-authored-by: Indrajeet Patil --- CRAN-SUBMISSION | 6 +- DESCRIPTION | 3 +- NAMESPACE | 2 + NEWS.md | 2 +- R/check_model.R | 13 +- R/check_model_diagnostics.R | 2 +- R/check_normality.R | 17 ++ R/check_overdispersion.R | 13 +- R/check_residuals.R | 3 +- R/check_zeroinflation.R | 2 +- R/simulate_residuals.R | 53 +++++- WIP/check_model_logistic.Rmd | 204 +++++++++++++++++++++ _pkgdown.yaml | 14 ++ man/check_model.Rd | 13 +- man/check_overdispersion.Rd | 15 +- man/check_residuals.Rd | 3 +- man/check_zeroinflation.Rd | 2 +- man/simulate_residuals.Rd | 21 ++- tests/testthat/test-check_collinearity.R | 2 + tests/testthat/test-check_convergence.R | 1 + tests/testthat/test-check_model.R | 1 + tests/testthat/test-check_normality.R | 32 ++++ tests/testthat/test-check_outliers.R | 16 ++ tests/testthat/test-check_overdispersion.R | 4 + tests/testthat/test-check_predictions.R | 1 + tests/testthat/test-check_residuals.R | 53 +++++- tests/testthat/test-check_zeroinflation.R | 4 + tests/testthat/test-icc.R | 51 +++++- tests/testthat/test-r2.R | 1 + vignettes/simulate_residuals.Rmd | 32 +++- 30 files changed, 521 insertions(+), 65 deletions(-) create mode 100644 WIP/check_model_logistic.Rmd diff --git a/CRAN-SUBMISSION b/CRAN-SUBMISSION index afc762333..22db08405 100644 --- a/CRAN-SUBMISSION +++ b/CRAN-SUBMISSION @@ -1,3 +1,3 @@ -Version: 0.10.9 -Date: 2024-02-17 07:56:08 UTC -SHA: 051016febd197937ad083266b630c871fa9e1623 +Version: 0.11.0 +Date: 2024-03-22 21:30:58 UTC +SHA: 051b9bb2b7721c632ce145f85c55aa55c8eebf90 diff --git a/DESCRIPTION b/DESCRIPTION index 0f23a585c..68ce7de42 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.10.9.10 +Version: 0.11.0 Authors@R: c(person(given = "Daniel", family = "Lüdecke", @@ -154,4 +154,3 @@ Config/Needs/website: r-lib/pkgdown, easystats/easystatstemplate Config/rcmdcheck/ignore-inconsequential-notes: true -Remotes: easystats/see diff --git a/NAMESPACE b/NAMESPACE index 24daed512..2ecdbf751 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -72,6 +72,7 @@ S3method(check_normality,htest) S3method(check_normality,lmerModLmerTest) S3method(check_normality,merMod) S3method(check_normality,numeric) +S3method(check_normality,performance_simres) S3method(check_outliers,BFBayesFactor) S3method(check_outliers,DHARMa) S3method(check_outliers,character) @@ -517,6 +518,7 @@ S3method(r2_tjur,nestedLogit) S3method(residuals,BFBayesFactor) S3method(residuals,check_normality_numeric) S3method(residuals,iv_robust) +S3method(residuals,performance_simres) S3method(rstudent,check_normality_numeric) S3method(test_bf,ListModels) S3method(test_bf,default) diff --git a/NEWS.md b/NEWS.md index 6fb76ca53..b12a34e96 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# performance 0.10.10 +# performance 0.11.0 ## New supported models diff --git a/R/check_model.R b/R/check_model.R index f75a103a8..cf33f3eef 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -144,12 +144,13 @@ #' inside the error bounds. See [`binned_residuals()`] for further details. #' #' @section Residuals for (Generalized) Linear Models: -#' Plots that check the normality of residuals (Q-Q plot) or the homogeneity of -#' variance use standardized Pearson's residuals for generalized linear models, -#' and standardized residuals for linear models. The plots for the normality of -#' residuals (with overlayed normal curve) and for the linearity assumption use -#' the default residuals for `lm` and `glm` (which are deviance residuals for -#' `glm`). +#' Plots that check the homogeneity of variance use standardized Pearson's +#' residuals for generalized linear models, and standardized residuals for +#' linear models. The plots for the normality of residuals (with overlayed +#' normal curve) and for the linearity assumption use the default residuals +#' for `lm` and `glm` (which are deviance residuals for `glm`). The Q-Q plots +#' use simulated residuals (see [`simulate_residuals()`]) for non-Gaussian +#' models and standardized residuals for linear models. #' #' @section Troubleshooting: #' For models with many observations, or for more complex models in general, diff --git a/R/check_model_diagnostics.R b/R/check_model_diagnostics.R index 39a3c843d..431a2bc0f 100644 --- a/R/check_model_diagnostics.R +++ b/R/check_model_diagnostics.R @@ -301,7 +301,7 @@ d <- data.frame(Predicted = predicted) # residuals based on simulated residuals - but we want normally distributed residuals - d$Residuals <- stats::residuals(simres, quantileFunction = stats::qnorm, ...) + d$Residuals <- stats::residuals(simres, quantile_function = stats::qnorm, ...) d$Res2 <- d$Residuals^2 d$StdRes <- insight::get_residuals(model, type = "pearson") diff --git a/R/check_normality.R b/R/check_normality.R index 2b9f071d5..3c2902915 100644 --- a/R/check_normality.R +++ b/R/check_normality.R @@ -92,6 +92,23 @@ check_normality.glm <- function(x, ...) { invisible(out) } +# simulated residuals ---------- + +#' @export +check_normality.performance_simres <- function(x, ...) { + # check for normality of residuals + res <- stats::residuals(x, quantile_function = stats::qnorm) + p.val <- .check_normality(res[!is.infinite(res) & !is.na(res)], x) + + attr(p.val, "data") <- x + attr(p.val, "object_name") <- insight::safe_deparse_symbol(substitute(x)) + attr(p.val, "effects") <- "fixed" + class(p.val) <- unique(c("check_normality", "see_check_normality", class(p.val))) + + p.val +} + + # numeric ------------------- #' @export diff --git a/R/check_overdispersion.R b/R/check_overdispersion.R index 0a9cfb595..fa46edfef 100644 --- a/R/check_overdispersion.R +++ b/R/check_overdispersion.R @@ -62,19 +62,10 @@ #' multilevel/hierarchical models. Cambridge; New York: Cambridge University #' Press. #' -#' @examplesIf getRversion() >= "4.0.0" && require("glmmTMB", quietly = TRUE) -#' -#' library(glmmTMB) -#' data(Salamanders) +#' @examplesIf getRversion() >= "4.0.0" && require("glmmTMB") +#' data(Salamanders, package = "glmmTMB") #' m <- glm(count ~ spp + mined, family = poisson, data = Salamanders) #' check_overdispersion(m) -#' -#' m <- glmmTMB( -#' count ~ mined + spp + (1 | site), -#' family = poisson, -#' data = Salamanders -#' ) -#' check_overdispersion(m) #' @export check_overdispersion <- function(x, ...) { UseMethod("check_overdispersion") diff --git a/R/check_residuals.R b/R/check_residuals.R index 2bb284c88..d8840e165 100644 --- a/R/check_residuals.R +++ b/R/check_residuals.R @@ -19,7 +19,8 @@ #' #' @inheritSection simulate_residuals Tests based on simulated residuals #' -#' @seealso [`simulate_residuals()`] and [`check_predictions()`]. +#' @seealso [`simulate_residuals()`], [`check_zeroinflation()`], +#' [`check_overdispersion()`] and [`check_predictions()`]. #' #' @return The p-value of the test statistics. #' diff --git a/R/check_zeroinflation.R b/R/check_zeroinflation.R index aaa5e7641..5f87941f3 100644 --- a/R/check_zeroinflation.R +++ b/R/check_zeroinflation.R @@ -30,7 +30,7 @@ #' #' @section Tests based on simulated residuals: #' For certain models, resp. model from certain families, tests are based on -#' simulated residuals (see [`simulated_residual()`]). These are usually more +#' simulated residuals (see [`simulate_residuals()`]). These are usually more #' accurate for testing such models than the traditionally used Pearson residuals. #' However, when simulating from more complex models, such as mixed models or #' models with zero-inflation, there are several important considerations. diff --git a/R/simulate_residuals.R b/R/simulate_residuals.R index de9ee0f4d..41fccea55 100644 --- a/R/simulate_residuals.R +++ b/R/simulate_residuals.R @@ -8,17 +8,25 @@ #' @param x A model object. #' @param iterations Number of simulations to run. #' @param ... Arguments passed on to [`DHARMa::simulateResiduals()`]. +#' @param object A `performance_simres` object, as returned by `simulate_residuals()`. +#' @param quantile_function A function to apply to the residuals. If `NULL`, the +#' residuals are returned as is. If not `NULL`, the residuals are passed to this +#' function. This is useful for returning normally distributed residuals, for +#' example: `residuals(x, quantile_function = qnorm)`. +#' @param outlier_values A vector of length 2, specifying the values to replace +#' `-Inf` and `Inf` with, respectively. #' #' @return Simulated residuals, which can be further processed with #' [`check_residuals()`]. The returned object is of class `DHARMa` and #' `performance_simres`. #' -#' @seealso [`check_residuals()`] and [`check_predictions()`]. +#' @seealso [`check_residuals()`], [`check_zeroinflation()`], +#' [`check_overdispersion()`] and [`check_predictions()`]. #' #' @details This function is a small wrapper around [`DHARMa::simulateResiduals()`]. #' It basically only sets `plot = FALSE` and adds an additional class attribute #' (`"performance_sim_res"`), which allows using the DHARMa object in own plotting -#' functions in the **see** package. See also `vignette("DHARMa")`. There is a +#' functions from the **see** package. See also `vignette("DHARMa")`. There is a #' `plot()` method to visualize the distribution of the residuals. #' #' @section Tests based on simulated residuals: @@ -50,6 +58,9 @@ #' m <- lm(mpg ~ wt + cyl + gear + disp, data = mtcars) #' simulate_residuals(m) #' +#' # extract residuals +#' head(residuals(simulate_residuals(m))) +#' #' @export simulate_residuals <- function(x, iterations = 250, ...) { insight::check_if_installed("DHARMa") @@ -78,9 +89,10 @@ print.performance_simres <- function(x, ...) { # DHARMa's method. msg <- paste0( "Simulated residuals from a model of class `", class(x$fittedModel)[1], - "` based on ", x$nSim, " simulations. Use `check_residuals()` to check ", - "uniformity of residuals. It is recommended to refer to `?DHARMa::simulateResiudals`", - " and `vignette(\"DHARMa\")` for more information about different settings", + "` based on ", x$nSim, " simulations. Use `check_residuals()` to check", + " uniformity of residuals or `residuals()` to extract simulated residuals.", + " It is recommended to refer to `?DHARMa::simulateResiudals` and", + " `vignette(\"DHARMa\")` for more information about different settings", " in particular situations or for particular models.\n" ) cat(insight::format_message(msg)) @@ -93,6 +105,37 @@ plot.performance_simres <- function(x, ...) { } +# methods -------------------------- + +#' @rdname simulate_residuals +#' @export +residuals.performance_simres <- function(object, quantile_function = NULL, outlier_values = NULL, ...) { + # check for DHARMa argument names + dots <- list(...) + if (!is.null(dots$quantileFunction)) { + quantile_function <- dots$quantileFunction + } + if (!is.null(dots$outlierValues)) { + outlier_values <- dots$outlierValues + } + + if (is.null(quantile_function)) { + res <- object$scaledResiduals + } else { + res <- quantile_function(object$scaledResiduals) + if (!is.null(outlier_values)) { + # check for correct length of outlier_values + if (length(outlier_values) != 2) { + insight::format_error("`outlier_values` must be a vector of length 2.") + } + res[res == -Inf] <- outlier_values[1] + res[res == Inf] <- outlier_values[2] + } + } + res +} + + # helper functions --------------------- .simres_statistics <- function(x, statistic_fun, alternative = "two.sided") { diff --git a/WIP/check_model_logistic.Rmd b/WIP/check_model_logistic.Rmd new file mode 100644 index 000000000..e6b7cafe8 --- /dev/null +++ b/WIP/check_model_logistic.Rmd @@ -0,0 +1,204 @@ +--- +title: "Checking model assumption - logistic regression models" +output: + rmarkdown::html_vignette: + toc: true + fig_width: 10.08 + fig_height: 6 +tags: [r, performance, r2] +vignette: > + \usepackage[utf8]{inputenc} + %\VignetteIndexEntry{Checking model assumption - logistic regression models} + %\VignetteEngine{knitr::rmarkdown} +editor_options: + chunk_output_type: console +--- + +```{r , include=FALSE} +library(knitr) +library(performance) +options(knitr.kable.NA = "") +knitr::opts_chunk$set( + comment = ">", + message = FALSE, + warning = FALSE, + out.width = "100%", + dpi = 450 +) +options(digits = 2) + +pkgs <- c("see", "ggplot2", "datawizard", "parameters") +successfully_loaded <- vapply(pkgs, requireNamespace, FUN.VALUE = logical(1L), quietly = TRUE) +can_evaluate <- all(successfully_loaded) + +if (can_evaluate) { + knitr::opts_chunk$set(eval = TRUE) + vapply(pkgs, require, FUN.VALUE = logical(1L), quietly = TRUE, character.only = TRUE) +} else { + knitr::opts_chunk$set(eval = FALSE) +} +``` + +# Make sure your model inference is accurate! + +Model diagnostics is crucial, because parameter estimation, p-values and confidence interval depend on correct model assumptions as well as on the data. If model assumptions are violated, estimates can be statistically significant "even if the effect under study is null" (_Gelman/Greenland 2019_). + +There are several problems associated with model diagnostics. Different types of models require different checks. For instance, normally distributed residuals are assumed to apply for linear regression, but is no appropriate assumption for logistic regression. Furthermore, it is recommended to carry out visual inspections, i.e. to generate and inspect so called diagnostic plots of model assumptions - formal statistical tests are often too strict and warn of violation of the model assumptions, although everything is fine within a certain tolerance range. But how should such diagnostic plots be interpreted? And if violations have been detected, how to fix them? + +This vignette introduces the `check_model()` function of the **performance** package, shows how to use this function for logistic regression models and how the resulting diagnostic plots should be interpreted. Furthermore, recommendations are given how to address possible violations of model assumptions. + +Most plots seen here can also be generated by their dedicated functions, e.g.: + +- Posterior predictive checks: `check_predictions()` +- Homogeneity of variance: `check_heteroskedasticity()` +- Normality of residuals: `check_normality()` +- Multicollinearity: `check_collinearity()` +- Influential observations: `check_outliers()` +- Binned residuals: `binned_residuals()` +- Check for overdispersion: `check_overdispersion()` + +# Logistic regression models: Are all assumptions met? + +We start with a simple example for a logistic regression model. + +```{r} +data(Titanic) +d <- as.data.frame(Titanic) +d <- tidyr::uncount(d, Freq) +m1 <- glm(Survived ~ Class + Sex + Age, data = d, family = binomial()) +``` + +Before we go into details of the diagnostic plots, let's first look at the summary table. + +```{r eval=successfully_loaded["parameters"]} +library(parameters) +model_parameters(m1) +``` + +There is nothing suspicious so far. Now let's start with model diagnostics. We use the `check_model()` function, which provides an overview with the most important and appropriate diagnostic plots for the model under investigation. + +```{r eval=all(successfully_loaded[c("see", "ggplot2")]), fig.height=11} +library(performance) +check_model(m1) +``` + +Now let's take a closer look for each plot. To do so, we ask `check_model()` to return a single plot for each check, instead of arranging them in a grid. We can do so using the `panel` argument. This returns a list of *ggplot* plots. + +```{r eval=all(successfully_loaded[c("see", "ggplot2")])} +# return a list of single plots +diagnostic_plots <- plot(check_model(m1, panel = FALSE)) +``` + +## Posterior predictive checks + +The first plot is based on `check_predictions()`. Posterior predictive checks can be used to "look for systematic discrepancies between real and simulated data" (_Gelman et al. 2014, p. 169_). It helps to see whether the type of model (distributional family) fits well to the data (_Gelman and Hill, 2007, p. 158_). + +```{r eval=all(successfully_loaded[c("see", "ggplot2")])} +# posterior predicive checks +diagnostic_plots[[1]] +``` + +In case of logistic regression our count models, the plot shows by default _dots_ for the observed and simulated data, not _lines_ (as for linear models). The blue dots are simulated data based on the model, if the model were true and distributional assumptions met. The green dots represents the actual observed data of the response variable. + +This plot looks good, because the green dots are inside the range of the blue error bars, and thus we would not assume any violations of model assumptions here. + +### How to fix this? + +The best way, if there are serious concerns that the model does not fit well to the data, is to use a different type (family) of regression models. + +## Binned residuals + + +```{r eval=all(successfully_loaded[c("see", "ggplot2")])} +# linearity +diagnostic_plots[[2]] +``` + + +### How to fix this? + + +## Influential observations - outliers + +Outliers can be defined as particularly influential observations, and this plot helps detecting those outliers. Cook's distance (_Cook 1977_, _Cook & Weisberg 1982_) is used to define outliers, i.e. any point in this plot that falls outside of Cook's distance (the dashed lines) is considered an influential observation. + +```{r eval=all(successfully_loaded[c("see", "ggplot2")])} +# influential observations - outliers +diagnostic_plots[[4]] +``` + +In our example, everything looks well. + +### How to fix this? + +Dealing with outliers is not straightforward, as it is not recommended to automatically discard any observation that has been marked as "an outlier". Rather, your _domain knowledge_ must be involved in the decision whether to keep or omit influential observation. A helpful heuristic is to distinguish between error outliers, interesting outliers, and random outliers (_Leys et al. 2019_). _Error outliers_ are likely due to human error and should be corrected before data analysis. _Interesting outliers_ are not due to technical error and may be of theoretical interest; it might thus be relevant to investigate them further even though they should be removed from the current analysis of interest. _Random outliers_ are assumed to be due to chance alone and to belong to the correct distribution and, therefore, should be retained. + +## Multicollinearity + +This plot checks for potential collinearity among predictors. In a nutshell multicollinearity means that once you know the effect of one predictor, the value of knowing the other predictor is rather low. Multicollinearity might arise when a third, unobserved variable has a causal effect on each of the two predictors that are associated with the outcome. In such cases, the actual relationship that matters would be the association between the unobserved variable and the outcome. + +Multicollinearity should not be confused with a raw strong correlation between predictors. What matters is the association between one or more predictor variables, *conditional on the other variables in the model*. + +If multicollinearity is a problem, the model seems to suggest that the predictors in question don't seems to be reliably associated with the outcome (low estimates, high standard errors), although these predictors actually are strongly associated with the outcome, i.e. indeed might have strong effect (_McElreath 2020, chapter 6.1_). + +```{r eval=all(successfully_loaded[c("see", "ggplot2")])} +# multicollinearity +diagnostic_plots[[5]] +``` + +The variance inflation factor (VIF) indicates the magnitude of multicollinearity of model terms. The thresholds for low, moderate and high collinearity are VIF values less than 5, between 5 and 10 and larger than 10, respectively (_James et al. 2013_). Note that these thresholds, although commonly used, are also criticized for being too high. _Zuur et al. (2010)_ suggest using lower values, e.g. a VIF of 3 or larger may already no longer be considered as "low". + +Our model clearly suffers from multicollinearity, as all predictors have high VIF values. + +### How to fix this? + +Usually, predictors with (very) high VIF values should be removed from the model to fix multicollinearity. Some caution is needed for interaction terms. If interaction terms are included in a model, high VIF values are expected. This portion of multicollinearity among the component terms of an interaction is also called "inessential ill-conditioning", which leads to inflated VIF values that are typically seen for models with interaction terms _(Francoeur 2013)_. In such cases, re-fit your model without interaction terms and check this model for collinearity among predictors. + +## Normality of residuals + +In linear regression, residuals should be normally distributed. This can be checked using so-called Q-Q plots (quantile-quantile plot) to compare the shapes of distributions. This plot shows the quantiles of the studentized residuals versus fitted values. + +Usually, dots should fall along the green reference line. If there is some deviation (mostly at the tails), this indicates that the model doesn't predict the outcome well for the range that shows larger deviations from the reference line. In such cases, inferential statistics like the p-value or coverage of confidence intervals can be inaccurate. + +```{r eval=all(successfully_loaded[c("see", "ggplot2")])} +# normally distributed residuals +diagnostic_plots[[6]] +``` + +In our example, we see that most data points are ok, except some observations at the tails. Whether any action is needed to fix this or not can also depend on the results of the remaining diagnostic plots. If all other plots indicate no violation of assumptions, some deviation of normality, particularly at the tails, can be less critical. + +### How to fix this? + +Here are some remedies to fix non-normality of residuals, according to _Pek et al. 2018_. + +1. For large sample sizes, the assumption of normality can be relaxed due to the central limit theorem - no action needed. + +2. Calculating heteroscedasticity-consistent standard errors can help. See section **Homogeneity of variance** for details. + +3. Bootstrapping is another alternative to resolve issues with non-normally residuals. Again, this can be easily done using the **parameters** package, e.g. `parameters::model_parameters(m1, bootstrap = TRUE)` or [`parameters::bootstrap_parameters()`](https://easystats.github.io/parameters/reference/bootstrap_parameters.html). + +# References + +Brooks ME, Kristensen K, Benthem KJ van, Magnusson A, Berg CW, Nielsen A, et al. glmmTMB Balances Speed and Flexibility Among Packages for Zero-inflated Generalized Linear Mixed Modeling. The R Journal. 2017;9: 378-400. + +Cook RD. Detection of influential observation in linear regression. Technometrics. 1977;19(1): 15-18. + +Cook RD and Weisberg S. Residuals and Influence in Regression. London: Chapman and Hall, 1982. + +Francoeur RB. Could Sequential Residual Centering Resolve Low Sensitivity in Moderated Regression? Simulations and Cancer Symptom Clusters. Open Journal of Statistics. 2013:03(06), 24-44. + +Gelman A, Carlin JB, Stern HS, Dunson DB, Vehtari A, and Rubin DB. Bayesian data analysis. (Third edition). CRC Press, 2014 + +Gelman A, Greenland S. Are confidence intervals better termed "uncertainty intervals"? BMJ. 2019;l5381. doi:10.1136/bmj.l5381 + +Gelman A, and Hill J. Data analysis using regression and multilevel/hierarchical models. Cambridge; New York. Cambridge University Press, 2007 + +James, G., Witten, D., Hastie, T., and Tibshirani, R. (eds.).An introduction to statistical learning: with applications in R. New York: Springer, 2013 + +Leys C, Delacre M, Mora YL, Lakens D, Ley C. How to Classify, Detect, and Manage Univariate and Multivariate Outliers, With Emphasis on Pre-Registration. International Review of Social Psychology, 2019 + +McElreath, R. Statistical rethinking: A Bayesian course with examples in R and Stan. 2nd edition. Chapman and Hall/CRC, 2020 + +Pek J, Wong O, Wong ACM. How to Address Non-normality: A Taxonomy of Approaches, Reviewed, and Illustrated. Front Psychol (2018) 9:2104. doi: 10.3389/fpsyg.2018.02104 + +Zuur AF, Ieno EN, Elphick CS. A protocol for data exploration to avoid common statistical problems: Data exploration. Methods in Ecology and Evolution (2010) 1:3-14. diff --git a/_pkgdown.yaml b/_pkgdown.yaml index d6e56740c..3ac6db6fc 100644 --- a/_pkgdown.yaml +++ b/_pkgdown.yaml @@ -44,3 +44,17 @@ reference: - title: "Sample Data" contents: - classify_distribution + +articles: + - title: Checking model assumptions and data properties + navbar: ~ + contents: + - check_model + - check_outliers + - simulate_residuals + + - title: Model comparison and testing + navbar: ~ + contents: + - compare + - r2 diff --git a/man/check_model.Rd b/man/check_model.Rd index 4bdea6ebe..d0d7e765b 100644 --- a/man/check_model.Rd +++ b/man/check_model.Rd @@ -212,12 +212,13 @@ inside the error bounds. See \code{\link[=binned_residuals]{binned_residuals()}} \section{Residuals for (Generalized) Linear Models}{ -Plots that check the normality of residuals (Q-Q plot) or the homogeneity of -variance use standardized Pearson's residuals for generalized linear models, -and standardized residuals for linear models. The plots for the normality of -residuals (with overlayed normal curve) and for the linearity assumption use -the default residuals for \code{lm} and \code{glm} (which are deviance residuals for -\code{glm}). +Plots that check the homogeneity of variance use standardized Pearson's +residuals for generalized linear models, and standardized residuals for +linear models. The plots for the normality of residuals (with overlayed +normal curve) and for the linearity assumption use the default residuals +for \code{lm} and \code{glm} (which are deviance residuals for \code{glm}). The Q-Q plots +use simulated residuals (see \code{\link[=simulate_residuals]{simulate_residuals()}}) for non-Gaussian +models and standardized residuals for linear models. } \section{Troubleshooting}{ diff --git a/man/check_overdispersion.Rd b/man/check_overdispersion.Rd index 8586e7833..692f7aa0b 100644 --- a/man/check_overdispersion.Rd +++ b/man/check_overdispersion.Rd @@ -79,7 +79,7 @@ negative binomial, see \emph{Gelman and Hill (2007), pages 115-116}). \section{Tests based on simulated residuals}{ For certain models, resp. model from certain families, tests are based on -simulated residuals (see \code{\link[=simulated_residual]{simulated_residual()}}). These are usually more +simulated residuals (see \code{\link[=simulate_residuals]{simulate_residuals()}}). These are usually more accurate for testing such models than the traditionally used Pearson residuals. However, when simulating from more complex models, such as mixed models or models with zero-inflation, there are several important considerations. @@ -95,19 +95,10 @@ accurate results. } \examples{ -\dontshow{if (getRversion() >= "4.0.0" && require("glmmTMB", quietly = TRUE)) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} - -library(glmmTMB) -data(Salamanders) +\dontshow{if (getRversion() >= "4.0.0" && require("glmmTMB")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +data(Salamanders, package = "glmmTMB") m <- glm(count ~ spp + mined, family = poisson, data = Salamanders) check_overdispersion(m) - -m <- glmmTMB( - count ~ mined + spp + (1 | site), - family = poisson, - data = Salamanders -) -check_overdispersion(m) \dontshow{\}) # examplesIf} } \references{ diff --git a/man/check_residuals.Rd b/man/check_residuals.Rd index 2c5445686..6935c242c 100644 --- a/man/check_residuals.Rd +++ b/man/check_residuals.Rd @@ -61,5 +61,6 @@ check_residuals(res) \dontshow{\}) # examplesIf} } \seealso{ -\code{\link[=simulate_residuals]{simulate_residuals()}} and \code{\link[=check_predictions]{check_predictions()}}. +\code{\link[=simulate_residuals]{simulate_residuals()}}, \code{\link[=check_zeroinflation]{check_zeroinflation()}}, +\code{\link[=check_overdispersion]{check_overdispersion()}} and \code{\link[=check_predictions]{check_predictions()}}. } diff --git a/man/check_zeroinflation.Rd b/man/check_zeroinflation.Rd index a4ddc7135..7a4da3945 100644 --- a/man/check_zeroinflation.Rd +++ b/man/check_zeroinflation.Rd @@ -54,7 +54,7 @@ is internally called if necessary. \section{Tests based on simulated residuals}{ For certain models, resp. model from certain families, tests are based on -simulated residuals (see \code{\link[=simulated_residual]{simulated_residual()}}). These are usually more +simulated residuals (see \code{\link[=simulate_residuals]{simulate_residuals()}}). These are usually more accurate for testing such models than the traditionally used Pearson residuals. However, when simulating from more complex models, such as mixed models or models with zero-inflation, there are several important considerations. diff --git a/man/simulate_residuals.Rd b/man/simulate_residuals.Rd index fd647f411..938f8b0d2 100644 --- a/man/simulate_residuals.Rd +++ b/man/simulate_residuals.Rd @@ -2,9 +2,12 @@ % Please edit documentation in R/simulate_residuals.R \name{simulate_residuals} \alias{simulate_residuals} +\alias{residuals.performance_simres} \title{Simulate randomized quantile residuals from a model} \usage{ simulate_residuals(x, iterations = 250, ...) + +\method{residuals}{performance_simres}(object, quantile_function = NULL, outlier_values = NULL, ...) } \arguments{ \item{x}{A model object.} @@ -12,6 +15,16 @@ simulate_residuals(x, iterations = 250, ...) \item{iterations}{Number of simulations to run.} \item{...}{Arguments passed on to \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}}.} + +\item{object}{A \code{performance_simres} object, as returned by \code{simulate_residuals()}.} + +\item{quantile_function}{A function to apply to the residuals. If \code{NULL}, the +residuals are returned as is. If not \code{NULL}, the residuals are passed to this +function. This is useful for returning normally distributed residuals, for +example: \code{residuals(x, quantile_function = qnorm)}.} + +\item{outlier_values}{A vector of length 2, specifying the values to replace +\code{-Inf} and \code{Inf} with, respectively.} } \value{ Simulated residuals, which can be further processed with @@ -27,7 +40,7 @@ where the residuals are not expected to be normally distributed. This function is a small wrapper around \code{\link[DHARMa:simulateResiduals]{DHARMa::simulateResiduals()}}. It basically only sets \code{plot = FALSE} and adds an additional class attribute (\code{"performance_sim_res"}), which allows using the DHARMa object in own plotting -functions in the \strong{see} package. See also \code{vignette("DHARMa")}. There is a +functions from the \strong{see} package. See also \code{vignette("DHARMa")}. There is a \code{plot()} method to visualize the distribution of the residuals. } \section{Tests based on simulated residuals}{ @@ -52,6 +65,9 @@ accurate results. \dontshow{if (require("DHARMa")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} m <- lm(mpg ~ wt + cyl + gear + disp, data = mtcars) simulate_residuals(m) + +# extract residuals +head(residuals(simulate_residuals(m))) \dontshow{\}) # examplesIf} } \references{ @@ -64,5 +80,6 @@ of Computational and Graphical Statistics, 5(3), 236. \doi{10.2307/1390802} } } \seealso{ -\code{\link[=check_residuals]{check_residuals()}} and \code{\link[=check_predictions]{check_predictions()}}. +\code{\link[=check_residuals]{check_residuals()}}, \code{\link[=check_zeroinflation]{check_zeroinflation()}}, +\code{\link[=check_overdispersion]{check_overdispersion()}} and \code{\link[=check_predictions]{check_predictions()}}. } diff --git a/tests/testthat/test-check_collinearity.R b/tests/testthat/test-check_collinearity.R index 4811c5afe..042142073 100644 --- a/tests/testthat/test-check_collinearity.R +++ b/tests/testthat/test-check_collinearity.R @@ -24,6 +24,7 @@ test_that("check_collinearity, correct order in print", { test_that("check_collinearity", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") skip_if_not(getRversion() >= "4.0.0") @@ -50,6 +51,7 @@ test_that("check_collinearity", { test_that("check_collinearity", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") skip_if_not(getRversion() >= "4.0.0") diff --git a/tests/testthat/test-check_convergence.R b/tests/testthat/test-check_convergence.R index 8897b785d..0bfadc8a6 100644 --- a/tests/testthat/test-check_convergence.R +++ b/tests/testthat/test-check_convergence.R @@ -29,6 +29,7 @@ test_that("check_convergence", { test_that("check_convergence, glmmTMB", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") data(iris) model <- suppressWarnings(glmmTMB::glmmTMB( diff --git a/tests/testthat/test-check_model.R b/tests/testthat/test-check_model.R index a0aa2304c..32a78e253 100644 --- a/tests/testthat/test-check_model.R +++ b/tests/testthat/test-check_model.R @@ -53,6 +53,7 @@ test_that("`check_model()` works for quantreg", { }) test_that("`check_model()` warnings for tweedie", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") skip_if_not_installed("lme4") data(sleepstudy, package = "lme4") diff --git a/tests/testthat/test-check_normality.R b/tests/testthat/test-check_normality.R index efac29db6..44b461aea 100644 --- a/tests/testthat/test-check_normality.R +++ b/tests/testthat/test-check_normality.R @@ -35,6 +35,7 @@ test_that("check_normality | afex", { }) test_that("check_normality | glmmTMB", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") skip_if_not(getRversion() >= "4.0.0") @@ -82,3 +83,34 @@ test_that("check_normality | t-test", { ignore_attr = TRUE ) }) + + +test_that("check_normality | simulated residuals", { + skip_if_not_installed("DHARMa") + m <- lm(mpg ~ wt + cyl + gear + disp, data = mtcars) + res <- simulate_residuals(m) + out <- check_normality(res) + expect_equal( + as.numeric(out), + 0.2969038, + tolerance = 1e-3, + ignore_attr = TRUE + ) + expect_identical( + capture.output(print(out)), + "OK: residuals appear as normally distributed (p = 0.297)." + ) + + m <- lm(mpg ~ wt + cyl + gear + disp, data = mtcars) + out <- check_normality(m) + expect_equal( + as.numeric(out), + 0.2303071, + tolerance = 1e-3, + ignore_attr = TRUE + ) + expect_identical( + capture.output(print(out)), + "OK: residuals appear as normally distributed (p = 0.230)." + ) +}) diff --git a/tests/testthat/test-check_outliers.R b/tests/testthat/test-check_outliers.R index 016c827af..704b27feb 100644 --- a/tests/testthat/test-check_outliers.R +++ b/tests/testthat/test-check_outliers.R @@ -6,6 +6,7 @@ test_that("zscore negative threshold", { }) test_that("lof illegal threshold", { + skip_if_not_installed("dbscan") expect_error( check_outliers(mtcars$mpg, method = "lof", threshold = -1), "The `threshold` argument" @@ -84,6 +85,7 @@ test_that("mahalanobis_robust which", { }) test_that("mcd which", { + skip_if_not_installed("MASS") # (not clear why method mcd needs a seed) set.seed(42) expect_identical( @@ -199,6 +201,12 @@ test_that("multiple methods which", { # We exclude method ics because it is too slow test_that("all methods which", { skip_if_not_installed("bigutilsr") + skip_if_not_installed("MASS") + skip_if_not_installed("dbscan") + skip_if_not_installed("ICS") + skip_if_not_installed("ICSOutlier") + skip_if_not_installed("loo") + expect_identical( which(check_outliers(mtcars, method = c( @@ -222,6 +230,12 @@ test_that("all methods which", { test_that("multiple methods with ID", { skip_if_not_installed("bigutilsr") + skip_if_not_installed("MASS") + skip_if_not_installed("dbscan") + skip_if_not_installed("ICS") + skip_if_not_installed("ICSOutlier") + skip_if_not_installed("loo") + data <- datawizard::rownames_as_column(mtcars, var = "car") x <- attributes(check_outliers(data, method = c( @@ -280,6 +294,7 @@ test_that("cook multiple methods which", { test_that("pareto which", { skip_if_not_installed("dbscan") + skip_if_not_installed("loo") skip_if_not_installed("rstanarm") set.seed(123) model <- rstanarm::stan_glm(mpg ~ qsec + wt, data = mtcars, refresh = 0) @@ -293,6 +308,7 @@ test_that("pareto which", { test_that("pareto multiple methods which", { skip_if_not_installed("dbscan") + skip_if_not_installed("loo") skip_if_not_installed("rstanarm") set.seed(123) model <- rstanarm::stan_glm(mpg ~ qsec + wt, data = mtcars, refresh = 0) diff --git a/tests/testthat/test-check_overdispersion.R b/tests/testthat/test-check_overdispersion.R index 2930322bb..06cc95dd0 100644 --- a/tests/testthat/test-check_overdispersion.R +++ b/tests/testthat/test-check_overdispersion.R @@ -1,4 +1,5 @@ test_that("check_overdispersion, glmmTMB-poisson", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") skip_if_not(getRversion() >= "4.0.0") data(Salamanders, package = "glmmTMB") @@ -49,6 +50,7 @@ test_that("check_overdispersion, glmmTMB-poisson", { test_that("check_overdispersion, glmmTMB-poisson mixed", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") skip_if_not(getRversion() >= "4.0.0") data(Salamanders, package = "glmmTMB") @@ -76,6 +78,7 @@ test_that("check_overdispersion, glmmTMB-poisson mixed", { test_that("check_overdispersion, zero-inflated and negbin", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") skip_if_not_installed("DHARMa") skip_if_not(getRversion() >= "4.0.0") @@ -180,6 +183,7 @@ test_that("check_overdispersion, MASS::negbin", { test_that("check_overdispersion, genpois", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") skip_if_not_installed("DHARMa") skip_if_not(getRversion() >= "4.0.0") diff --git a/tests/testthat/test-check_predictions.R b/tests/testthat/test-check_predictions.R index a840894dc..1f7774c8a 100644 --- a/tests/testthat/test-check_predictions.R +++ b/tests/testthat/test-check_predictions.R @@ -35,6 +35,7 @@ test_that("check_predictions", { test_that("check_predictions, glmmTMB", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") data(mtcars) model <- glmmTMB::glmmTMB(vs ~ disp, data = mtcars, family = binomial()) diff --git a/tests/testthat/test-check_residuals.R b/tests/testthat/test-check_residuals.R index 33407abf9..9be029c0c 100644 --- a/tests/testthat/test-check_residuals.R +++ b/tests/testthat/test-check_residuals.R @@ -1,10 +1,61 @@ -test_that("check_singularity, lme4", { +test_that("check_residuals and simulate_residuals", { skip_on_cran() skip_if_not_installed("DHARMa") set.seed(123) dat <- DHARMa::createData(sampleSize = 100, overdispersion = 0.5, family = poisson()) m <- glm(observedResponse ~ Environment1, family = poisson(), data = dat) res <- simulate_residuals(m) + expect_identical( + capture.output(print(res)), + c( + "Simulated residuals from a model of class `glm` based on 250", + " simulations. Use `check_residuals()` to check uniformity of residuals or", + " `residuals()` to extract simulated residuals. It is recommended to refer", + " to `?DHARMa::simulateResiudals` and `vignette(\"DHARMa\")` for more", + " information about different settings in particular situations or for", + " particular models." + ) + ) + # check raw residuals + expect_equal( + head(residuals(res)), + c(0.55349, 0.44012, 0.39826, 0.9825, 0.90753, 0.05809), + tolerance = 1e-4, + ignore_attr = TRUE + ) + expect_equal( + head(residuals(res, quantile_function = stats::qnorm)), + c(0.13448, -0.15068, -0.25785, 2.10826, 1.3257, -1.57097), + tolerance = 1e-4, + ignore_attr = TRUE + ) + # compare to DHARMa + res_d <- DHARMa::simulateResiduals(m, n = 250, plot = FALSE) + expect_equal( + head(residuals(res)), + head(residuals(res_d)), + tolerance = 1e-4, + ignore_attr = TRUE + ) + expect_equal( + head(residuals(res, quantile_function = stats::qnorm)), + head(residuals(res_d, quantileFunction = stats::qnorm)), + tolerance = 1e-4, + ignore_attr = TRUE + ) + # DHARMa args work in residuals.permormance_simres + expect_equal( + residuals(res, quantileFunction = stats::qnorm, outlierValues = c(-3, 3)), + residuals(res_d, quantileFunction = stats::qnorm, outlierValues = c(-3, 3)), + tolerance = 1e-4, + ignore_attr = TRUE + ) + # outlier_values works + expect_identical(sum(is.infinite(residuals(res, quantile_function = stats::qnorm))), 3L) + expect_identical(sum(is.infinite(residuals(res, quantile_function = stats::qnorm, outlier_values = c(-100, 100)))), 0L) # nolint + expect_error(residuals(res, quantile_function = stats::qnorm, outlier_values = 1:3), regex = "`outlier_values` must be") # nolint + + # check_residuals out <- check_residuals(res) expect_equal(out, 0.01884602, ignore_attr = TRUE, tolerance = 1e-4) expect_identical( diff --git a/tests/testthat/test-check_zeroinflation.R b/tests/testthat/test-check_zeroinflation.R index 38a5c7726..a7ff7cbbd 100644 --- a/tests/testthat/test-check_zeroinflation.R +++ b/tests/testthat/test-check_zeroinflation.R @@ -1,4 +1,5 @@ test_that("check_zeroinflation", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") set.seed(123) data(Salamanders, package = "glmmTMB") @@ -21,6 +22,7 @@ test_that("check_zeroinflation", { test_that("check_zeroinflation, glmmTMB with and without zero-inflation component", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") skip_if_not_installed("DHARMa") set.seed(123) @@ -107,6 +109,7 @@ test_that("check_zeroinflation, glmer.nb", { test_that("check_zeroinflation, glmmTMB nbinom", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") skip_if_not_installed("DHARMa") skip_on_cran() @@ -163,6 +166,7 @@ test_that("check_zeroinflation, MASS::negbin", { test_that("check_zeroinflation, genpois", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") skip_if_not_installed("DHARMa") skip_if_not(getRversion() >= "4.0.0") diff --git a/tests/testthat/test-icc.R b/tests/testthat/test-icc.R index ad4e4b033..68624ff09 100644 --- a/tests/testthat/test-icc.R +++ b/tests/testthat/test-icc.R @@ -90,12 +90,12 @@ test_that("icc", { skip_if_not_installed("lme4") data(sleepstudy, package = "lme4") set.seed(12345) - sleepstudy$grp <- sample(1:5, size = 180, replace = TRUE) + sleepstudy$grp <- sample.int(5, size = 180, replace = TRUE) sleepstudy$subgrp <- NA for (i in 1:5) { filter_group <- sleepstudy$grp == i sleepstudy$subgrp[filter_group] <- - sample(1:30, size = sum(filter_group), replace = TRUE) + sample.int(30, size = sum(filter_group), replace = TRUE) } model <- lme4::lmer( Reaction ~ Days + (1 | grp) + (1 | Subject), @@ -125,3 +125,50 @@ test_that("icc", { expect_equal(out$ICC_adjusted, 0.9104331, tolerance = 0.01) expect_equal(out$ICC_unadjusted, 0.3109478, tolerance = 0.01) }) + + +test_that("icc, glmmTMB 1.1.9+", { + skip_on_cran() + skip_if_not_installed("glmmTMB", minimum_version = "1.1.9") + set.seed(101) + dd <- data.frame( + z = rnorm(1000), + x1 = 1:1000, + x2 = runif(1000, 0, 10), + re = rep(1:20, each = 50) + ) + dd <- transform(dd, x3 = as.factor(ifelse( + x1 <= 500, "Low", sample(c("Middle", "High"), 1000, replace = TRUE) + ))) + dd <- transform(dd, x4 = as.factor(ifelse( + x1 > 500, "High", sample(c("Absent", "Low"), 1000, replace = TRUE) + ))) + dd <- transform(dd, z = z + re * 5) + expect_message({ + mod_TMB <- glmmTMB::glmmTMB( + z ~ x1 + x2 + x3 + x4 + (1 | re), + data = dd, + start = list(theta = 3), + control = glmmTMB::glmmTMBControl(rank_check = "adjust") + ) + }) + expect_equal( + icc(mod_TMB), + data.frame( + ICC_adjusted = 0.995480998331767, + ICC_conditional = 0.244468078371849, + ICC_unadjusted = 0.244468078371849 + ), + ignore_attr = TRUE, + tolerance = 1e-4 + ) + expect_equal( + r2(mod_TMB), + list( + R2_conditional = c(`Conditional R2` = 0.998890233308478), + R2_marginal = c(`Marginal R2` = 0.754422154936629) + ), + ignore_attr = TRUE, + tolerance = 1e-4 + ) +}) diff --git a/tests/testthat/test-r2.R b/tests/testthat/test-r2.R index d287604a1..f521b3aab 100644 --- a/tests/testthat/test-r2.R +++ b/tests/testthat/test-r2.R @@ -46,6 +46,7 @@ skip_if_not_installed("withr") withr::with_environment( new.env(), test_that("r2 glmmTMB, no ranef", { + skip_if(getRversion() > "4.3.3") skip_if_not_installed("glmmTMB") data(Owls, package = "glmmTMB") # linear --------------------------------------------------------------- diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd index 7338aea4e..f1a627147 100644 --- a/vignettes/simulate_residuals.Rmd +++ b/vignettes/simulate_residuals.Rmd @@ -27,7 +27,7 @@ knitr::opts_chunk$set( ) options(digits = 2) -pkgs <- c("DHARMa", "glmmTMB") +pkgs <- c("DHARMa", "glmmTMB", "see") successfully_loaded <- vapply(pkgs, requireNamespace, FUN.VALUE = logical(1L), quietly = TRUE) can_evaluate <- all(successfully_loaded) @@ -61,13 +61,18 @@ simulated_residuals <- simulate_residuals(model) simulated_residuals ``` +The raw residuals can be extracted using `residuals()`: + +```{r} +head(residuals(simulated_residuals)) +``` + + Note that since this inherits the DHARMa class, all the methods implemented in DHARMa just work, including all the tests: ```{r} library(DHARMa) -residuals(simulated_residuals) - DHARMa::testUniformity(simulated_residuals, plot = FALSE) ``` @@ -78,17 +83,26 @@ Finally, run specific checks on the simulated residuals: check_residuals(simulated_residuals) ``` -Or check the entire model. +Further implemented checks are tests for overdispersion, outliers and zero-inflation. + +```{r} +check_overdispersion(simulated_residuals) + +check_zeroinflation(simulated_residuals) + +check_outliers(simulated_residuals) +``` + +The above three functions internally call `simulate_residuals()` for more complex models automatically, so you don't need to call `simulate_residuals()` yourself. Simulated residuals are usually more reliable than the standard residuals, especially for complex models. + +Finally, you can even perform a visual check for the entire model, either by passing the model object directly, or the object returned from `simulate_residuals()`. -```{r, eval=FALSE} -# TODO (not implemented) +```{r, eval=can_evaluate && packageVersion("see") > "0.8.2"} check_model(simulated_residuals) ``` -The `check_model()` function is the main reason we don't want to prematurely extract the residuals in `simulate_residuals()`, because if we do then the `simulated_residuals` won't contain the model fit (`fittedModel` in the output below), so we won't be able to do all of the checks we would want to do using the model (e.g., posterior predictive checks). +The `check_model()` function is the main reason we don't want to prematurely extract the residuals in `simulate_residuals()`, because if we do then the simulated residual won't contain the model fit (`fittedModel` in the output below), so we won't be able to do all of the checks we would want to do using the model (e.g., posterior predictive checks). ```{r} str(simulated_residuals, max.level = 1) ``` - -It would also mean we would need to reimplement some of the tests from DHARMa (e.g., `DHARMa::testOutliers()`) if we're planning to include those checks as well. We probably don't want to do that, since some of them are fairly involved rather than just being wrappers for tests supplied in base R (e.g., ) . From 5990f365a3788de804c851b6ffbbdcbd88e1ebf8 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 23 Mar 2024 10:22:55 +0100 Subject: [PATCH 060/100] Update simulate_residuals.Rmd --- vignettes/simulate_residuals.Rmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd index f1a627147..969f2fa66 100644 --- a/vignettes/simulate_residuals.Rmd +++ b/vignettes/simulate_residuals.Rmd @@ -79,13 +79,13 @@ DHARMa::testUniformity(simulated_residuals, plot = FALSE) Finally, run specific checks on the simulated residuals: -```{r} +```{r message=TRUE} check_residuals(simulated_residuals) ``` Further implemented checks are tests for overdispersion, outliers and zero-inflation. -```{r} +```{r message=TRUE} check_overdispersion(simulated_residuals) check_zeroinflation(simulated_residuals) From 2ac89beb324bf33d592e4b79d7a36e10c0104505 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 23 Mar 2024 19:57:50 +0100 Subject: [PATCH 061/100] minor --- vignettes/simulate_residuals.Rmd | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd index 969f2fa66..d33842a74 100644 --- a/vignettes/simulate_residuals.Rmd +++ b/vignettes/simulate_residuals.Rmd @@ -19,11 +19,12 @@ library(knitr) library(performance) options(knitr.kable.NA = "") knitr::opts_chunk$set( - comment = ">", + comment = "#>", message = FALSE, warning = FALSE, out.width = "100%", - dpi = 450 + dpi = 450, + tidy.opts = list(width.cutoff = 120) ) options(digits = 2) From 5de0cf83fe05f2edfdc61d0bf08ebcb873c2e063 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 24 Mar 2024 21:04:34 +0100 Subject: [PATCH 062/100] Update simulate_residuals.Rmd --- vignettes/simulate_residuals.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd index d33842a74..29dd0251b 100644 --- a/vignettes/simulate_residuals.Rmd +++ b/vignettes/simulate_residuals.Rmd @@ -3,7 +3,7 @@ title: "Checking simulated residuals" output: rmarkdown::html_vignette: toc: true - fig_width: 10.08 + fig_width: 10 fig_height: 6 tags: [r, performance] vignette: > From b9f0079681891821fa76d9ee63eaf53701cdcfd8 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 24 Mar 2024 21:32:19 +0100 Subject: [PATCH 063/100] Update simulate_residuals.Rmd --- vignettes/simulate_residuals.Rmd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd index 29dd0251b..0d678b719 100644 --- a/vignettes/simulate_residuals.Rmd +++ b/vignettes/simulate_residuals.Rmd @@ -3,8 +3,6 @@ title: "Checking simulated residuals" output: rmarkdown::html_vignette: toc: true - fig_width: 10 - fig_height: 6 tags: [r, performance] vignette: > \usepackage[utf8]{inputenc} @@ -22,8 +20,10 @@ knitr::opts_chunk$set( comment = "#>", message = FALSE, warning = FALSE, + fig.width = 7, + fig.height = 5, out.width = "100%", - dpi = 450, + dpi = 300, tidy.opts = list(width.cutoff = 120) ) options(digits = 2) From f471e71e05cf268713f22825472950c41bf4b3d3 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 24 Mar 2024 21:43:55 +0100 Subject: [PATCH 064/100] Update simulate_residuals.Rmd --- vignettes/simulate_residuals.Rmd | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd index 0d678b719..ee3364399 100644 --- a/vignettes/simulate_residuals.Rmd +++ b/vignettes/simulate_residuals.Rmd @@ -15,17 +15,17 @@ editor_options: ```{r , include=FALSE} library(knitr) library(performance) -options(knitr.kable.NA = "") knitr::opts_chunk$set( + dpi = 300, + out.width = "100%", + collapse = TRUE, comment = "#>", - message = FALSE, - warning = FALSE, fig.width = 7, fig.height = 5, - out.width = "100%", - dpi = 300, - tidy.opts = list(width.cutoff = 120) + warning = FALSE, + message = FALSE ) +options(knitr.kable.NA = "") options(digits = 2) pkgs <- c("DHARMa", "glmmTMB", "see") From 66e8079cb436899744c9feb21ebc9a2b65fef377 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 24 Mar 2024 22:01:30 +0100 Subject: [PATCH 065/100] Update simulate_residuals.Rmd --- vignettes/simulate_residuals.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd index ee3364399..041d5596a 100644 --- a/vignettes/simulate_residuals.Rmd +++ b/vignettes/simulate_residuals.Rmd @@ -16,7 +16,7 @@ editor_options: library(knitr) library(performance) knitr::opts_chunk$set( - dpi = 300, + dpi = 450, out.width = "100%", collapse = TRUE, comment = "#>", From feca1cd3a3d0a9f0543d548fe9e557169d8ea5e2 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 24 Mar 2024 22:32:34 +0100 Subject: [PATCH 066/100] Update simulate_residuals.Rmd --- vignettes/simulate_residuals.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd index 041d5596a..8d751fe87 100644 --- a/vignettes/simulate_residuals.Rmd +++ b/vignettes/simulate_residuals.Rmd @@ -16,7 +16,7 @@ editor_options: library(knitr) library(performance) knitr::opts_chunk$set( - dpi = 450, + dpi = 600, out.width = "100%", collapse = TRUE, comment = "#>", From ae6b05a82fe2f1777c11f06509b3ebb9d6430b7a Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 09:27:08 +0100 Subject: [PATCH 067/100] minor --- vignettes/simulate_residuals.Rmd | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd index 8d751fe87..0c968cdb0 100644 --- a/vignettes/simulate_residuals.Rmd +++ b/vignettes/simulate_residuals.Rmd @@ -3,6 +3,8 @@ title: "Checking simulated residuals" output: rmarkdown::html_vignette: toc: true + fig_width: 10.08 + fig_height: 6 tags: [r, performance] vignette: > \usepackage[utf8]{inputenc} @@ -14,14 +16,11 @@ editor_options: ```{r , include=FALSE} library(knitr) -library(performance) knitr::opts_chunk$set( dpi = 600, out.width = "100%", collapse = TRUE, comment = "#>", - fig.width = 7, - fig.height = 5, warning = FALSE, message = FALSE ) @@ -45,18 +44,17 @@ The basic workflow for simulated residual checks using `simulate_residuals()` is First, fit a model: ```{r} -library(glmmTMB) - -model <- glmmTMB( +model <- glmmTMB::glmmTMB( count ~ mined + spp + (1 | site), family = poisson, - data = Salamanders + data = glmmTMB::Salamanders ) ``` Next, simulate residuals from the model: ```{r} +library(performance) simulated_residuals <- simulate_residuals(model) simulated_residuals @@ -73,7 +71,6 @@ head(residuals(simulated_residuals)) Note that since this inherits the DHARMa class, all the methods implemented in DHARMa just work, including all the tests: ```{r} -library(DHARMa) DHARMa::testUniformity(simulated_residuals, plot = FALSE) ``` From 28a5fa7765eb9650b1a725a4ffae0e214e225aa7 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 11:58:12 +0100 Subject: [PATCH 068/100] case study vignette --- _pkgdown.yaml | 5 + vignettes/check_model_practical.Rmd | 214 +++++++++++++++++++++++++++ vignettes/images/figure_workflow.png | Bin 0 -> 83313 bytes 3 files changed, 219 insertions(+) create mode 100644 vignettes/check_model_practical.Rmd create mode 100644 vignettes/images/figure_workflow.png diff --git a/_pkgdown.yaml b/_pkgdown.yaml index 3ac6db6fc..f4efe80c1 100644 --- a/_pkgdown.yaml +++ b/_pkgdown.yaml @@ -58,3 +58,8 @@ articles: contents: - compare - r2 + + - title: Case Studies + navbar: ~ + contents: + - check_model_practical diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd new file mode 100644 index 000000000..33f817b3a --- /dev/null +++ b/vignettes/check_model_practical.Rmd @@ -0,0 +1,214 @@ +--- +title: "How to arrive at the best model fit" +output: + rmarkdown::html_vignette: + toc: true + fig_width: 11 + fig_height: 8 +tags: [r, performance] +vignette: > + \usepackage[utf8]{inputenc} + %\VignetteIndexEntry{How to arrive at the best model fit} + %\VignetteEngine{knitr::rmarkdown} +editor_options: + chunk_output_type: console +--- + +```{r , include=FALSE} +library(knitr) +knitr::opts_chunk$set( + dpi = 600, + out.width = "100%", + collapse = TRUE, + comment = "#>", + warning = FALSE, + message = FALSE +) +options(knitr.kable.NA = "") +options(digits = 2) + +pkgs <- c("DHARMa", "glmmTMB", "see", "parameters") +successfully_loaded <- vapply(pkgs, requireNamespace, FUN.VALUE = logical(1L), quietly = TRUE) +can_evaluate <- all(successfully_loaded) + +if (can_evaluate) { + knitr::opts_chunk$set(eval = TRUE) + vapply(pkgs, require, FUN.VALUE = logical(1L), quietly = TRUE, character.only = TRUE) +} else { + knitr::opts_chunk$set(eval = FALSE) +} +``` + +This vignette shows how to use the *performance* package to check the fit of a model, how to detect misspecification and how to improve your model. The basic workflow of the *performance* package can be summarized as follows: + +- fit a regression model +- check the model fit and assess model fit indices +- if necessary, fit another model that could potentially improve the fit +- compare the model fit indices and perform statistical tests to determine which model is the best fit + +![Workflow of the performance package](images/figure_workflow.png){width="100%"} + +In the following, we will demonstrate this workflow using a model with a count response variable. We will fit a Poisson regression model to the Salamanders dataset from the *glmmTMB* package. The dataset contains counts of salamanders in different sites, along with information on the number of mines and the species of salamanders. We will check the model fit and assess the model fit indices. + +Problems that may arise with count response variables are _zero inflation_ and _overdispersion_. Zero inflation occurs when there are more zeros in the data than expected under the Poisson distribution. Overdispersion occurs when the variance of the data is greater than the mean, which violates the assumption of equidispersion in the Poisson distribution. + +We will check for these problems and suggest ways to improve the model fit, i.e. if necessary, we will fit another model that could potentially improve the fit. Finally, we will compare the model fit indices and perform statistical tests to determine which model is the best fit. + +## Fit the initial model + +We start with a generalized mixed effects model, using a Poisson distribution. + +```{r} +library(performance) +model1 <- glmmTMB::glmmTMB( + count ~ mined + spp + (1 | site), + family = poisson, + data = glmmTMB::Salamanders +) +``` + +First, let us look at the summary of the model. + +```{r} +library(parameters) +model_parameters(model1) +``` + +We see a lot of statistically significant estimates here. No matter, which [philosophy](https://easystats.github.io/parameters/reference/p_function.html) you follow, our conclusions we draw from statistical models will be inaccurate if our modeling assumptions are a poor fit for the situation. Hence, checking model fit is essential. + +In *performance*, we can conducte a comprehensive visual inspection of our model fit using `check_model()`. We won't go into details of all the plots here, but you can find more information on all created diagnostic plots in the [dedicated vignette](https://easystats.github.io/performance/articles/check_model.html). + +For now, we want to focus on the _posterior predictive checks_, _dispersion and zero-inflation_ as well as the Q-Q plot (_uniformity of residuals_). + +```{r} +check_model(model1, dot_size = 1.2) +``` + +Note that unlike `plot()`, which is a base R function to create diagnostic plots, `check_model()` relies on *simulated residuals* for the Q-Q plot, which is more accurate for non-Gaussian models. See [this vignette](https://easystats.github.io/performance/articles/simulate_residuals.html) and the documentation of `simulated_residuals()` for further details. + +The above plot suggests that we may have issues with overdispersion and/or zero-inflation. We can check for these problems using `check_overdispersion()` and `check_zeroinflation()`, which will perform statistical tests (based on simulated residuals). These tests can additionally be used beyond the visual inspection. + +```{r} +check_overdispersion(model1) + +check_zeroinflation(model1) +``` + +As we can see, our model seems to suffer both from overdispersion and zero-inflation. + +## First attemot at improving the model fit + +We can try to improve the model fit by fitting a model with zero-inflation component: + +```{r} +model2 <- glmmTMB::glmmTMB( + count ~ mined + spp + (1 | site), + ziformula = ~ mined + spp, + family = poisson, + data = glmmTMB::Salamanders +) +check_model(model2, dot_size = 1.2) +``` + +Looking at the above plots, the zero-inflation seems to be addressed properpy (see especially _posterior predictive checks_ and _uniformity of residuals_, the Q-Q plot). However, the overdispersion still could present. We can check for these problems using `check_overdispersion()` and `check_zeroinflation()` again. + +```{r} +check_overdispersion(model2) + +check_zeroinflation(model2) +``` + +Indeed, the overdispersion is still present. + +## Second attemot at improving the model fit + +We can try to address this issue by fitting a negative binomial model instead of using a Poisson distribution. + +```{r} +model3 <- glmmTMB::glmmTMB( + count ~ mined + spp + (1 | site), + ziformula = ~ mined + spp, + family = glmmTMB::nbinom1, + data = glmmTMB::Salamanders +) +check_model(model3, dot_size = 1.2) +``` + +Now we see that the plot showing _misspecified dispersion and zero-inflation_ suggests that the overdispersion is addressed properly. Let us check again: + +```{r} +check_overdispersion(model3) + +check_zeroinflation(model3) +``` + +## Comparing model fit indices + +There are different model fit indices that can be used to compare models. For our purpose, we rely on the Akaike Information Criterion (AIC), the corrected Akaike Information Criterion (AICc), the Bayesian Information Criterion (BIC), and the Proper Scoring Rules. We can compare the models using `compare_performance()` and `plot()`. + +```{r} +result <- compare_performance( + model1, model2, model3, + metrics = c("AIC", "AICc", "BIC", "SCORE") +) +result + +plot(result) +``` + +The weighted AIC and BIC range from 0 to 1, indicating better model fit the closer the value is to 1. The AICc is a corrected version of the AIC for small sample sizes. The Proper Scoring Rules range from -Inf to 0, with higher values (i.e. closer to 0) indicating better model fit. + +The above results suggest that indeed our third model is the best fit. + +## Statistical tests for model comparison + +We can also perform statistical tests to determine which model is the best fit using `test_performance()` or `anova()`. `test_performance()` automatically selects an appropriate test based on the model family. You can also call the different tests, like `test_likelihoodratio()`, `test_bf()`, `test_wald()` or `test_vuong()` directly. + +```{r} +test_performance(model1, model2, model3) +``` + +We see, first, that `test_performance()` used the Bayes factor (based on BIC comparison) to compare the models. And second, that both the second and third model seem to be significantly better than the first model. + +Now we compare the second against the third model +```{r} +test_performance(model2, model3) + +test_likelihoodratio(model2, model3) +``` + +We see that both the Bayes factor and likelihood ratio test suggest that the third model is significantly better than the second model. + +What does this mean for our inference? + +```{r} +model_parameters(model3) +``` + +Obviously, although we might have found the best fitting model, coefficients for the _zero-inflation_ component of our model look rather spurious. We have *very* high coefficients here. We still might find a better distributional family for our model, and try `nbinom2` now. + +```{r} +model4 <- glmmTMB::glmmTMB( + count ~ mined + spp + (1 | site), + ziformula = ~ mined + spp, + family = glmmTMB::nbinom2, + data = glmmTMB::Salamanders +) +check_model(model4, dot_size = 1.2) + +check_overdispersion(model4) + +check_zeroinflation(model4) + +test_likelihoodratio(model3, model4) + +model_parameters(model4) +``` + +Based on these results, we might even go with `model4`. + +# Conclusion + +Statistics is hard. It is not just about fitting a model, but also about checking the model fit and improving the model. This also requires domain knowledge to consider whether all relevant predictors are included in the model (and whether all included predictors are relevant!). + +The *performance* package provides a comprehensive set of tools to help you with this task. We have demonstrated how to use these tools to check the fit of a model, detect misspecification, and improve the model. We have also shown how to compare the model fit indices and perform statistical tests to determine which model is the best fit. We hope this vignette has been helpful in guiding you through this process. diff --git a/vignettes/images/figure_workflow.png b/vignettes/images/figure_workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..2d826c203995c78e1c85b12656810b6a972c1207 GIT binary patch literal 83313 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 literal 0 HcmV?d00001 From b66db2368019abf5c3968d9ecf9ce97609494523 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 12:01:51 +0100 Subject: [PATCH 069/100] spelling --- inst/WORDLIST | 2 ++ vignettes/check_model_practical.Rmd | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/inst/WORDLIST b/inst/WORDLIST index be923aed4..617ca698f 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -253,6 +253,7 @@ discriminations doi easystats et +equidispersion explicitely favour fixest @@ -284,6 +285,7 @@ mfx mhurdle mis misspecification +misspecified mlm mlogit modelfit diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index 33f817b3a..e3b5d78e2 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -76,7 +76,7 @@ model_parameters(model1) We see a lot of statistically significant estimates here. No matter, which [philosophy](https://easystats.github.io/parameters/reference/p_function.html) you follow, our conclusions we draw from statistical models will be inaccurate if our modeling assumptions are a poor fit for the situation. Hence, checking model fit is essential. -In *performance*, we can conducte a comprehensive visual inspection of our model fit using `check_model()`. We won't go into details of all the plots here, but you can find more information on all created diagnostic plots in the [dedicated vignette](https://easystats.github.io/performance/articles/check_model.html). +In *performance*, we can conduct a comprehensive visual inspection of our model fit using `check_model()`. We won't go into details of all the plots here, but you can find more information on all created diagnostic plots in the [dedicated vignette](https://easystats.github.io/performance/articles/check_model.html). For now, we want to focus on the _posterior predictive checks_, _dispersion and zero-inflation_ as well as the Q-Q plot (_uniformity of residuals_). @@ -96,7 +96,7 @@ check_zeroinflation(model1) As we can see, our model seems to suffer both from overdispersion and zero-inflation. -## First attemot at improving the model fit +## First attempt at improving the model fit We can try to improve the model fit by fitting a model with zero-inflation component: @@ -110,7 +110,7 @@ model2 <- glmmTMB::glmmTMB( check_model(model2, dot_size = 1.2) ``` -Looking at the above plots, the zero-inflation seems to be addressed properpy (see especially _posterior predictive checks_ and _uniformity of residuals_, the Q-Q plot). However, the overdispersion still could present. We can check for these problems using `check_overdispersion()` and `check_zeroinflation()` again. +Looking at the above plots, the zero-inflation seems to be addressed properly (see especially _posterior predictive checks_ and _uniformity of residuals_, the Q-Q plot). However, the overdispersion still could present. We can check for these problems using `check_overdispersion()` and `check_zeroinflation()` again. ```{r} check_overdispersion(model2) From ed8dc8cccc1d360daebdae02e12441951eebefe2 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 12:10:01 +0100 Subject: [PATCH 070/100] fixes --- DESCRIPTION | 1 + vignettes/check_model_practical.Rmd | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 68ce7de42..9060334f5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -154,3 +154,4 @@ Config/Needs/website: r-lib/pkgdown, easystats/easystatstemplate Config/rcmdcheck/ignore-inconsequential-notes: true +Remotes: easystats/see diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index e3b5d78e2..c5610715b 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -120,7 +120,7 @@ check_zeroinflation(model2) Indeed, the overdispersion is still present. -## Second attemot at improving the model fit +## Second attempt at improving the model fit We can try to address this issue by fitting a negative binomial model instead of using a Poisson distribution. From a9b154b420abea6d93fab50489aeff992a3ac2ff Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 12:11:22 +0100 Subject: [PATCH 071/100] no caption --- vignettes/check_model_practical.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index c5610715b..e97b9f839 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -46,7 +46,7 @@ This vignette shows how to use the *performance* package to check the fit of a m - if necessary, fit another model that could potentially improve the fit - compare the model fit indices and perform statistical tests to determine which model is the best fit -![Workflow of the performance package](images/figure_workflow.png){width="100%"} +![](images/figure_workflow.png){width="100%"} In the following, we will demonstrate this workflow using a model with a count response variable. We will fit a Poisson regression model to the Salamanders dataset from the *glmmTMB* package. The dataset contains counts of salamanders in different sites, along with information on the number of mines and the species of salamanders. We will check the model fit and assess the model fit indices. From ab48c3b40a3f6e4a7b77350d56f8775d9eb4e8f8 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 12:12:25 +0100 Subject: [PATCH 072/100] tweak --- vignettes/check_model_practical.Rmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index e97b9f839..10ef9d7b6 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -3,8 +3,8 @@ title: "How to arrive at the best model fit" output: rmarkdown::html_vignette: toc: true - fig_width: 11 - fig_height: 8 + fig_width: 15 + fig_height: 15 tags: [r, performance] vignette: > \usepackage[utf8]{inputenc} From 2890c8129dc76db587a5f14aa4799ae757a9eed3 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 12:13:13 +0100 Subject: [PATCH 073/100] typo --- vignettes/check_model_practical.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index 10ef9d7b6..b02c20cab 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -84,7 +84,7 @@ For now, we want to focus on the _posterior predictive checks_, _dispersion and check_model(model1, dot_size = 1.2) ``` -Note that unlike `plot()`, which is a base R function to create diagnostic plots, `check_model()` relies on *simulated residuals* for the Q-Q plot, which is more accurate for non-Gaussian models. See [this vignette](https://easystats.github.io/performance/articles/simulate_residuals.html) and the documentation of `simulated_residuals()` for further details. +Note that unlike `plot()`, which is a base R function to create diagnostic plots, `check_model()` relies on *simulated residuals* for the Q-Q plot, which is more accurate for non-Gaussian models. See [this vignette](https://easystats.github.io/performance/articles/simulate_residuals.html) and the documentation of `simulate_residuals()` for further details. The above plot suggests that we may have issues with overdispersion and/or zero-inflation. We can check for these problems using `check_overdispersion()` and `check_zeroinflation()`, which will perform statistical tests (based on simulated residuals). These tests can additionally be used beyond the visual inspection. From 21f16e4fef5216936e6e860fa7495610296aa91d Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 12:14:03 +0100 Subject: [PATCH 074/100] allow messages --- vignettes/check_model_practical.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index b02c20cab..30a32b1ad 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -22,7 +22,7 @@ knitr::opts_chunk$set( collapse = TRUE, comment = "#>", warning = FALSE, - message = FALSE + message = TRUE ) options(knitr.kable.NA = "") options(digits = 2) From 2710289e18d87ad795d9fa1118de9b8dc56699a0 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 12:14:25 +0100 Subject: [PATCH 075/100] minor --- vignettes/check_model_practical.Rmd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index 30a32b1ad..2ef9af6f2 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -41,10 +41,10 @@ if (can_evaluate) { This vignette shows how to use the *performance* package to check the fit of a model, how to detect misspecification and how to improve your model. The basic workflow of the *performance* package can be summarized as follows: -- fit a regression model -- check the model fit and assess model fit indices -- if necessary, fit another model that could potentially improve the fit -- compare the model fit indices and perform statistical tests to determine which model is the best fit +- fit a regression model +- check the model fit and assess model fit indices +- if necessary, fit another model that could potentially improve the fit +- compare the model fit indices and perform statistical tests to determine which model is the best fit ![](images/figure_workflow.png){width="100%"} From 3460cb3c015d4cb3432a446185cae6458c85c8d0 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 12:16:55 +0100 Subject: [PATCH 076/100] resize img --- vignettes/check_model_practical.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index 2ef9af6f2..d3353ba58 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -46,7 +46,7 @@ This vignette shows how to use the *performance* package to check the fit of a m - if necessary, fit another model that could potentially improve the fit - compare the model fit indices and perform statistical tests to determine which model is the best fit -![](images/figure_workflow.png){width="100%"} +![](images/figure_workflow.png){width="75%"} In the following, we will demonstrate this workflow using a model with a count response variable. We will fit a Poisson regression model to the Salamanders dataset from the *glmmTMB* package. The dataset contains counts of salamanders in different sites, along with information on the number of mines and the species of salamanders. We will check the model fit and assess the model fit indices. From 36079584f1cc752eee2016225a1963274bf40a3f Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 12:40:51 +0100 Subject: [PATCH 077/100] tweak img --- vignettes/check_model_practical.Rmd | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index d3353ba58..db34c5a21 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -3,8 +3,8 @@ title: "How to arrive at the best model fit" output: rmarkdown::html_vignette: toc: true - fig_width: 15 - fig_height: 15 + fig_width: 18 + fig_height: 18 tags: [r, performance] vignette: > \usepackage[utf8]{inputenc} @@ -18,7 +18,8 @@ editor_options: library(knitr) knitr::opts_chunk$set( dpi = 600, - out.width = "100%", + out.width = "90%", + out.height = "90%", collapse = TRUE, comment = "#>", warning = FALSE, From 38da349a8f0acced49eaf765db05535742d41098 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 12:55:46 +0100 Subject: [PATCH 078/100] tweak img --- vignettes/check_model_practical.Rmd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index db34c5a21..b45f6afe8 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -3,8 +3,8 @@ title: "How to arrive at the best model fit" output: rmarkdown::html_vignette: toc: true - fig_width: 18 - fig_height: 18 + fig_width: 19 + fig_height: 19 tags: [r, performance] vignette: > \usepackage[utf8]{inputenc} @@ -18,8 +18,8 @@ editor_options: library(knitr) knitr::opts_chunk$set( dpi = 600, - out.width = "90%", - out.height = "90%", + out.width = "100%", + out.height = "100%", collapse = TRUE, comment = "#>", warning = FALSE, From 012a2497da3f8f50aa8b02c479c217e9b207d183 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 12:56:25 +0100 Subject: [PATCH 079/100] typo --- NEWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index b12a34e96..1ff9ab142 100644 --- a/NEWS.md +++ b/NEWS.md @@ -58,7 +58,7 @@ `performance_aic()`. * Improved plots for overdispersion-checks for negative-binomial models from - package *glmmTMB* (affects `check_overdispersion()` and `check_mnodel()`). + package *glmmTMB* (affects `check_overdispersion()` and `check_model()`). * Improved detection rates for singularity in `check_singularity()` for models from package *glmmTMB*. From bd545fa5fe91ef292fc3670169887faa8a878d03 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 13:26:34 +0100 Subject: [PATCH 080/100] test --- vignettes/check_model_practical.Rmd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index b45f6afe8..93001c488 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -3,8 +3,8 @@ title: "How to arrive at the best model fit" output: rmarkdown::html_vignette: toc: true - fig_width: 19 - fig_height: 19 + fig_width: 12 + fig_height: 12 tags: [r, performance] vignette: > \usepackage[utf8]{inputenc} @@ -17,7 +17,7 @@ editor_options: ```{r , include=FALSE} library(knitr) knitr::opts_chunk$set( - dpi = 600, + dpi = 1200, out.width = "100%", out.height = "100%", collapse = TRUE, From ee02385f5d122e16fd5596a6bd8d48482a10a207 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 13:29:02 +0100 Subject: [PATCH 081/100] fix --- vignettes/check_model_practical.Rmd | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index 93001c488..0e9e1f943 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -3,8 +3,6 @@ title: "How to arrive at the best model fit" output: rmarkdown::html_vignette: toc: true - fig_width: 12 - fig_height: 12 tags: [r, performance] vignette: > \usepackage[utf8]{inputenc} @@ -17,7 +15,9 @@ editor_options: ```{r , include=FALSE} library(knitr) knitr::opts_chunk$set( - dpi = 1200, + dpi = 300, + fig.width = 7, + fig.height = 5, out.width = "100%", out.height = "100%", collapse = TRUE, @@ -81,7 +81,7 @@ In *performance*, we can conduct a comprehensive visual inspection of our model For now, we want to focus on the _posterior predictive checks_, _dispersion and zero-inflation_ as well as the Q-Q plot (_uniformity of residuals_). -```{r} +```{r fig.height=12, fig.width=10} check_model(model1, dot_size = 1.2) ``` @@ -101,7 +101,7 @@ As we can see, our model seems to suffer both from overdispersion and zero-infla We can try to improve the model fit by fitting a model with zero-inflation component: -```{r} +```{r fig.height=12, fig.width=10} model2 <- glmmTMB::glmmTMB( count ~ mined + spp + (1 | site), ziformula = ~ mined + spp, @@ -125,7 +125,7 @@ Indeed, the overdispersion is still present. We can try to address this issue by fitting a negative binomial model instead of using a Poisson distribution. -```{r} +```{r fig.height=12, fig.width=10} model3 <- glmmTMB::glmmTMB( count ~ mined + spp + (1 | site), ziformula = ~ mined + spp, @@ -188,7 +188,7 @@ model_parameters(model3) Obviously, although we might have found the best fitting model, coefficients for the _zero-inflation_ component of our model look rather spurious. We have *very* high coefficients here. We still might find a better distributional family for our model, and try `nbinom2` now. -```{r} +```{r fig.height=12, fig.width=10} model4 <- glmmTMB::glmmTMB( count ~ mined + spp + (1 | site), ziformula = ~ mined + spp, From 271f2510b5f5e936293eb98a91ddaa3b02d2057e Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 14:03:59 +0100 Subject: [PATCH 082/100] typo --- vignettes/check_model_practical.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index 0e9e1f943..fbb473210 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -111,7 +111,7 @@ model2 <- glmmTMB::glmmTMB( check_model(model2, dot_size = 1.2) ``` -Looking at the above plots, the zero-inflation seems to be addressed properly (see especially _posterior predictive checks_ and _uniformity of residuals_, the Q-Q plot). However, the overdispersion still could present. We can check for these problems using `check_overdispersion()` and `check_zeroinflation()` again. +Looking at the above plots, the zero-inflation seems to be addressed properly (see especially _posterior predictive checks_ and _uniformity of residuals_, the Q-Q plot). However, the overdispersion still could be present. We can check for these problems using `check_overdispersion()` and `check_zeroinflation()` again. ```{r} check_overdispersion(model2) From 81bb4979804de825f78bd1b87f493951d4ed2cd1 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 14:04:48 +0100 Subject: [PATCH 083/100] wording --- vignettes/check_model_practical.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/check_model_practical.Rmd b/vignettes/check_model_practical.Rmd index fbb473210..53ca7ab58 100644 --- a/vignettes/check_model_practical.Rmd +++ b/vignettes/check_model_practical.Rmd @@ -135,7 +135,7 @@ model3 <- glmmTMB::glmmTMB( check_model(model3, dot_size = 1.2) ``` -Now we see that the plot showing _misspecified dispersion and zero-inflation_ suggests that the overdispersion is addressed properly. Let us check again: +Now we see that the plot showing _misspecified dispersion and zero-inflation_ suggests that the overdispersion is better addressed than before. Let us check again: ```{r} check_overdispersion(model3) From 52cf7145c3073d5fb47662a163e75ee25f1a5b33 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 14:08:57 +0100 Subject: [PATCH 084/100] minor --- vignettes/simulate_residuals.Rmd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd index 0c968cdb0..dd78e4352 100644 --- a/vignettes/simulate_residuals.Rmd +++ b/vignettes/simulate_residuals.Rmd @@ -3,8 +3,6 @@ title: "Checking simulated residuals" output: rmarkdown::html_vignette: toc: true - fig_width: 10.08 - fig_height: 6 tags: [r, performance] vignette: > \usepackage[utf8]{inputenc} @@ -17,7 +15,9 @@ editor_options: ```{r , include=FALSE} library(knitr) knitr::opts_chunk$set( - dpi = 600, + dpi = 300, + fig.width = 7, + fig.height = 5, out.width = "100%", collapse = TRUE, comment = "#>", @@ -95,7 +95,7 @@ The above three functions internally call `simulate_residuals()` for more comple Finally, you can even perform a visual check for the entire model, either by passing the model object directly, or the object returned from `simulate_residuals()`. -```{r, eval=can_evaluate && packageVersion("see") > "0.8.2"} +```{r fig.height=12, fig.width=10} check_model(simulated_residuals) ``` From 77a024f5bfa944bb55c3775980d13fe24a14e12a Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 14:37:08 +0100 Subject: [PATCH 085/100] minor --- vignettes/simulate_residuals.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/simulate_residuals.Rmd b/vignettes/simulate_residuals.Rmd index dd78e4352..89f826ba6 100644 --- a/vignettes/simulate_residuals.Rmd +++ b/vignettes/simulate_residuals.Rmd @@ -96,7 +96,7 @@ The above three functions internally call `simulate_residuals()` for more comple Finally, you can even perform a visual check for the entire model, either by passing the model object directly, or the object returned from `simulate_residuals()`. ```{r fig.height=12, fig.width=10} -check_model(simulated_residuals) +check_model(simulated_residuals, dot_size = 1.5) ``` The `check_model()` function is the main reason we don't want to prematurely extract the residuals in `simulate_residuals()`, because if we do then the simulated residual won't contain the model fit (`fittedModel` in the output below), so we won't be able to do all of the checks we would want to do using the model (e.g., posterior predictive checks). From 481c3845016e1bfafc9145235bc619b33d6e5a11 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 14:57:50 +0100 Subject: [PATCH 086/100] update vignette --- vignettes/check_model.Rmd | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/vignettes/check_model.Rmd b/vignettes/check_model.Rmd index e657f3089..5692c39ff 100644 --- a/vignettes/check_model.Rmd +++ b/vignettes/check_model.Rmd @@ -3,8 +3,6 @@ title: "Checking model assumption - linear models" output: rmarkdown::html_vignette: toc: true - fig_width: 10.08 - fig_height: 6 tags: [r, performance, r2] vignette: > \usepackage[utf8]{inputenc} @@ -19,11 +17,15 @@ library(knitr) library(performance) options(knitr.kable.NA = "") knitr::opts_chunk$set( - comment = ">", - message = FALSE, - warning = FALSE, + dpi = 300, + fig.width = 8, + fig.height = 10, out.width = "100%", - dpi = 450 + out.height = "100%", + comment = "#>", + collapse = TRUE, + message = FALSE, + warning = FALSE ) options(digits = 2) @@ -75,7 +77,7 @@ model_parameters(m1) There is nothing suspicious so far. Now let's start with model diagnostics. We use the `check_model()` function, which provides an overview with the most important and appropriate diagnostic plots for the model under investigation. -```{r eval=all(successfully_loaded[c("see", "ggplot2")]), fig.height=11} +```{r eval=all(successfully_loaded[c("see", "ggplot2")]), fig.height=12, fig.width=10} library(performance) check_model(m1) ``` From 0413918dfe714cb8986823fb4bcf1edf890386b2 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 17:38:31 +0100 Subject: [PATCH 087/100] img --- vignettes/check_model.Rmd | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/vignettes/check_model.Rmd b/vignettes/check_model.Rmd index 5692c39ff..bb800c892 100644 --- a/vignettes/check_model.Rmd +++ b/vignettes/check_model.Rmd @@ -18,10 +18,10 @@ library(performance) options(knitr.kable.NA = "") knitr::opts_chunk$set( dpi = 300, - fig.width = 8, - fig.height = 10, - out.width = "100%", - out.height = "100%", + fig.width = 7, + fig.height = 7, + out.width = "80%", + out.height = "80%", comment = "#>", collapse = TRUE, message = FALSE, @@ -77,7 +77,7 @@ model_parameters(m1) There is nothing suspicious so far. Now let's start with model diagnostics. We use the `check_model()` function, which provides an overview with the most important and appropriate diagnostic plots for the model under investigation. -```{r eval=all(successfully_loaded[c("see", "ggplot2")]), fig.height=12, fig.width=10} +```{r eval=all(successfully_loaded[c("see", "ggplot2")]), fig.height=12, fig.width=10, out.width="100%", out.height="100%"} library(performance) check_model(m1) ``` From 190caaa35983bd0789a906dcabd59af5229b720f Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 25 Mar 2024 17:39:13 +0100 Subject: [PATCH 088/100] minor --- vignettes/check_model.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/check_model.Rmd b/vignettes/check_model.Rmd index bb800c892..1bd8e6eee 100644 --- a/vignettes/check_model.Rmd +++ b/vignettes/check_model.Rmd @@ -19,7 +19,7 @@ options(knitr.kable.NA = "") knitr::opts_chunk$set( dpi = 300, fig.width = 7, - fig.height = 7, + fig.height = 6, out.width = "80%", out.height = "80%", comment = "#>", From 5dd30f2498c9cdfe8cc6bb8448e6043df86a1089 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 26 Mar 2024 11:54:23 +0100 Subject: [PATCH 089/100] base font size --- DESCRIPTION | 2 +- NEWS.md | 4 ++++ R/check_model.R | 9 +++++++++ man/check_model.Rd | 3 +++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 9060334f5..7ff8da559 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.11.0 +Version: 0.11.0.1 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NEWS.md b/NEWS.md index 1ff9ab142..9f1572292 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,7 @@ +# performance 0.11.1 + +* `check_model()` gets a `base_size` argument, to set the base font size for plots. + # performance 0.11.0 ## New supported models diff --git a/R/check_model.R b/R/check_model.R index cf33f3eef..d075fe5cb 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -9,6 +9,7 @@ #' #' @param x A model object. #' @param dot_size,line_size Size of line and dot-geoms. +#' @param base_size Base font size for plots. #' @param panel Logical, if `TRUE`, plots are arranged as panels; else, #' single plots for each diagnostic are returned. #' @param check Character vector, indicating which checks for should be performed @@ -191,6 +192,7 @@ check_model.default <- function(x, dot_alpha = 0.8, colors = c("#3aaf85", "#1b6ca8", "#cd201f"), theme = "see::theme_lucid", + base_size = 10, detrend = TRUE, show_dots = NULL, bandwidth = "nrd", @@ -261,6 +263,7 @@ check_model.default <- function(x, attr(assumptions_data, "panel") <- panel attr(assumptions_data, "dot_size") <- dot_size attr(assumptions_data, "line_size") <- line_size + attr(assumptions_data, "base_size") <- base_size attr(assumptions_data, "check") <- check attr(assumptions_data, "alpha") <- alpha attr(assumptions_data, "dot_alpha") <- dot_alpha @@ -308,6 +311,7 @@ check_model.stanreg <- function(x, dot_alpha = 0.8, colors = c("#3aaf85", "#1b6ca8", "#cd201f"), theme = "see::theme_lucid", + base_size = 10, detrend = TRUE, show_dots = NULL, bandwidth = "nrd", @@ -324,6 +328,7 @@ check_model.stanreg <- function(x, dot_alpha = dot_alpha, colors = colors, theme = theme, + base_size = base_size, detrend = detrend, show_dots = show_dots, bandwidth = bandwidth, @@ -349,6 +354,7 @@ check_model.model_fit <- function(x, dot_alpha = 0.8, colors = c("#3aaf85", "#1b6ca8", "#cd201f"), theme = "see::theme_lucid", + base_size = 10, detrend = TRUE, show_dots = NULL, bandwidth = "nrd", @@ -366,6 +372,7 @@ check_model.model_fit <- function(x, dot_alpha = dot_alpha, colors = colors, theme = theme, + base_size = base_size, detrend = detrend, show_dots = show_dots, bandwidth = bandwidth, @@ -387,6 +394,7 @@ check_model.performance_simres <- function(x, dot_alpha = 0.8, colors = c("#3aaf85", "#1b6ca8", "#cd201f"), theme = "see::theme_lucid", + base_size = 10, detrend = TRUE, show_dots = NULL, bandwidth = "nrd", @@ -404,6 +412,7 @@ check_model.performance_simres <- function(x, dot_alpha = dot_alpha, colors = colors, theme = theme, + base_size = base_size, detrend = detrend, show_dots = show_dots, bandwidth = bandwidth, diff --git a/man/check_model.Rd b/man/check_model.Rd index d0d7e765b..3c90b67b9 100644 --- a/man/check_model.Rd +++ b/man/check_model.Rd @@ -17,6 +17,7 @@ check_model(x, ...) dot_alpha = 0.8, colors = c("#3aaf85", "#1b6ca8", "#cd201f"), theme = "see::theme_lucid", + base_size = 10, detrend = TRUE, show_dots = NULL, bandwidth = "nrd", @@ -57,6 +58,8 @@ for dots, and third color for outliers or extreme values.} \item{theme}{String, indicating the name of the plot-theme. Must be in the format \code{"package::theme_name"} (e.g. \code{"ggplot2::theme_minimal"}).} +\item{base_size}{Base font size for plots.} + \item{detrend}{Logical. Should Q-Q/P-P plots be detrended? Defaults to \code{TRUE} for linear models or when \code{residual_type = "normal"}. Defaults to \code{FALSE} for QQ plots based on simulated residuals (i.e. when From 0320563754a2248eeaa747ed79b9dec00ae5f3d3 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 26 Mar 2024 11:55:22 +0100 Subject: [PATCH 090/100] Add xrefs to see package (#702) --- NEWS.md | 2 ++ R/check_collinearity.R | 2 ++ R/check_normality.R | 2 ++ R/check_outliers.R | 2 ++ R/check_predictions.R | 3 ++- R/check_residuals.R | 3 ++- R/simulate_residuals.R | 3 ++- man/check_collinearity.Rd | 2 ++ man/check_normality.Rd | 3 +++ man/check_outliers.Rd | 2 ++ man/check_predictions.Rd | 3 ++- man/check_residuals.Rd | 3 ++- man/simulate_residuals.Rd | 3 ++- 13 files changed, 27 insertions(+), 6 deletions(-) diff --git a/NEWS.md b/NEWS.md index 9f1572292..805cb0dbd 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ # performance 0.11.1 +* Improved documentation and new vignettes added. + * `check_model()` gets a `base_size` argument, to set the base font size for plots. # performance 0.11.0 diff --git a/R/check_collinearity.R b/R/check_collinearity.R index 8aac2c9d6..14dd2fcce 100644 --- a/R/check_collinearity.R +++ b/R/check_collinearity.R @@ -31,6 +31,8 @@ #' with other terms, and tolerance values (including confidence intervals), #' where `tolerance = 1/vif`. #' +#' @seealso [`see::plot.see_check_collinearity()`] for options to customize the plot. +#' #' @section Multicollinearity: #' Multicollinearity should not be confused with a raw strong correlation #' between predictors. What matters is the association between one or more diff --git a/R/check_normality.R b/R/check_normality.R index 3c2902915..297c50179 100644 --- a/R/check_normality.R +++ b/R/check_normality.R @@ -17,6 +17,8 @@ #' [`plot()`-method](https://easystats.github.io/see/articles/performance.html) #' implemented in the [**see**-package](https://easystats.github.io/see/). #' +#' @seealso [`see::plot.see_check_normality()`] for options to customize the plot. +#' #' @details `check_normality()` calls `stats::shapiro.test` and checks the #' standardized residuals (or studentized residuals for mixed models) for #' normal distribution. Note that this formal test almost always yields diff --git a/R/check_outliers.R b/R/check_outliers.R index a589b1309..adb4165dc 100644 --- a/R/check_outliers.R +++ b/R/check_outliers.R @@ -47,6 +47,8 @@ #' #' @family functions to check model assumptions and and assess model quality #' +#' @seealso [`see::plot.see_check_outliers()`] for options to customize the plot. +#' #' @note There is also a #' [`plot()`-method](https://easystats.github.io/see/articles/performance.html) #' implemented in the diff --git a/R/check_predictions.R b/R/check_predictions.R index 69222d7f8..eaa94219b 100644 --- a/R/check_predictions.R +++ b/R/check_predictions.R @@ -37,7 +37,8 @@ #' #' @return A data frame of simulated responses and the original response vector. #' -#' @seealso [`simulate_residuals()`] and [`check_residuals()`]. +#' @seealso [`simulate_residuals()`] and [`check_residuals()`]. See also +#' [`see::print.see_performance_pp_check()`] for options to customize the plot. #' #' @details An example how posterior predictive checks can also be used for model #' comparison is Figure 6 from _Gabry et al. 2019, Figure 6_. diff --git a/R/check_residuals.R b/R/check_residuals.R index d8840e165..d467bf354 100644 --- a/R/check_residuals.R +++ b/R/check_residuals.R @@ -20,7 +20,8 @@ #' @inheritSection simulate_residuals Tests based on simulated residuals #' #' @seealso [`simulate_residuals()`], [`check_zeroinflation()`], -#' [`check_overdispersion()`] and [`check_predictions()`]. +#' [`check_overdispersion()`] and [`check_predictions()`]. See also +#' [`see::plot.see_performance_simres()`] for options to customize the plot. #' #' @return The p-value of the test statistics. #' diff --git a/R/simulate_residuals.R b/R/simulate_residuals.R index 41fccea55..7312c196f 100644 --- a/R/simulate_residuals.R +++ b/R/simulate_residuals.R @@ -21,7 +21,8 @@ #' `performance_simres`. #' #' @seealso [`check_residuals()`], [`check_zeroinflation()`], -#' [`check_overdispersion()`] and [`check_predictions()`]. +#' [`check_overdispersion()`] and [`check_predictions()`]. See also +#' [`see::plot.see_performance_simres()`] for options to customize the plot. #' #' @details This function is a small wrapper around [`DHARMa::simulateResiduals()`]. #' It basically only sets `plot = FALSE` and adds an additional class attribute diff --git a/man/check_collinearity.Rd b/man/check_collinearity.Rd index 9b943758d..847ff110d 100644 --- a/man/check_collinearity.Rd +++ b/man/check_collinearity.Rd @@ -160,6 +160,8 @@ Evolution (2010) 1:3–14. } } \seealso{ +\code{\link[see:plot.see_check_collinearity]{see::plot.see_check_collinearity()}} for options to customize the plot. + Other functions to check model assumptions and and assess model quality: \code{\link{check_autocorrelation}()}, \code{\link{check_convergence}()}, diff --git a/man/check_normality.Rd b/man/check_normality.Rd index 282aa6016..7388e0c0b 100644 --- a/man/check_normality.Rd +++ b/man/check_normality.Rd @@ -60,3 +60,6 @@ plot(check_normality(m), type = "pp") } \dontshow{\}) # examplesIf} } +\seealso{ +\code{\link[see:plot.see_check_normality]{see::plot.see_check_normality()}} for options to customize the plot. +} diff --git a/man/check_outliers.Rd b/man/check_outliers.Rd index 84a381985..c75d5fc4a 100644 --- a/man/check_outliers.Rd +++ b/man/check_outliers.Rd @@ -392,6 +392,8 @@ association, 85(411), 633-639. } } \seealso{ +\code{\link[see:plot.see_check_outliers]{see::plot.see_check_outliers()}} for options to customize the plot. + Other functions to check model assumptions and and assess model quality: \code{\link{check_autocorrelation}()}, \code{\link{check_collinearity}()}, diff --git a/man/check_predictions.Rd b/man/check_predictions.Rd index e64b306fb..148df6994 100644 --- a/man/check_predictions.Rd +++ b/man/check_predictions.Rd @@ -117,7 +117,8 @@ Cambridge University Press. } } \seealso{ -\code{\link[=simulate_residuals]{simulate_residuals()}} and \code{\link[=check_residuals]{check_residuals()}}. +\code{\link[=simulate_residuals]{simulate_residuals()}} and \code{\link[=check_residuals]{check_residuals()}}. See also +\code{\link[see:print.see_performance_pp_check]{see::print.see_performance_pp_check()}} for options to customize the plot. Other functions to check model assumptions and and assess model quality: \code{\link{check_autocorrelation}()}, diff --git a/man/check_residuals.Rd b/man/check_residuals.Rd index 6935c242c..972b9783e 100644 --- a/man/check_residuals.Rd +++ b/man/check_residuals.Rd @@ -62,5 +62,6 @@ check_residuals(res) } \seealso{ \code{\link[=simulate_residuals]{simulate_residuals()}}, \code{\link[=check_zeroinflation]{check_zeroinflation()}}, -\code{\link[=check_overdispersion]{check_overdispersion()}} and \code{\link[=check_predictions]{check_predictions()}}. +\code{\link[=check_overdispersion]{check_overdispersion()}} and \code{\link[=check_predictions]{check_predictions()}}. See also +\code{\link[see:plot.see_performance_simres]{see::plot.see_performance_simres()}} for options to customize the plot. } diff --git a/man/simulate_residuals.Rd b/man/simulate_residuals.Rd index 938f8b0d2..493461cda 100644 --- a/man/simulate_residuals.Rd +++ b/man/simulate_residuals.Rd @@ -81,5 +81,6 @@ of Computational and Graphical Statistics, 5(3), 236. \doi{10.2307/1390802} } \seealso{ \code{\link[=check_residuals]{check_residuals()}}, \code{\link[=check_zeroinflation]{check_zeroinflation()}}, -\code{\link[=check_overdispersion]{check_overdispersion()}} and \code{\link[=check_predictions]{check_predictions()}}. +\code{\link[=check_overdispersion]{check_overdispersion()}} and \code{\link[=check_predictions]{check_predictions()}}. See also +\code{\link[see:plot.see_performance_simres]{see::plot.see_performance_simres()}} for options to customize the plot. } From 846e7cd9686db7198c29ed06e4fa2ce722f34862 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 27 Mar 2024 12:44:47 +0100 Subject: [PATCH 091/100] More args for font size in check_model (#703) --- DESCRIPTION | 2 +- R/check_model.R | 85 ++++++++++++++++++++++++++-------------------- man/check_model.Rd | 58 ++++++++++++++++--------------- 3 files changed, 80 insertions(+), 65 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 7ff8da559..5998603cd 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.11.0.1 +Version: 0.11.0.2 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/R/check_model.R b/R/check_model.R index d075fe5cb..d9d54682a 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -9,7 +9,7 @@ #' #' @param x A model object. #' @param dot_size,line_size Size of line and dot-geoms. -#' @param base_size Base font size for plots. +#' @param base_size,title_size,axis_title_size Base font size for axis and plot titles. #' @param panel Logical, if `TRUE`, plots are arranged as panels; else, #' single plots for each diagnostic are returned. #' @param check Character vector, indicating which checks for should be performed @@ -184,20 +184,22 @@ check_model <- function(x, ...) { #' @rdname check_model #' @export check_model.default <- function(x, - dot_size = 2, - line_size = 0.8, panel = TRUE, check = "all", - alpha = 0.2, - dot_alpha = 0.8, - colors = c("#3aaf85", "#1b6ca8", "#cd201f"), - theme = "see::theme_lucid", - base_size = 10, detrend = TRUE, - show_dots = NULL, bandwidth = "nrd", type = "density", residual_type = NULL, + show_dots = NULL, + dot_size = 2, + line_size = 0.8, + title_size = 12, + axis_title_size = base_size, + base_size = 10, + alpha = 0.2, + dot_alpha = 0.8, + colors = c("#3aaf85", "#1b6ca8", "#cd201f"), + theme = "see::theme_lucid", verbose = FALSE, ...) { # check model formula @@ -264,6 +266,8 @@ check_model.default <- function(x, attr(assumptions_data, "dot_size") <- dot_size attr(assumptions_data, "line_size") <- line_size attr(assumptions_data, "base_size") <- base_size + attr(assumptions_data, "axis_title_size") <- axis_title_size + attr(assumptions_data, "title_size") <- title_size attr(assumptions_data, "check") <- check attr(assumptions_data, "alpha") <- alpha attr(assumptions_data, "dot_alpha") <- dot_alpha @@ -303,21 +307,23 @@ plot.check_model <- function(x, ...) { #' @export check_model.stanreg <- function(x, - dot_size = 2, - line_size = 0.8, panel = TRUE, check = "all", - alpha = 0.2, - dot_alpha = 0.8, - colors = c("#3aaf85", "#1b6ca8", "#cd201f"), - theme = "see::theme_lucid", - base_size = 10, detrend = TRUE, - show_dots = NULL, bandwidth = "nrd", type = "density", residual_type = NULL, - verbose = TRUE, + show_dots = NULL, + dot_size = 2, + line_size = 0.8, + title_size = 12, + axis_title_size = base_size, + base_size = 10, + alpha = 0.2, + dot_alpha = 0.8, + colors = c("#3aaf85", "#1b6ca8", "#cd201f"), + theme = "see::theme_lucid", + verbose = FALSE, ...) { check_model(bayestestR::bayesian_as_frequentist(x), dot_size = dot_size, @@ -329,6 +335,7 @@ check_model.stanreg <- function(x, colors = colors, theme = theme, base_size = base_size, + axis_title_size = axis_title_size, detrend = detrend, show_dots = show_dots, bandwidth = bandwidth, @@ -346,21 +353,23 @@ check_model.brmsfit <- check_model.stanreg #' @export check_model.model_fit <- function(x, - dot_size = 2, - line_size = 0.8, panel = TRUE, check = "all", - alpha = 0.2, - dot_alpha = 0.8, - colors = c("#3aaf85", "#1b6ca8", "#cd201f"), - theme = "see::theme_lucid", - base_size = 10, detrend = TRUE, - show_dots = NULL, bandwidth = "nrd", type = "density", residual_type = NULL, - verbose = TRUE, + show_dots = NULL, + dot_size = 2, + line_size = 0.8, + title_size = 12, + axis_title_size = base_size, + base_size = 10, + alpha = 0.2, + dot_alpha = 0.8, + colors = c("#3aaf85", "#1b6ca8", "#cd201f"), + theme = "see::theme_lucid", + verbose = FALSE, ...) { check_model( x$fit, @@ -369,6 +378,7 @@ check_model.model_fit <- function(x, panel = panel, check = check, alpha = alpha, + axis_title_size = axis_title_size, dot_alpha = dot_alpha, colors = colors, theme = theme, @@ -386,21 +396,23 @@ check_model.model_fit <- function(x, #' @export check_model.performance_simres <- function(x, - dot_size = 2, - line_size = 0.8, panel = TRUE, check = "all", - alpha = 0.2, - dot_alpha = 0.8, - colors = c("#3aaf85", "#1b6ca8", "#cd201f"), - theme = "see::theme_lucid", - base_size = 10, detrend = TRUE, - show_dots = NULL, bandwidth = "nrd", type = "density", residual_type = NULL, - verbose = TRUE, + show_dots = NULL, + dot_size = 2, + line_size = 0.8, + title_size = 12, + axis_title_size = base_size, + base_size = 10, + alpha = 0.2, + dot_alpha = 0.8, + colors = c("#3aaf85", "#1b6ca8", "#cd201f"), + theme = "see::theme_lucid", + verbose = FALSE, ...) { check_model( x$fittedModel, @@ -410,6 +422,7 @@ check_model.performance_simres <- function(x, check = check, alpha = alpha, dot_alpha = dot_alpha, + axis_title_size = axis_title_size, colors = colors, theme = theme, base_size = base_size, diff --git a/man/check_model.Rd b/man/check_model.Rd index 3c90b67b9..bb4898df8 100644 --- a/man/check_model.Rd +++ b/man/check_model.Rd @@ -9,20 +9,22 @@ check_model(x, ...) \method{check_model}{default}( x, - dot_size = 2, - line_size = 0.8, panel = TRUE, check = "all", - alpha = 0.2, - dot_alpha = 0.8, - colors = c("#3aaf85", "#1b6ca8", "#cd201f"), - theme = "see::theme_lucid", - base_size = 10, detrend = TRUE, - show_dots = NULL, bandwidth = "nrd", type = "density", residual_type = NULL, + show_dots = NULL, + dot_size = 2, + line_size = 0.8, + title_size = 12, + axis_title_size = base_size, + base_size = 10, + alpha = 0.2, + dot_alpha = 0.8, + colors = c("#3aaf85", "#1b6ca8", "#cd201f"), + theme = "see::theme_lucid", verbose = FALSE, ... ) @@ -33,8 +35,6 @@ check_model(x, ...) \item{...}{Arguments passed down to the individual check functions, especially to \code{check_predictions()} and \code{binned_residuals()}.} -\item{dot_size, line_size}{Size of line and dot-geoms.} - \item{panel}{Logical, if \code{TRUE}, plots are arranged as panels; else, single plots for each diagnostic are returned.} @@ -48,29 +48,11 @@ effects and only available for mixed models. \code{"ncv"} is an alias for heteroscedasticity, as well as the linear relationship. By default, all possible checks are performed and plotted.} -\item{alpha, dot_alpha}{The alpha level of the confidence bands and dot-geoms. -Scalar from 0 to 1.} - -\item{colors}{Character vector with color codes (hex-format). Must be of -length 3. First color is usually used for reference lines, second color -for dots, and third color for outliers or extreme values.} - -\item{theme}{String, indicating the name of the plot-theme. Must be in the -format \code{"package::theme_name"} (e.g. \code{"ggplot2::theme_minimal"}).} - -\item{base_size}{Base font size for plots.} - \item{detrend}{Logical. Should Q-Q/P-P plots be detrended? Defaults to \code{TRUE} for linear models or when \code{residual_type = "normal"}. Defaults to \code{FALSE} for QQ plots based on simulated residuals (i.e. when \code{residual_type = "simulated"}).} -\item{show_dots}{Logical, if \code{TRUE}, will show data points in the plot. Set -to \code{FALSE} for models with many observations, if generating the plot is too -time-consuming. By default, \code{show_dots = NULL}. In this case \code{check_model()} -tries to guess whether performance will be poor due to a very large model -and thus automatically shows or hides dots.} - \item{bandwidth}{A character string indicating the smoothing bandwidth to be used. Unlike \code{stats::density()}, which used \code{"nrd0"} as default, the default used here is \code{"nrd"} (which seems to give more plausible results @@ -91,6 +73,26 @@ the model. Setting \code{residual_type = "normal"} for non-Gaussian models will use a half-normal Q-Q plot of the absolute value of the standardized deviance residuals.} +\item{show_dots}{Logical, if \code{TRUE}, will show data points in the plot. Set +to \code{FALSE} for models with many observations, if generating the plot is too +time-consuming. By default, \code{show_dots = NULL}. In this case \code{check_model()} +tries to guess whether performance will be poor due to a very large model +and thus automatically shows or hides dots.} + +\item{dot_size, line_size}{Size of line and dot-geoms.} + +\item{base_size, title_size, axis_title_size}{Base font size for axis and plot titles.} + +\item{alpha, dot_alpha}{The alpha level of the confidence bands and dot-geoms. +Scalar from 0 to 1.} + +\item{colors}{Character vector with color codes (hex-format). Must be of +length 3. First color is usually used for reference lines, second color +for dots, and third color for outliers or extreme values.} + +\item{theme}{String, indicating the name of the plot-theme. Must be in the +format \code{"package::theme_name"} (e.g. \code{"ggplot2::theme_minimal"}).} + \item{verbose}{If \code{FALSE} (default), suppress most warning messages.} } \value{ From e354104d924c0cc8d4dfd4a1f9114e56ce4377fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Th=C3=A9riault?= <13123390+rempsyc@users.noreply.github.com> Date: Sat, 30 Mar 2024 10:08:02 +0100 Subject: [PATCH 092/100] Update check_outliers.Rmd - remove references to JOSE (#705) --- vignettes/check_outliers.Rmd | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vignettes/check_outliers.Rmd b/vignettes/check_outliers.Rmd index 0c567489a..906095f21 100644 --- a/vignettes/check_outliers.Rmd +++ b/vignettes/check_outliers.Rmd @@ -45,7 +45,11 @@ if (can_evaluate) { # Reuse of this Material -> Note: This vignette is an extended write-up of the [JOSE paper](https://jose.theoj.org/papers/42749638170253bb2854649fb52bf4ca). This educational module can be freely reused for teaching purposes as long as the original JOSE paper and this vignette are cited or acknowledged. The raw code file, which can be adapted to other rmarkdown formats for teaching purposes, can be accessed [here](https://github.com/easystats/performance/blob/HEAD/vignettes/check_outliers.Rmd). To contribute to and improve this content directly, please submit a Pull Request at the *{performance}* package GitHub repository by following our usual contributing guidelines: https://easystats.github.io/performance/CONTRIBUTING.html. To report issues or problems, with this module, or seek support, please open an issue: https://github.com/easystats/performance/issues. +> Note: This vignette is an extended write-up of the [Behavior Research Methods paper](https://doi.org/10.3758/s13428-024-02356-w). This educational module can be freely reused for teaching purposes as long as the original BRM paper is cited. The raw code file, which can be adapted to other rmarkdown formats for teaching purposes, can be accessed [here](https://github.com/easystats/performance/blob/HEAD/vignettes/check_outliers.Rmd). To contribute to and improve this content directly, please submit a Pull Request at the *{performance}* package GitHub repository by following our usual contributing guidelines: https://easystats.github.io/performance/CONTRIBUTING.html. To report issues or problems, with this module, or seek support, please open an issue: https://github.com/easystats/performance/issues. + +**Reference:** + +Thériault, R., Ben-Shachar, M. S., Patil, I., Lüdecke, D., Wiernik, B. M., & Makowski, D. (2024). Check your outliers! An introduction to identifying statistical outliers in R with easystats. *Behavior Research Methods*, 1-11. https://doi.org/10.3758/s13428-024-02356-w # Summary From 2e718b83ba2a35f6028045977c1030ae501909a5 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 30 Mar 2024 11:41:51 +0100 Subject: [PATCH 093/100] Remove `pp_check()` alias (#706) --- DESCRIPTION | 2 +- NAMESPACE | 2 + NEWS.md | 11 +++++ R/check_predictions.R | 112 +++++++++++++++++++++++++++++++++++------- 4 files changed, 109 insertions(+), 18 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 5998603cd..cf473fc57 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.11.0.2 +Version: 0.11.0.3 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NAMESPACE b/NAMESPACE index 2ecdbf751..7a20bd1dc 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -113,8 +113,10 @@ S3method(check_overdispersion,performance_simres) S3method(check_overdispersion,poissonirr) S3method(check_overdispersion,poissonmfx) S3method(check_predictions,BFBayesFactor) +S3method(check_predictions,brmsfit) S3method(check_predictions,default) S3method(check_predictions,lme) +S3method(check_predictions,stanreg) S3method(check_residuals,DHARMa) S3method(check_residuals,default) S3method(check_residuals,performance_simres) diff --git a/NEWS.md b/NEWS.md index 805cb0dbd..71bc0b355 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,9 +1,20 @@ # performance 0.11.1 +## Breaking + +* Aliases `posterior_predictive_check()` and `check_posterior_predictions()` for + `check_predictions()` are deprecated. + +## General + * Improved documentation and new vignettes added. * `check_model()` gets a `base_size` argument, to set the base font size for plots. +* `check_predictions()` for `stanreg` and `brmsfit` models now returns plots in + the usual style as for other models and no longer returns plots from + `bayesplot::pp_check()`. + # performance 0.11.0 ## New supported models diff --git a/R/check_predictions.R b/R/check_predictions.R index eaa94219b..3fff06ce3 100644 --- a/R/check_predictions.R +++ b/R/check_predictions.R @@ -115,27 +115,99 @@ check_predictions.default <- function(object, # args type <- match.arg(type, choices = c("density", "discrete_dots", "discrete_interval", "discrete_both")) - if (isTRUE(minfo$is_bayesian) && isFALSE(inherits(object, "BFBayesFactor"))) { - insight::check_if_installed( - "bayesplot", - "to create posterior prediction plots for Stan models" + pp_check.lm( + object, + iterations = iterations, + check_range = check_range, + re_formula = re_formula, + bandwidth = bandwidth, + type = type, + verbose = verbose, + model_info = minfo, + ... + ) +} + + +#' @export +check_predictions.stanreg <- function(object, + iterations = 50, + check_range = FALSE, + re_formula = NULL, + bandwidth = "nrd", + type = "density", + verbose = TRUE, + ...) { + # retrieve model information + minfo <- insight::model_info(object, verbose = FALSE) + + # try to find sensible default for "type" argument + suggest_dots <- (minfo$is_bernoulli || minfo$is_count || minfo$is_ordinal || minfo$is_categorical || minfo$is_multinomial) # nolint + if (missing(type) && suggest_dots) { + type <- "discrete_interval" + } + + # args + type <- match.arg(type, choices = c("density", "discrete_dots", "discrete_interval", "discrete_both")) + + # convert to type-argument for pp_check + pp_type <- switch(type, + density = "dens", + "bars" + ) + + insight::check_if_installed( + "bayesplot", + "to create posterior prediction plots for Stan models" + ) + + # for plotting + resp_string <- insight::find_terms(object)$response + + if (inherits(object, "brmsfit")) { + out <- as.data.frame(bayesplot::pp_check(object, type = pp_type, ndraws = iterations, ...)$data) + } else { + out <- as.data.frame(bayesplot::pp_check(object, type = pp_type, nreps = iterations, ...)$data) + } + + # bring data into shape, like we have for other models with `check_predictions()` + if (pp_type == "dens") { + d_filter <- out[!out$is_y, ] + d_filter <- datawizard::data_to_wide( + d_filter, + id_cols = "y_id", + values_from = "value", + names_from = "rep_id" ) - bayesplot::pp_check(object) + d_filter$y_id <- NULL + colnames(d_filter) <- paste0("sim_", colnames(d_filter)) + d_filter$y <- out$value[out$is_y] + out <- d_filter } else { - pp_check.lm( - object, - iterations = iterations, - check_range = check_range, - re_formula = re_formula, - bandwidth = bandwidth, - type = type, - verbose = verbose, - model_info = minfo, - ... + colnames(out) <- c("x", "y", "CI_low", "Mean", "CI_high") + # to long, for plotting + out <- datawizard::data_to_long( + out, + select = c("y", "Mean"), + names_to = "Group", + values_to = "Count" ) } + + attr(out, "is_stan") <- TRUE + attr(out, "check_range") <- check_range + attr(out, "response_name") <- resp_string + attr(out, "bandwidth") <- bandwidth + attr(out, "model_info") <- minfo + attr(out, "type") <- type + class(out) <- c("performance_pp_check", "see_performance_pp_check", class(out)) + out } +#' @export +check_predictions.brmsfit <- check_predictions.stanreg + + #' @export check_predictions.BFBayesFactor <- function(object, iterations = 50, @@ -347,11 +419,17 @@ pp_check.glmmTMB <- #' @rdname check_predictions #' @export -posterior_predictive_check <- check_predictions +posterior_predictive_check <- function(object, ...) { + .Deprecated("check_predictions()") + check_predictions(object, ...) +} #' @rdname check_predictions #' @export -check_posterior_predictions <- check_predictions +check_posterior_predictions <- function(object, ...) { + .Deprecated("check_predictions()") + check_predictions(object, ...) +} From 3eafbbdc0dbfee9f42cfac688077f084a095648f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 11:47:38 +0200 Subject: [PATCH 094/100] Update `DESCRIPTION` to use latest 'easystats' dependencies (#707) Co-authored-by: IndrajeetPatil <11330453+IndrajeetPatil@users.noreply.github.com> --- DESCRIPTION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index cf473fc57..5a71a6a24 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -70,8 +70,8 @@ Depends: R (>= 3.6) Imports: bayestestR (>= 0.13.2), - insight (>= 0.19.9), - datawizard (>= 0.9.1), + insight (>= 0.19.10), + datawizard (>= 0.10.0), stats, utils Suggests: From 84b114d4937639e73335543c48b7c2fbd8b9c50d Mon Sep 17 00:00:00 2001 From: Indrajeet Patil Date: Mon, 1 Apr 2024 20:08:27 +0200 Subject: [PATCH 095/100] Delete R-CMD-check-strict.yaml --- .github/workflows/R-CMD-check-strict.yaml | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 .github/workflows/R-CMD-check-strict.yaml diff --git a/.github/workflows/R-CMD-check-strict.yaml b/.github/workflows/R-CMD-check-strict.yaml deleted file mode 100644 index 5f84492d7..000000000 --- a/.github/workflows/R-CMD-check-strict.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples -# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help -# -# R CMD Check will fail on a `NOTE`. -on: - push: - branches: [main, master] - pull_request: - branches: [main, master] - -name: R-CMD-check-strict - -jobs: - R-CMD-check-strict: - uses: easystats/workflows/.github/workflows/R-CMD-check-strict.yaml@main From 1cf9072954583feed3418be04b9065326bf64032 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 3 Apr 2024 14:35:04 +0200 Subject: [PATCH 096/100] Check_model in version 0.11.0 no longer produces qq plot residuals (#709) --- DESCRIPTION | 2 +- NEWS.md | 5 +++++ R/check_homogeneity.R | 6 +++--- R/check_model.R | 13 ++++++++++-- R/check_predictions.R | 2 +- R/cronbachs_alpha.R | 4 ++-- inst/WORDLIST | 1 + tests/testthat/test-check_model.R | 30 ++++++++++++++++++++++++++- tests/testthat/test-cronbachs_alpha.R | 7 +++---- 9 files changed, 56 insertions(+), 14 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 5a71a6a24..5f75841d6 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.11.0.3 +Version: 0.11.0.4 Authors@R: c(person(given = "Daniel", family = "Lüdecke", diff --git a/NEWS.md b/NEWS.md index 71bc0b355..c94980743 100644 --- a/NEWS.md +++ b/NEWS.md @@ -15,6 +15,11 @@ the usual style as for other models and no longer returns plots from `bayesplot::pp_check()`. +## Bug fixes + +* `check_model()` now falls back on normal Q-Q plots when a model is not supported + by the DHARMa package and simulated residuals cannot be calculated. + # performance 0.11.0 ## New supported models diff --git a/R/check_homogeneity.R b/R/check_homogeneity.R index c3a839ab7..db79fa106 100644 --- a/R/check_homogeneity.R +++ b/R/check_homogeneity.R @@ -117,7 +117,7 @@ print.check_homogeneity <- function(x, ...) { } else if (x < 0.05) { insight::print_color(sprintf("Warning: Variances differ between groups (%s, p = %.3f).\n", method.string, x), "red") } else { - insight::print_color(sprintf("OK: There is not clear evidence for different variances across groups (%s, p = %.3f).\n", method.string, x), "green") + insight::print_color(sprintf("OK: There is not clear evidence for different variances across groups (%s, p = %.3f).\n", method.string, x), "green") # nolint } invisible(x) } @@ -146,13 +146,13 @@ check_homogeneity.afex_aov <- function(x, method = "levene", ...) { insight::format_error("Levene test is only aplicable to ANOVAs with between-subjects factors.") } - data <- x$data$long # Use this to also get id column + long_data <- x$data$long # Use this to also get id column dv <- attr(x, "dv") id <- attr(x, "id") between <- names(attr(x, "between")) is_covar <- vapply(attr(x, "between"), is.null, logical(1)) - ag_data <- stats::aggregate(data[, dv], data[, c(between, id)], mean) + ag_data <- stats::aggregate(long_data[, dv], long_data[, c(between, id)], mean) colnames(ag_data)[length(c(between, id)) + 1] <- dv if (any(is_covar)) { diff --git a/R/check_model.R b/R/check_model.R index d9d54682a..daa1255fc 100644 --- a/R/check_model.R +++ b/R/check_model.R @@ -213,6 +213,15 @@ check_model.default <- function(x, if (is.null(residual_type)) { residual_type <- ifelse(minfo$is_linear && !minfo$is_gam, "normal", "simulated") } + + # catch models/families not supported by DHARMa - we need to add more + # exceptions here as they appear, but for now, `check_model()` also + # automatically falls back to normal Q-Q plot for all models not supported + # by DHARMa + if (minfo$family %in% c("quasipoisson", "quasibinomial")) { + residual_type <- "normal" + } + # set default for detrend if (missing(detrend)) { detrend <- residual_type == "normal" @@ -242,8 +251,8 @@ check_model.default <- function(x, } # did Q-Q plot work with simulated residuals? - if (verbose && is.null(assumptions_data$QQ) && residual_type == "simulated") { - insight::format_warning(paste0( + if (is.null(assumptions_data$QQ) && residual_type == "simulated") { + insight::format_alert(paste0( "Cannot simulate residuals for models of class `", class(x)[1], "`. Please try `check_model(..., residual_type = \"normal\")` instead." diff --git a/R/check_predictions.R b/R/check_predictions.R index 3fff06ce3..682047b50 100644 --- a/R/check_predictions.R +++ b/R/check_predictions.R @@ -536,7 +536,7 @@ plot.performance_pp_check <- function(x, ...) { # validation check, for mixed models, where re.form = NULL (default) might fail if (is.null(out) && insight::is_mixed_model(object) && !isTRUE(is.na(re_formula))) { if (verbose) { - insight::format_warning( + insight::format_alert( paste0( "Failed to compute posterior predictive checks with `re_formula=", deparse(re_formula), diff --git a/R/cronbachs_alpha.R b/R/cronbachs_alpha.R index 6d4547b40..735641ccc 100644 --- a/R/cronbachs_alpha.R +++ b/R/cronbachs_alpha.R @@ -40,7 +40,7 @@ cronbachs_alpha.data.frame <- function(x, verbose = TRUE, ...) { # we need at least two columns for Cronach's Alpha if (is.null(ncol(.data)) || ncol(.data) < 2) { if (verbose) { - insight::format_warning("Too few columns in `x` to compute Cronbach's Alpha.") + insight::format_alert("Too few columns in `x` to compute Cronbach's Alpha.") } return(NULL) } @@ -68,7 +68,7 @@ cronbachs_alpha.parameters_pca <- function(x, verbose = TRUE, ...) { pca_data <- attr(x, "data") if (is.null(pca_data)) { if (verbose) { - insight::format_warning("Could not find data frame that was used for the PCA.") + insight::format_alert("Could not find data frame that was used for the PCA.") } return(NULL) } diff --git a/inst/WORDLIST b/inst/WORDLIST index 617ca698f..d76f66cbb 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -25,6 +25,7 @@ Bollen's Bortz Breunig Breusch +BRM Bryk Bundock Burnham diff --git a/tests/testthat/test-check_model.R b/tests/testthat/test-check_model.R index 32a78e253..6543e5065 100644 --- a/tests/testthat/test-check_model.R +++ b/tests/testthat/test-check_model.R @@ -79,5 +79,33 @@ test_that("`check_model()` warnings for zero-infl", { art ~ fem + mar + kid5 + ment | kid5 + phd, data = bioChemists ) - expect_message(expect_warning(check_model(model, verbose = TRUE), regex = "Cannot simulate"), regex = "Homogeneity") + expect_message(expect_message(check_model(model, verbose = TRUE), regex = "Cannot simulate"), regex = "Homogeneity") +}) + + +test_that("`check_model()` no warnings for quasipoisson", { + skip_if_not_installed("datawizard") + set.seed(250419) + # Generate random x values + x <- rnorm( + n = 500, + mean = 5, + sd = 2 + ) + # Generate y values y = 5x + e + y <- 5 * x + rnorm( + n = 500, + mean = 5, + sd = 2 + ) + # Generate z as offset + z <- runif(500, min = 0, max = 6719) + mock_data <- data.frame(x, y, z) |> + # both should be whole numbers since they're counts + datawizard::data_modify(y = round(y), z = round(z)) |> + datawizard::data_filter(x >= 0, y >= 0) + # Run model + model1 <- glm(y ~ x + offset(log(z)), family = "quasipoisson", data = mock_data) + expect_message(check_model(model1, verbose = TRUE), regex = "Not enough") + expect_silent(check_model(model1)) }) diff --git a/tests/testthat/test-cronbachs_alpha.R b/tests/testthat/test-cronbachs_alpha.R index d9a584bbb..ecf244745 100644 --- a/tests/testthat/test-cronbachs_alpha.R +++ b/tests/testthat/test-cronbachs_alpha.R @@ -3,16 +3,16 @@ test_that("cronbachs_alpha, data frame", { x <- mtcars[, c("cyl", "gear", "carb", "hp")] expect_equal(cronbachs_alpha(x), 0.09463206, tolerance = 1e-3) }) + test_that("cronbachs_alpha", { - expect_warning(expect_null(cronbachs_alpha(mtcars[1]))) + expect_message(expect_null(cronbachs_alpha(mtcars[1])), regex = "Too few") }) - test_that("cronbachs_alpha, principal_components", { skip_if_not_installed("parameters", minimum_version = "0.21.3") pca <- parameters::principal_components(mtcars[, c("cyl", "gear", "carb", "hp")], n = 2) expect_equal(cronbachs_alpha(pca, verbose = FALSE), c(PC1 = 0.1101384), tolerance = 1e-3) - expect_warning(cronbachs_alpha(pca)) + expect_message(cronbachs_alpha(pca), regex = "Too few") pca <- parameters::principal_components(mtcars[, c("cyl", "gear", "carb", "hp")], n = 1) expect_equal(cronbachs_alpha(pca, verbose = FALSE), c(PC1 = 0.09463206), tolerance = 1e-3) @@ -25,7 +25,6 @@ test_that("cronbachs_alpha, principal_components", { expect_equal(cronbachs_alpha(pca), c(PC1 = 0.4396, PC2 = -1.44331), tolerance = 1e-3) }) - test_that("cronbachs_alpha, matrix", { m <- as.matrix(mtcars[c("cyl", "gear", "carb", "hp")]) expect_equal(cronbachs_alpha(m), 0.09463206, tolerance = 1e-3) From 586c8391535ea146f9193cc92d087f181c9e880d Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 3 Apr 2024 22:38:29 +0200 Subject: [PATCH 097/100] Trigger CI --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 5f75841d6..43d03cf76 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: performance Title: Assessment of Regression Models Performance -Version: 0.11.0.4 +Version: 0.11.0.5 Authors@R: c(person(given = "Daniel", family = "Lüdecke", From 460ea9697b9fe70b0ec9c1d4a307872afa274b77 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 5 Apr 2024 11:23:57 +0200 Subject: [PATCH 098/100] docs --- R/check_singularity.R | 31 +++++++++++++++++++++++++------ man/check_singularity.Rd | 25 ++++++++++++++++++++++--- 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/R/check_singularity.R b/R/check_singularity.R index b446708bd..59ead29a7 100644 --- a/R/check_singularity.R +++ b/R/check_singularity.R @@ -36,6 +36,22 @@ #' - "keep it maximal", i.e. fit the most complex model consistent with the #' experimental design, removing only terms required to allow a non-singular #' fit (_Barr et al. 2013_) +#' - since version 1.1.9, the **glmmTMB** allows to use priors in a frequentist +#' framework, too. One recommendation is to use a Gamma prior (_Chung et al. 2013_). +#' The mean may vary from 1 to very large values (like `1e8`), and the shape +#' parameter should be set to a value of 2.5. You can then `update()` your model +#' with the specified prior. In **glmmTMB**, the code would look like this: +#' ``` +#' # "model" is an object of class gmmmTMB +#' prior <- data.frame( +#' prior = "gamma(1, 2.5)", # mean can be 1, but even 1e8 +#' class = "ranef" # for random effects +#' ) +#' model_with_priors <- update(model, priors = prior) +#' ``` +#' Large values for the mean parameter of the Gamma prior have no large impact +#' on the random effects variances in terms of a "bias". Thus, if `1` doesn't +#' fix the singular fit, you can try larger values. #' #' Note the different meaning between singularity and convergence: singularity #' indicates an issue with the "true" best estimate, i.e. whether the maximum @@ -48,15 +64,18 @@ #' #' @references #' - Bates D, Kliegl R, Vasishth S, Baayen H. Parsimonious Mixed Models. -#' arXiv:1506.04967, June 2015. +#' arXiv:1506.04967, June 2015. #' #' - Barr DJ, Levy R, Scheepers C, Tily HJ. Random effects structure for -#' confirmatory hypothesis testing: Keep it maximal. Journal of Memory and -#' Language, 68(3):255-278, April 2013. +#' confirmatory hypothesis testing: Keep it maximal. Journal of Memory and +#' Language, 68(3):255-278, April 2013. #' -#' - Matuschek H, Kliegl R, Vasishth S, Baayen H, Bates D. Balancing type -#' I error and power in linear mixed models. Journal of Memory and Language, -#' 94:305-315, 2017. +#' - Chung Y, Rabe-Hesketh S, Dorie V, Gelman A, and Liu J. 2013. "A Nondegenerate +#' Penalized Likelihood Estimator for Variance Parameters in Multilevel Models." +#' Psychometrika 78 (4): 685–709. \doi{10.1007/s11336-013-9328-2} +#' +#' - Matuschek H, Kliegl R, Vasishth S, Baayen H, Bates D. Balancing type I error +#' and power in linear mixed models. Journal of Memory and Language, 94:305-315, 2017. #' #' - lme4 Reference Manual, #' diff --git a/man/check_singularity.Rd b/man/check_singularity.Rd index 67f47f9df..7f578c816 100644 --- a/man/check_singularity.Rd +++ b/man/check_singularity.Rd @@ -47,6 +47,23 @@ predictive accuracy and overfitting/type I error (\emph{Bates et al. 2015}, \item "keep it maximal", i.e. fit the most complex model consistent with the experimental design, removing only terms required to allow a non-singular fit (\emph{Barr et al. 2013}) +\item since version 1.1.9, the \strong{glmmTMB} allows to use priors in a frequentist +framework, too. One recommendation is to use a Gamma prior (\emph{Chung et al. 2013}). +The mean may vary from 1 to very large values (like \code{1e8}), and the shape +parameter should be set to a value of 2.5. You can then \code{update()} your model +with the specified prior. In \strong{glmmTMB}, the code would look like this: + +\if{html}{\out{

}} + +Large values for the mean parameter of the Gamma prior have no large impact +on the random effects variances in terms of a "bias". Thus, if \code{1} doesn't +fix the singular fit, you can try larger values. } Note the different meaning between singularity and convergence: singularity @@ -84,9 +101,11 @@ arXiv:1506.04967, June 2015. \item Barr DJ, Levy R, Scheepers C, Tily HJ. Random effects structure for confirmatory hypothesis testing: Keep it maximal. Journal of Memory and Language, 68(3):255-278, April 2013. -\item Matuschek H, Kliegl R, Vasishth S, Baayen H, Bates D. Balancing type -I error and power in linear mixed models. Journal of Memory and Language, -94:305-315, 2017. +\item Chung Y, Rabe-Hesketh S, Dorie V, Gelman A, and Liu J. 2013. "A Nondegenerate +Penalized Likelihood Estimator for Variance Parameters in Multilevel Models." +Psychometrika 78 (4): 685–709. \doi{10.1007/s11336-013-9328-2} +\item Matuschek H, Kliegl R, Vasishth S, Baayen H, Bates D. Balancing type I error +and power in linear mixed models. Journal of Memory and Language, 94:305-315, 2017. \item lme4 Reference Manual, \url{https://cran.r-project.org/package=lme4} } } From db9b39bd2f91902d9cf33075379934a6aedddbbf Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 5 Apr 2024 11:34:27 +0200 Subject: [PATCH 099/100] docs and examples --- R/check_singularity.R | 46 ++++++++++++++++++++++++++++------------ man/check_singularity.Rd | 44 +++++++++++++++++++++++++++----------- 2 files changed, 65 insertions(+), 25 deletions(-) diff --git a/R/check_singularity.R b/R/check_singularity.R index 59ead29a7..44d66d221 100644 --- a/R/check_singularity.R +++ b/R/check_singularity.R @@ -36,22 +36,23 @@ #' - "keep it maximal", i.e. fit the most complex model consistent with the #' experimental design, removing only terms required to allow a non-singular #' fit (_Barr et al. 2013_) -#' - since version 1.1.9, the **glmmTMB** allows to use priors in a frequentist -#' framework, too. One recommendation is to use a Gamma prior (_Chung et al. 2013_). -#' The mean may vary from 1 to very large values (like `1e8`), and the shape -#' parameter should be set to a value of 2.5. You can then `update()` your model -#' with the specified prior. In **glmmTMB**, the code would look like this: +#' - since version 1.1.9, the **glmmTMB** package allows to use priors in a +#' frequentist framework, too. One recommendation is to use a Gamma prior +#' (_Chung et al. 2013_). The mean may vary from 1 to very large values +#' (like `1e8`), and the shape parameter should be set to a value of 2.5. You +#' can then `update()` your model with the specified prior. In **glmmTMB**, +#' the code would look like this: #' ``` #' # "model" is an object of class gmmmTMB #' prior <- data.frame( -#' prior = "gamma(1, 2.5)", # mean can be 1, but even 1e8 -#' class = "ranef" # for random effects +#' prior = "gamma(1, 2.5)", # mean can be 1, but even 1e8 +#' class = "ranef" # for random effects #' ) #' model_with_priors <- update(model, priors = prior) #' ``` #' Large values for the mean parameter of the Gamma prior have no large impact #' on the random effects variances in terms of a "bias". Thus, if `1` doesn't -#' fix the singular fit, you can try larger values. +#' fix the singular fit, you can safely try larger values. #' #' Note the different meaning between singularity and convergence: singularity #' indicates an issue with the "true" best estimate, i.e. whether the maximum @@ -79,9 +80,8 @@ #' #' - lme4 Reference Manual, #' -#' @examplesIf require("lme4") -#' library(lme4) -#' data(sleepstudy) +#' @examplesIf require("lme4") && require("glmmTMB") +#' data(sleepstudy, package = "lme4") #' set.seed(123) #' sleepstudy$mygrp <- sample(1:5, size = 180, replace = TRUE) #' sleepstudy$mysubgrp <- NA @@ -91,14 +91,34 @@ #' sample(1:30, size = sum(filter_group), replace = TRUE) #' } #' -#' model <- lmer( +#' model <- lme4::lmer( #' Reaction ~ Days + (1 | mygrp / mysubgrp) + (1 | Subject), #' data = sleepstudy #' ) +#' check_singularity(model) #' +#' # Fixing singularity issues using priors in glmmTMB +#' # Example taken from `vignette("priors", package = "glmmTMB")` +#' dat <- readRDS(system.file("vignette_data", "gophertortoise.rds", +#' package = "glmmTMB")) +#' model <- glmmTMB::glmmTMB( +#' shells ~ prev + offset(log(Area)) + factor(year) + (1 | Site), +#' family = poisson, +#' data = dat +#' ) +#' # singular fit #' check_singularity(model) +#' +#' # impose Gamma prior on random effects parameters +#' prior <- data.frame( +#' prior = "gamma(1, 2.5)", # mean can be 1, but even 1e8 +#' class = "ranef" # for random effects +#' ) +#' model_with_priors <- update(model, priors = prior) +#' # no singular fit +#' check_singularity(model_with_priors) +#' #' @export - check_singularity <- function(x, tolerance = 1e-5, ...) { UseMethod("check_singularity") } diff --git a/man/check_singularity.Rd b/man/check_singularity.Rd index 7f578c816..e4cafa99a 100644 --- a/man/check_singularity.Rd +++ b/man/check_singularity.Rd @@ -47,23 +47,24 @@ predictive accuracy and overfitting/type I error (\emph{Bates et al. 2015}, \item "keep it maximal", i.e. fit the most complex model consistent with the experimental design, removing only terms required to allow a non-singular fit (\emph{Barr et al. 2013}) -\item since version 1.1.9, the \strong{glmmTMB} allows to use priors in a frequentist -framework, too. One recommendation is to use a Gamma prior (\emph{Chung et al. 2013}). -The mean may vary from 1 to very large values (like \code{1e8}), and the shape -parameter should be set to a value of 2.5. You can then \code{update()} your model -with the specified prior. In \strong{glmmTMB}, the code would look like this: +\item since version 1.1.9, the \strong{glmmTMB} package allows to use priors in a +frequentist framework, too. One recommendation is to use a Gamma prior +(\emph{Chung et al. 2013}). The mean may vary from 1 to very large values +(like \code{1e8}), and the shape parameter should be set to a value of 2.5. You +can then \code{update()} your model with the specified prior. In \strong{glmmTMB}, +the code would look like this: \if{html}{\out{
}}\preformatted{# "model" is an object of class gmmmTMB prior <- data.frame( - prior = "gamma(1, 2.5)", # mean can be 1, but even 1e8 - class = "ranef" # for random effects + prior = "gamma(1, 2.5)", # mean can be 1, but even 1e8 + class = "ranef" # for random effects ) model_with_priors <- update(model, priors = prior) }\if{html}{\out{
}} Large values for the mean parameter of the Gamma prior have no large impact on the random effects variances in terms of a "bias". Thus, if \code{1} doesn't -fix the singular fit, you can try larger values. +fix the singular fit, you can safely try larger values. } Note the different meaning between singularity and convergence: singularity @@ -74,9 +75,8 @@ question of whether we can assume that the numerical optimization has worked correctly or not. } \examples{ -\dontshow{if (require("lme4")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} -library(lme4) -data(sleepstudy) +\dontshow{if (require("lme4") && require("glmmTMB")) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +data(sleepstudy, package = "lme4") set.seed(123) sleepstudy$mygrp <- sample(1:5, size = 180, replace = TRUE) sleepstudy$mysubgrp <- NA @@ -86,12 +86,32 @@ for (i in 1:5) { sample(1:30, size = sum(filter_group), replace = TRUE) } -model <- lmer( +model <- lme4::lmer( Reaction ~ Days + (1 | mygrp / mysubgrp) + (1 | Subject), data = sleepstudy ) +check_singularity(model) +# Fixing singularity issues using priors in glmmTMB +# Example taken from `vignette("priors", package = "glmmTMB")` +dat <- readRDS(system.file("vignette_data", "gophertortoise.rds", + package = "glmmTMB")) +model <- glmmTMB::glmmTMB( + shells ~ prev + offset(log(Area)) + factor(year) + (1 | Site), + family = poisson, + data = dat +) +# singular fit check_singularity(model) + +# impose Gamma prior on random effects parameters +prior <- data.frame( + prior = "gamma(1, 2.5)", # mean can be 1, but even 1e8 + class = "ranef" # for random effects +) +model_with_priors <- update(model, priors = prior) +# no singular fit +check_singularity(model_with_priors) \dontshow{\}) # examplesIf} } \references{ From d41544a48c81b7c4f3de5e4a6d71aaea5037149e Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 5 Apr 2024 11:42:19 +0200 Subject: [PATCH 100/100] wordlist --- inst/WORDLIST | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inst/WORDLIST b/inst/WORDLIST index d76f66cbb..ca43db445 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -52,6 +52,7 @@ Distinguishability Dom Dominicy Dordrecht +Dorie Dunson Durbin Dxy @@ -152,6 +153,7 @@ Nagelkerke Nagelkerke's Nakagawa Nakagawa's +Nondegenerate Nordhausen Normed ORCID

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 literal 0 HcmV?d00001 diff --git a/papers/JOSE/paper_files/figure-latex/model_fig-1.pdf b/papers/JOSE/paper_files/figure-latex/model_fig-1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..05d7d40637a6567ade66df7e63f064ef460db793 GIT binary patch literal 8485 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 literal 0 HcmV?d00001 diff --git a/papers/Mathematics/paper.Rmd b/papers/JOSE/paper_longform.Rmd similarity index 85% rename from papers/Mathematics/paper.Rmd rename to papers/JOSE/paper_longform.Rmd index e35b6f02b..3214bde37 100644 --- a/papers/Mathematics/paper.Rmd +++ b/papers/JOSE/paper_longform.Rmd @@ -1,42 +1,48 @@ --- title: "Check your outliers! An introduction to identifying statistical outliers in R with *easystats*" -author: +tags: + - R + - univariate outliers + - multivariate outliers + - robust detection methods + - easystats +authors: - name: Rémi Thériault - affil: 1,* orcid: 0000-0003-4315-6788 + affiliation: 1 - name: Mattan S. Ben-Shachar - affil: 2 orcid: 0000-0002-4287-4801 + affiliation: 2 - name: Indrajeet Patil - affil: 3 orcid: 0000-0003-1995-6531 + affiliation: 3 - name: Daniel Lüdecke - affil: 4 orcid: 0000-0002-8895-3206 + affiliation: 4 - name: Brenton M. Wiernik - affil: 5 orcid: 0000-0001-9560-6336 + affiliation: 5 - name: Dominique Makowski - affil: 6 orcid: 0000-0001-5375-9967 -affiliation: - - num: 1 - address: Department of Psychology, Université du Québec à Montréal, Montréal, Québec, Canada - - num: 2 - address: Independent Researcher - - num: 3 - address: Center for Humans and Machines, Max Planck Institute for Human Development, Berlin, Germany - - num: 4 - address: Institute of Medical Sociology, University Medical Center Hamburg-Eppendorf, Germany - - num: 5 - address: Independent Researcher, Tampa, FL, USA - - num: 6 - address: School of Psychology, University of Sussex, Brighton, UK + affiliation: 6 +affiliations: + - index: 1 + name: Department of Psychology, Université du Québec à Montréal, Montréal, Québec, Canada + - index: 2 + name: Independent Researcher + - index: 3 + name: Center for Humans and Machines, Max Planck Institute for Human Development, Berlin, Germany + - index: 4 + name: Institute of Medical Sociology, University Medical Center Hamburg-Eppendorf, Germany + - index: 5 + name: Independent Researcher, Tampa, FL, USA + - index: 6 + name: School of Psychology, University of Sussex, Brighton, UK correspondence: theriault.remi@courrier.uqam.ca. -journal: "mathematics" type: article status: submit -bibliography: mybibfile.bib +date: 7 June 2023 +bibliography: paper.bib simplesummary: | The *{performance}* package from the *easystats* ecosystem makes it easy to diagnose outliers in R and according to current best practices thanks to the @@ -45,7 +51,7 @@ abstract: | Beyond the challenge of keeping up-to-date with current best practices regarding the diagnosis and treatment of outliers, an additional difficulty arises concerning the mathematical implementation of the recommended methods. - In this paper, we provide an overview of current recommandations and best + In this paper, we provide an overview of current recommendations and best practices and demonstrate how they can easily and conveniently be implemented in the R statistical computing software, using the *{performance}* package of the *easystats* ecosystem. We cover univariate, multivariate, and @@ -53,7 +59,7 @@ abstract: | threshold, standard output, and plotting methods. We conclude with recommendations on the handling of outliers: the different theoretical types of outliers, whether to exclude or winsorize them, and the importance of - transparency. + transparency. keywords: | univariate outliers; multivariate outliers; robust detection methods; R; easystats acknowledgement: | @@ -90,7 +96,10 @@ abbreviations: long: invariant coordinate selection - short: OSF long: Open Science Framework -output: rticles::mdpi_article +output: + rticles::joss_article: + journal: "JOSE" +csl: apa.csl --- ```{r setup, include=FALSE} @@ -107,9 +116,9 @@ library(see) library(datawizard) ``` -# Introduction +# Statement of Need -Real-life data often contain observations that can be considered *abnormal* when compared to the main population. The cause of it---be it because they belong to a different distribution (originating from a different generative process) or simply being extreme cases, statistically rare but not impossible---can be hard to assess, and the boundaries of "abnormal" are hard to define. +Real-life data often contain observations that can be considered *abnormal* when compared to the main population. The cause of it---be it because they belong to a different distribution (originating from a different generative process) or simply being extreme cases, statistically rare but not impossible---can be hard to assess, and the boundaries of "abnormal" difficult to define. Nonetheless, the improper handling of these outliers can substantially affect statistical model estimations, biasing effect estimations and weakening the models' predictive performance. It is thus essential to address this problem in a thoughtful manner. Yet, despite the existence of established recommendations and guidelines, many researchers still do not treat outliers in a consistent manner, or do so using inappropriate strategies [@simmons2011false; @leys2013outliers]. @@ -155,12 +164,21 @@ data_clean <- data[-which(outliers), ] All `check_outliers()` output objects possess a `plot()` method, meaning it is also possible to visualize the outliers: -```{r univariate, fig.cap = "Visual depiction of outliers using the robust z-score method."} +```{r univariate, eval=FALSE} library(see) plot(outliers) ``` +```{r univariate_implicit, fig.cap = "Visual depiction of outliers using the robust z-score method. The distance represents an aggregate score for variables mpg, cyl, disp, and hp.", echo=FALSE} +library(see) + +plot(outliers) + + ggplot2::theme(axis.text.x = ggplot2::element_text( + angle = 45, size = 7 +)) +``` + Other univariate methods are available, such as using the interquartile range (IQR), or based on different intervals, such as the Highest Density Interval (HDI) or the Bias Corrected and Accelerated Interval (BCI). These methods are documented and described in the function's [help page](). ## Multivariate Outliers @@ -173,13 +191,22 @@ One common approach for this is to compute multivariate distance metrics such as In *{performance}*'s `check_outliers()`, one can use this approach with `method = "mcd"`.^[Our default threshold for the MCD method is defined by `stats::qchisq(p = 1 - 0.001, df = ncol(x))`, which again is an approximation of the critical value for _p_ < .001 consistent with the thresholds of our other methods.] -```{r multivariate, fig.cap = "Visual depiction of outliers using the Minimum Covariance Determinant (MCD) method, a robust version of the Mahalanobis distance."} +```{r multivariate} outliers <- check_outliers(data, method = "mcd") outliers +``` +```{r multivariate_plot, eval=FALSE} plot(outliers) ``` +```{r multivariate_implicit, fig.cap = "Visual depiction of outliers using the Minimum Covariance Determinant (MCD) method, a robust version of the Mahalanobis distance. The distance represents the MCD scores for variables mpg, cyl, disp, and hp.", echo=FALSE} +plot(outliers) + + ggplot2::theme(axis.text.x = ggplot2::element_text( + angle = 45, size = 7 +)) +``` + Other multivariate methods are available, such as another type of robust Mahalanobis distance that in this case relies on an orthogonalized Gnanadesikan-Kettenring pairwise estimator [@gnanadesikan1972robust]. These methods are documented and described in the function's [help page](https://easystats.github.io/performance/reference/check_outliers.html). ## Model-Based Outliers @@ -188,7 +215,7 @@ Working with regression models creates the possibility of using model-based SOD In {performance}, two such model-based SOD methods are currently available: Cook's distance, for regular regression models, and Pareto, for Bayesian models. As such, `check_outliers()` can be applied directly on regression model objects, by simply specifying `method = "cook"` (or `method = "pareto"` for Bayesian models).^[Our default threshold for the Cook method is defined by `stats::qf(0.5, ncol(x), nrow(x) - ncol(x))`, which again is an approximation of the critical value for _p_ < .001 consistent with the thresholds of our other methods.] -```{r model, fig.cap = "Visual depiction of outliers based on Cook's distance (leverage and standardized residuals)."} +```{r model, fig.cap = "Visual depiction of outliers based on Cook's distance (leverage and standardized residuals), based on the fitted model."} model <- lm(disp ~ mpg * disp, data = data) outliers <- check_outliers(model, method = "cook") outliers @@ -218,7 +245,7 @@ knitr::kable( caption = "Summary of Statistical Outlier Detection Methods Recommendations.", longtable = TRUE) ``` -### Cook's Distance vs. MCD +## Cook's Distance vs. MCD @leys2018outliers report a preference for the MCD method over Cook's distance. This is because Cook's distance removes one observation at a time and checks its corresponding influence on the model each time [@cook1977detection], and flags any observation that has a large influence. In the view of these authors, when there are several outliers, the process of removing a single outlier at a time is problematic as the model remains "contaminated" or influenced by other possible outliers in the model, rendering this method suboptimal in the presence of multiple outliers. @@ -242,7 +269,7 @@ which(outliers) In contrast, the model-based detection method displays the desired behaviour: it correctly flags the person who is very tall but very light, without flagging the person who is both tall and heavy. -```{r model2, fig.cap = "The leverage method (Cook's distance) correctly distinguishes the true outlier from the model-consistent extreme observation)."} +```{r model2, fig.cap = "The leverage method (Cook's distance) correctly distinguishes the true outlier from the model-consistent extreme observation), based on the fitted model."} outliers <- check_outliers(model, method = "cook") which(outliers) plot(outliers) @@ -250,9 +277,9 @@ plot(outliers) Finally, unusual observations happen naturally: extreme observations are expected even when taken from a normal distribution. While statistical models can integrate this "expectation", multivariate outlier methods might be too conservative, flagging too many observations despite belonging to the right generative process. For these reasons, we believe that model-based methods are still preferable to the MCD when using supported regression models. Additionally, if the presence of multiple outliers is a significant concern, regression methods that are more robust to outliers should be considered---like _t_ regression or quantile regression---as they render their precise identification less critical [@mcelreath2020statistical]. -## Multiple Methods +## Composite Outlier Score -An alternative approach that is possible is to combine several methods, based on the assumption that different methods provide different angles of looking at the problem. By applying a variety of methods, one can hope to "triangulate" the true outliers (those consistently flagged by multiple methods) and thus attempt to minimize false positives. +The *{performance}* package also offers an alternative, consensus-based approach that combines several methods, based on the assumption that different methods provide different angles of looking at a given problem. By applying a variety of methods, one can hope to "triangulate" the true outliers (those consistently flagged by multiple methods) and thus attempt to minimize false positives. In practice, this approach computes a composite outlier score, formed of the average of the binary (0 or 1) classification results of each method. It represents the probability that each observation is classified as an outlier by at least one method. The default decision rule classifies rows with composite outlier scores superior or equal to 0.5 as outlier observations (i.e., that were classified as outliers by at least half of the methods). In *{performance}*'s `check_outliers()`, one can use this approach by including all desired methods in the corresponding argument. @@ -269,7 +296,7 @@ attributes(outliers)$outlier_var$zscore_robust An example sentence for reporting the usage of the composite method could be: -> Based on a composite outlier score (see the 'check_outliers()' function in the 'performance' R package, [@ludecke2021performance]) obtained via the joint application of multiple outliers detection algorithms ((a) median absolute deviation (MAD)-based robust _z_ scores, [@leys2013outliers]; (b) Mahalanobis minimum covariance determinant (MCD), [@leys2019outliers]; and (c) Cook's distance, [@cook1977detection]), we excluded two participants that were classified as outliers by at least half of the methods used. +> Based on a composite outlier score [see the 'check_outliers()' function in the 'performance' R package, @ludecke2021performance] obtained via the joint application of multiple outliers detection algorithms [(a) median absolute deviation (MAD)-based robust _z_ scores, @leys2013outliers; (b) Mahalanobis minimum covariance determinant (MCD), @leys2019outliers; and (c) Cook's distance, @cook1977detection], we excluded two participants that were classified as outliers by at least half of the methods used. # Handling Outliers @@ -279,7 +306,7 @@ The above section demonstrated how to identify outliers using the `check_outlier @leys2019outliers distinguish between error outliers, interesting outliers, and random outliers. _Error outliers_ are likely due to human error and should be corrected before data analysis or outright removed since they are invalid observations. _Interesting outliers_ are not due to technical error and may be of theoretical interest; it might thus be relevant to investigate them further even though they should be removed from the current analysis of interest. _Random outliers_ are assumed to be due to chance alone and to belong to the correct distribution and, therefore, should be retained. -It is recommended to _keep_ observations which are expected to be part of the distribution of interest, even if they are outliers [@leys2019outliers]. However, if it is suspected that the outliers belong to an alternative distribution, then those observations could have a large impact on the results and call into question their robustness, especially if significance is conditional on their inclusion. +It is recommended to _keep_ observations which are expected to be part of the distribution of interest, even if they are outliers [@leys2019outliers]. However, if it is suspected that the outliers belong to an alternative distribution, then those observations could have a large impact on the results and call into question their robustness, especially if significance is conditional on their inclusion, so should be removed. On the other hand, there are also outliers that cannot be detected by statistical tools, but should be found and removed. For example, if we are studying the effects of X on Y among teenagers and we have one observation from a 20-year-old, this observation might not be a _statistical outlier_, but it is an outlier in the _context_ of our research, and should be discarded to allow for valid inferences. @@ -302,9 +329,26 @@ winsorized_data[1501:1502, ] ## The Importance of Transparency -Once again, it is a critical part of a sound outlier treatment that regardless of which SOD method used, it should be reported in a reproducible manner. Ideally, the handling of outliers should be specified *a priori* with as much detail as possible, and preregistered, to limit researchers' degrees of freedom and therefore risks of false positives [@leys2019outliers]. This is especially true given that interesting outliers and random outliers are often times hard to distinguish in practice. Thus, researchers should always prioritize transparency and report all of the following information: (a) how many outliers were identified; (b) according to which method and criteria, (c) using which function of which R package (if applicable), and (d) how they were handled (excluded or winsorized, if the latter, using what threshold). If at all possible, (e) the corresponding code script along with the data should be shared on a public repository like the Open Science Framework (OSF), so that the exclusion criteria can be reproduced precisely. +Once again, it is a critical part of a sound outlier treatment that regardless of which SOD method used, it should be reported in a reproducible manner. Ideally, the handling of outliers should be specified *a priori* with as much detail as possible, and preregistered, to limit researchers' degrees of freedom and therefore risks of false positives [@leys2019outliers]. This is especially true given that interesting outliers and random outliers are often times hard to distinguish in practice. Thus, researchers should always prioritize transparency and report all of the following information: (a) how many outliers were identified (including percentage); (b) according to which method and criteria, (c) using which function of which R package (if applicable), and (d) how they were handled (excluded or winsorized, if the latter, using what threshold). If at all possible, (e) the corresponding code script along with the data should be shared on a public repository like the Open Science Framework (OSF), so that the exclusion criteria can be reproduced precisely. # Conclusion In this paper, we have showed how to investigate outliers using the `check_outliers()` function of the *{performance}* package while following current good practices. However, best practice for outlier treatment does not stop at using appropriate statistical algorithms, but entails respecting existing recommendations, such as preregistration, reproducibility, consistency, transparency, and justification. Ideally, one would additionally also report the package, function, and threshold used (linking to the full code when possible). We hope that this paper and the accompanying `check_outlier()` function of *easystats* will help researchers engage in good research practices while providing a smooth outlier detection experience. +### Contributions + +R.T. drafted the paper; all authors contributed to both the writing of the paper and the conception of the software. + +### Acknowledgements + +*{performance}* is part of the collaborative [*easystats*](https://github.com/easystats/easystats) ecosystem [@easystatspackage]. Thus, we thank all [members of easystats](https://github.com/orgs/easystats/people), contributors, and users alike. + +### Funding information + +This research received no external funding. + +### Competing Interests + +The authors declare no conflict of interest + +# References \ No newline at end of file diff --git a/papers/JOSE/table1.jpg b/papers/JOSE/table1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5f29d676ef62503650e56f1de8ae6d5328ea1d4f GIT binary patch literal 393255 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ଞ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 MUJBt*qpZyT0TsqxMF0Q* diff --git a/papers/Mathematics/logo-orcid.pdf b/papers/Mathematics/logo-orcid.pdf deleted file mode 100644 index 0c305e3ee75791d8b36477bef8d2e3fdc2fba740..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1907 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 } - { s nameptr "{vv~}{ll}{, jj}{, f{.}}." format.name$ 't := - nameptr #1 > - { - nameptr #10 - #1 + = - numnames #10 - > and - { "others" 't := - #1 'namesleft := } - 'skip$ - if$ - namesleft #1 > - { "; " * t * } - { - s nameptr "{ll}" format.name$ duplicate$ "others" = - { 't := } - { pop$ } - if$ - numnames #2 > - { "" * } - 'skip$ - if$ - t "others" = - {"; " * " et~al." * } - { "; " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } - if$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > - { ", Eds." * } - { ", Ed." * } - if$ - } - if$ -} - - - - -FUNCTION {format.title} -{ title empty$ - { "" } - { title} - if$ -} - -FUNCTION {format.number.patent} -{ number empty$ - { "" } - { nationality empty$ - { number} - { nationality " " * number *} - if$ - } - if$ -} - -FUNCTION {format.full.names} -{'s := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}" format.name$ 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " and " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {author.editor.full} -{ author empty$ - { editor empty$ - { "" } - { editor format.full.names } - if$ - } - { author format.full.names } - if$ -} - - - -FUNCTION {author.full} -{ author empty$ - { "" } - { author format.full.names } - if$ -} - -FUNCTION {editor.full} -{ editor empty$ - { "" } - { editor format.full.names } - if$ -} - -FUNCTION {make.full.names} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.full - { type$ "proceedings" = - 'editor.full - 'author.full - if$ - } - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - ")" make.full.names duplicate$ short.list = - { pop$ } - { * } - if$ - "]{" * write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - - -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - month - } - if$ - } - { " " year embolden * } - if$ -} - -FUNCTION {format.bdate} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - month - } - if$ - } - { " " year * } - if$ -} - -FUNCTION {format.pdate} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - month - } - if$ - } - { month empty$ - { " " year * } - { " " month * ", " * year * } - if$} - if$ -} - -FUNCTION {format.btitle} -{ title emphasize -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { "Vol." volume tie.or.space.connect - series empty$ - 'skip$ - { ", " * series emphasize * } - if$ - "volume and number" number either.or.check - } - if$ -} - -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { output.state mid.sentence = - { "number" } - { "Number" } - if$ - number tie.or.space.connect - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { " in " * series * } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " ed." * } - { edition "t" change.case$ " ed." * } - if$ - } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "pp." pages n.dashify tie.or.space.connect } - { "p." pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.vol.num.pages} -{ volume emphasize field.or.null - number empty$ - 'skip$ - { - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { ",~" * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "chapter" } - { type "l" change.case$ } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { ", " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { edition empty$ - {"In " booktitle emphasize *} - {"In " booktitle emphasize * ", " * edition * " ed." *} - if$ - } - { edition empty$ - {"In " booktitle emphasize * "; " * format.editors * } - {"In " booktitle emphasize * ", " * edition * " ed." * "; " * format.editors * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle.proc} -{ booktitle empty$ - { "" } - { editor empty$ - { edition empty$ - {"In Proceedings of the " booktitle *} - {"In Proceedings of the " booktitle * ", " * edition * " ed." *} - if$ - } - { edition empty$ - {"In Proceedings of the " booktitle * "; " * format.editors * } - {"In Proceedings of the " booktitle * ", " * edition * " ed." * "; " * format.editors * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.publisher.and.address} -{ publisher empty$ - {""} - { address empty$ - {publisher } - {publisher ": " * address *} - if$ - } - if$ -} - - - -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "t" change.case$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Technical Report" } - 'type - if$ - number empty$ - { "t" change.case$ } - { number tie.or.space.connect } - if$ -} - -FUNCTION {format.article.crossref} -{ key empty$ - { journal empty$ - { "need key or journal for " cite$ * " to crossref " * crossref * - warning$ - "" - } - { "In \emph{" journal * "}" * } - if$ - } - { "In " } - if$ - " \citet{" * crossref * "}" * -} - - - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "In " - } - { "Vol." volume tie.or.space.connect - " of " * - } - if$ - editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { series empty$ - { "need editor, key, or series for " cite$ * " to crossref " * - crossref * warning$ - "" * - } - { "{\em " * series * "\/}" * } - if$ - } - { key * } - if$ - } - { "" * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { booktitle empty$ - { "need editor, key, or booktitle for " cite$ * " to crossref " * - crossref * warning$ - "" - } - { "In {\em " booktitle * "\/}" * } - if$ - } - { "In " key * } - if$ - } - { "In " * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.website} -{ url empty$ - { "" } - { "" url website * - urldate empty$ - {"there is url but no urldate in " cite$ * warning$} - { ", accessed on " * urldate *} - if$ - } - if$ -} - - -%% the following function is modified from kp.bst at http://arxiv.org/hypertex/bibstyles/ -FUNCTION {format.eprint} -{eprint empty$ - { ""} - {primaryClass empty$ - {" \href{http://xxx.lanl.gov/abs/" eprint * "}" * "{{\normalfont " * "[" * eprint * "]" * "}}" *} - {archivePrefix empty$ - {" \href{http://xxx.lanl.gov/abs/" eprint * "}" * "{{\normalfont " * "[" * "arXiv:" * primaryClass * "/" * eprint * "]" * "}}" *} - {" \href{http://xxx.lanl.gov/abs/" eprint * "}" * "{{\normalfont " * "[" * archivePrefix * ":" * primaryClass * "/" * eprint * "]" * "}}" *} - if$ - } - if$ - } -if$ -} - - -%% For printing DOI numbers (it is a hyperlink but printed in black) -FUNCTION {formatfull.doi} -{ doi empty$ - { "" } - {"{\url{https://doi.org/" doi * "}}" * } - if$ -} - - - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - author format.key output - new.block - format.title "title" output.check - new.block - crossref missing$ - { journal emphasize "journal" output.check - format.date * format.vol.num.pages "" * output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ -format.eprint output -new.block -note output -formatfull.doi output -fin.entry -} - -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - new.block - format.btitle "title" output.check - format.edition output - after.item 'output.state := - crossref missing$ - { format.bvolume output - format.number.series output - format.publisher.and.address "publisher" output.check -%%% address output - } - { - format.book.crossref output.nonnull - } - if$ - format.bdate "year" output.check - after.item 'output.state := - format.chapter.pages output - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - new.block - format.title "title" output.check - howpublished address new.block.checkb - howpublished output - address output - format.bdate output - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ -%%% new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - after.item 'output.state := - format.number.series output -%% new.sentence - format.publisher.and.address "publisher" output.check - format.bdate "year" output.check - after.item 'output.state := - format.bvolume output - format.chapter.pages "chapter and pages" output.check - - } - { format.chapter.pages "chapter and pages" output.check - new.block - format.book.crossref output.nonnull - format.bdate "year" output.check - } - if$ - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - new.block - format.title "title" output.check - new.sentence - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - after.item 'output.state := - format.number.series output -% new.sentence - format.publisher.and.address "publisher" output.check - format.bdate "year" output.check - after.item 'output.state := - format.bvolume output - format.chapter.pages output - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle.proc "booktitle" output.check - address empty$ - { organization publisher new.sentence.checkb - organization output - publisher output - format.bdate "year" output.check - } - { after.item 'output.state := - organization output - format.publisher.and.address output.nonnull - format.bdate "year" output.check - after.item 'output.state := - } - if$ - format.number.series output - format.bvolume output - format.pages output - } - { format.incoll.inproc.crossref output.nonnull - format.pages output - } - if$ - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - author empty$ - { organization empty$ - 'skip$ - { organization output.nonnull - address output - } - if$ - } - { format.authors output.nonnull } - if$ - new.block - format.btitle "title" output.check - author empty$ - { organization empty$ - { address new.block.checka - address output - } - 'skip$ - if$ - } - { organization address new.block.checkb - organization output - address output - } - if$ - format.edition output - format.bdate output - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - new.block - format.title "title" output.check - new.block - "Master's thesis" format.thesis.type output.nonnull - school "school" output.check - address output - format.bdate "year" output.check - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - title howpublished new.block.checkb - format.title output - howpublished new.block.checka - howpublished output - format.bdate output - format.eprint output - new.block - note output - formatfull.doi output - fin.entry - empty.misc.check -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - new.block - format.title "title" output.check - new.block - "PhD thesis" format.thesis.type output.nonnull - school "school" output.check - address output - format.bdate "year" output.check - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization output } - { format.editors output.nonnull } - if$ - new.block - format.btitle "title" output.check - format.bvolume output - format.number.series output - address empty$ - { editor empty$ - { publisher new.sentence.checka } - { organization publisher new.sentence.checkb - organization output - } - if$ - publisher output - format.bdate "year" output.check - } - { address output.nonnull - format.bdate "year" output.check - new.sentence - editor empty$ - 'skip$ - { organization output } - if$ - publisher output - } - if$ - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - new.block - format.title "title" output.check - new.block - format.tr.number output.nonnull - institution "institution" output.check - address output - format.bdate "year" output.check - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - new.block - format.title "title" output.check - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {www} -{ output.bibitem - format.authors "author" output.checkwoa - new.block - format.title "title" output.check - new.block - format.website "url" output.check - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -FUNCTION {patent} -{ output.bibitem - format.authors "author" output.check - new.block - format.title "title" output.check - new.block - format.number.patent "number" output.check - mid.sentence 'output.state := - format.pdate "date" output.check - format.eprint output - new.block - note output - formatfull.doi output - fin.entry -} - -READ - -FUNCTION {sortify} -{ purify$ - "l" change.case$ -} - - -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - - -FUNCTION {format.lab.names} -{ 's := - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - { pop$ " \em{et~al.}" * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " \em{et~al.}" * } - { " and " * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - - -FUNCTION {author.key.label} -{ author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.editor.key.label} -{ author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.key.organization.label} -{ author empty$ - { key empty$ - { organization empty$ - { cite$ #1 #3 substring$ } - { "The " #4 organization chop.word #3 text.prefix$ } - if$ - } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.organization.label} -{ editor empty$ - { key empty$ - { organization empty$ - { cite$ #1 #3 substring$ } - { "The " #4 organization chop.word #3 text.prefix$ } - if$ - } - 'key - if$ - } - { editor format.lab.names } - if$ -} - -FUNCTION {calc.short.authors} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.key.label - { type$ "proceedings" = - 'editor.key.organization.label - { type$ "manual" = - 'author.key.organization.label - 'author.key.label - if$ - } - if$ - } - if$ - 'short.list := -} - -FUNCTION {calc.label} -{ calc.short.authors - short.list - "(" - * - year duplicate$ empty$ - short.list key field.or.null = or - { pop$ "" } - 'skip$ - if$ - * - 'label := -} - -INTEGERS { seq.num } - -FUNCTION {init.seq} -{ #0 'seq.num :=} - -EXECUTE {init.seq} - -FUNCTION {int.to.fix} -{ "000000000" swap$ int.to.str$ * - #-1 #10 substring$ -} - - -FUNCTION {presort} -{ calc.label - label sortify - " " - * - seq.num #1 + 'seq.num := - seq.num int.to.fix - 'sort.label := - sort.label * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {presort} - - -STRINGS { longest.label last.label next.extra } - -INTEGERS { longest.label.width last.extra.num number.label } - -FUNCTION {initialize.longest.label} -{ "" 'longest.label := - #0 int.to.chr$ 'last.label := - "" 'next.extra := - #0 'longest.label.width := - #0 'last.extra.num := - #0 'number.label := -} - -FUNCTION {forward.pass} -{ last.label label = - { last.extra.num #1 + 'last.extra.num := - last.extra.num int.to.chr$ 'extra.label := - } - { "a" chr.to.int$ 'last.extra.num := - "" 'extra.label := - label 'last.label := - } - if$ - number.label #1 + 'number.label := -} - -FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ - extra.label 'next.extra := - extra.label - duplicate$ empty$ - 'skip$ - { "{\natexlab{" swap$ * "}}" * } - if$ - 'extra.label := - label extra.label * 'label := -} - -EXECUTE {initialize.longest.label} - -ITERATE {forward.pass} - -REVERSE {reverse.pass} - -FUNCTION {begin.bib} -{ "\begin{thebibliography}{999}" - write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} - - diff --git a/papers/Mathematics/mdpi.cls b/papers/Mathematics/mdpi.cls deleted file mode 100644 index aad304f8c..000000000 --- a/papers/Mathematics/mdpi.cls +++ /dev/null @@ -1,1176 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% %% MDPI class for LaTeX files 15.2.2019 b -%% %% For any information please send an e-mail to: -%% %% latex@mdpi.com -%% %% -%% %% Initial class provided by: -%% %% Stefano Mariani -%% %% Modified by: -%% %% Dietrich Rordorf -%% %% Peter Harremoes -%% %% Zeno Schumacher -%% %% Maddalena Giulini -%% %% Andres Gartmann -%% %% Dr. Janine Daum -%% %% Versions: -%% %% v1.0 before Dr. Janine Daum -%% %% v2.0 when Dr. Janine Daum started (March 2013) -%% %% v3.0 after layout change (September 2015) -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% IDENTIFICATION -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{mdpi}[15/02/2019 MDPI paper class] - -%%%% Copyright and citebox - \AtEndDocument{\par \cright} - -%% PRELIMINARY DECLARATIONS -\LoadClass[10pt,a4paper]{article} -\RequirePackage[T1]{fontenc} -\RequirePackage[utf8]{inputenc} -\RequirePackage{calc} -\RequirePackage{indentfirst} -\RequirePackage{fancyhdr} -\RequirePackage{graphicx,epstopdf} -\RequirePackage{lastpage} -\RequirePackage{ifthen} -\RequirePackage{float} -\RequirePackage{amsmath} -% TODO: Currently lineno needs to be loaded after amsmath because of conflict -% https://github.com/latex-lineno/lineno/issues/5 -\RequirePackage{lineno} -\RequirePackage{setspace} -\RequirePackage{enumitem} -\RequirePackage{mathpazo} -\RequirePackage{booktabs} % For \toprule etc. in tables -\RequirePackage[largestsep]{titlesec} -\RequirePackage{etoolbox} % For \AtBeginDocument etc. -\RequirePackage{tabto} % To use tab for alignment on first page -\RequirePackage[table]{xcolor} % To provide color for soul (for english editing) and provide coloring for tables (author request) -\RequirePackage{soul} % To highlight text -\newcommand{\highlight}[1]{\colorbox{yellow}{#1}} -\RequirePackage{multirow} -\RequirePackage{microtype} % For command \textls[]{} -\RequirePackage{tikz} % For \foreach used for Orcid icon -\RequirePackage{totcount} % To enable extracting the value of the counter "page" - - -%% OPTIONS -%% To choose the journal -% All journals (website name, full name, short name, DOI abbreviation, and ISSN) are defined in an extra file. -% This is the same as for mdpi.cls. -\input{journalnames} -\DeclareOption{journal}{\ClassWarning{mdpi}{You used an invalid journal name or you have not specified the journal. The first option of the documentclass command specifies the journal. The word 'journal' should be replaced by one of the journal names specified in template.tex (in the comment 'Choose between the following MDPI journal').}} - -%% To choose the type of manuscript -\DeclareOption{abstract}{\gdef\@arttype{Abstract}} -\DeclareOption{addendum}{\gdef\@arttype{Addendum}} -\DeclareOption{article}{\gdef\@arttype{Article}} -\DeclareOption{benchmark}{\gdef\@arttype{Benchmark}} -\DeclareOption{book}{\gdef\@arttype{Book}} -\DeclareOption{bookreview}{\gdef\@arttype{Book Review}} -\DeclareOption{briefreport}{\gdef\@arttype{Brief Report}} -\DeclareOption{casereport}{\gdef\@arttype{Case Report}} -\DeclareOption{changes}{\gdef\@arttype{Changes}} -\DeclareOption{comment}{\gdef\@arttype{Comment}} -\DeclareOption{commentary}{\gdef\@arttype{Commentary}} -\DeclareOption{communication}{\gdef\@arttype{Communication}} -\DeclareOption{conceptpaper}{\gdef\@arttype{Concept Paper}} -\DeclareOption{conferenceproceedings}{\gdef\@arttype{Proceedings}} -\DeclareOption{correction}{\gdef\@arttype{Correction}} -\DeclareOption{conferencereport}{\gdef\@arttype{Conference Report}} -\DeclareOption{expressionofconcern}{\gdef\@arttype{Expression of Concern}} -\DeclareOption{extendedabstract}{\gdef\@arttype{Extended Abstract}} -\DeclareOption{meetingreport}{\gdef\@arttype{Meeting Report}} -\DeclareOption{creative}{\gdef\@arttype{Creative}} -\DeclareOption{datadescriptor}{\gdef\@arttype{Data Descriptor}} -\DeclareOption{discussion}{\gdef\@arttype{Discussion}} -\DeclareOption{editorial}{\gdef\@arttype{Editorial}} -\DeclareOption{essay}{\gdef\@arttype{Essay}} -\DeclareOption{erratum}{\gdef\@arttype{Erratum}} -\DeclareOption{hypothesis}{\gdef\@arttype{Hypothesis}} -\DeclareOption{interestingimages}{\gdef\@arttype{Interesting Images}} -\DeclareOption{letter}{\gdef\@arttype{Letter}} -\DeclareOption{meetingreport}{\gdef\@arttype{Meeting Report}} -\DeclareOption{newbookreceived}{\gdef\@arttype{New Book Received}} -\DeclareOption{obituary}{\gdef\@arttype{Obituary}} -\DeclareOption{opinion}{\gdef\@arttype{Opinion}} -\DeclareOption{projectreport}{\gdef\@arttype{Project Report}} -\DeclareOption{reply}{\gdef\@arttype{Reply}} -\DeclareOption{retraction}{\gdef\@arttype{Retraction}} -\DeclareOption{review}{\gdef\@arttype{Review}} -\DeclareOption{perspective}{\gdef\@arttype{Perspective}} -\DeclareOption{protocol}{\gdef\@arttype{Protocol}} -\DeclareOption{shortnote}{\gdef\@arttype{Short Note}} -\DeclareOption{supfile}{\gdef\@arttype{Supfile}} -\DeclareOption{technicalnote}{\gdef\@arttype{Technical Note}} -\DeclareOption{viewpoint}{\gdef\@arttype{Viewpoint}} - -%% To choose the status of the manuscript -\DeclareOption{submit}{\gdef\@status{submit}} -\DeclareOption{accept}{\gdef\@status{accept}} - -%% To choose the whether there is one or more authors -\DeclareOption{oneauthor}{\gdef\@authornum{author}} -\DeclareOption{moreauthors}{\gdef\@authornum{authors}} - -%% Add the chosen options to the class -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} - -%% Defaults -\ExecuteOptions{notspecified,10pt,a4paper,article,submit,oneauthor} - -%% Process options -\ProcessOptions\relax - -%% MORE DECLARATIONS -%%%% Maths environments -\RequirePackage{amsthm} -\newtheoremstyle{mdpi}% name -{12pt}% space above -{12pt}% space below -{\itshape}% body font -{}% indent amount 1 -{\bfseries}% theorem head font -{.}% punctuation after theorem head -{.5em}% space after theorem head -{}% theorem head spec (can be left empty, meaning `normal') - -\renewcommand{\qed}{\unskip\nobreak\quad\qedsymbol} %% This places the symbol right after the text instead of placing it at the end on the line. - -\renewenvironment{proof}[1][\proofname]{\par %% \proofname allows to have "Proof of my theorem" - \pushQED{\qed}% - \normalfont \topsep6\p@\@plus6\p@\relax - \trivlist - \item[\hskip\labelsep - \bfseries %% "Proof" is bold - #1\@addpunct{.}]\ignorespaces %% Period instead of colon -}{% - \popQED\endtrivlist\@endpefalse -} - - \theoremstyle{mdpi} - \newcounter{theorem} - \setcounter{theorem}{0} - \newtheorem{Theorem}[theorem]{Theorem} - - \newcounter{lemma} - \setcounter{lemma}{0} - \newtheorem{Lemma}[lemma]{Lemma} - - \newcounter{corollary} - \setcounter{corollary}{0} - \newtheorem{Corollary}[corollary]{Corollary} - - \newcounter{proposition} - \setcounter{proposition}{0} - \newtheorem{Proposition}[proposition]{Proposition} - - \newcounter{characterization} - \setcounter{characterization}{0} - \newtheorem{Characterization}[characterization]{Characterization} - - \newcounter{property} - \setcounter{property}{0} - \newtheorem{Property}[property]{Property} - - \newcounter{problem} - \setcounter{problem}{0} - \newtheorem{Problem}[problem]{Problem} - - \newcounter{example} - \setcounter{example}{0} - \newtheorem{Example}[example]{Example} - - \newcounter{examplesanddefinitions} - \setcounter{examplesanddefinitions}{0} - \newtheorem{ExamplesandDefinitions}[examplesanddefinitions]{Examples and Definitions} - - \newcounter{remark} - \setcounter{remark}{0} - \newtheorem{Remark}[remark]{Remark} - - \newcounter{definition} - \setcounter{definition}{0} - \newtheorem{Definition}[definition]{Definition} - - \newcounter{hypothesis} - \setcounter{hypothesis}{0} - \newtheorem{Hypothesis}[hypothesis]{Hypothesis} - - \newcounter{notation} - \setcounter{notation}{0} - \newtheorem{Notation}[notation]{Notation} - -%%%% Hyphenation -\RequirePackage[none]{hyphenat} -\sloppy - -%%%% References -\RequirePackage[sort&compress,sectionbib]{natbib} % option sectionbib is for optionally organizing references using sections (author request) - -\ifthenelse{\equal{\@journal}{admsci} -\OR \equal{\@journal}{arts} -\OR \equal{\@journal}{econometrics} -\OR \equal{\@journal}{economies} -\OR \equal{\@journal}{genealogy} -\OR \equal{\@journal}{humanities} -\OR \equal{\@journal}{ijfs} -\OR \equal{\@journal}{jrfm} -\OR \equal{\@journal}{languages} -\OR \equal{\@journal}{laws} -\OR \equal{\@journal}{religions} -\OR \equal{\@journal}{risks} -\OR \equal{\@journal}{socsci}}{% - \bibliographystyle{chicago2} - \bibpunct{(}{)}{;}{x}{}{}% - }{% - \bibliographystyle{mdpi} - \bibpunct{[}{]}{,}{n}{}{}% - }% - -\renewcommand\NAT@set@cites{% - \ifNAT@numbers - \ifNAT@super \let\@cite\NAT@citesuper - \def\NAT@mbox##1{\unskip\nobreak\textsuperscript{##1}}% - \let\citeyearpar=\citeyear - \let\NAT@space\relax - \def\NAT@super@kern{\kern\p@}% - \else - \let\NAT@mbox=\mbox - \let\@cite\NAT@citenum - \let\NAT@space\relax - \let\NAT@super@kern\relax - \fi - \let\@citex\NAT@citexnum - \let\@biblabel\NAT@biblabelnum - \let\@bibsetup\NAT@bibsetnum - \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@num\NAT@close}% - \def\natexlab##1{}% - \def\NAT@penalty{\penalty\@m}% - \else - \let\@cite\NAT@cite - \let\@citex\NAT@citex - \let\@biblabel\NAT@biblabel - \let\@bibsetup\NAT@bibsetup - \let\NAT@space\NAT@spacechar - \let\NAT@penalty\@empty - \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@date\NAT@close}% - \def\natexlab##1{##1}% - \fi} - -%%%%% Hyperlinks -%% Define color for citations -\definecolor{bluecite}{HTML}{0875b7} - -\ifthenelse{\equal{\@arttype}{Book}}{ - \RequirePackage[unicode=true, - bookmarksopen={true}, - pdffitwindow=true, - colorlinks=true, - linkcolor=black, - citecolor=black, - urlcolor=black, - hyperfootnotes=false, - pdfstartview={FitH}, - pdfpagemode=UseNone]{hyperref} - }{ - \RequirePackage[unicode=true, - bookmarksopen={true}, - pdffitwindow=true, - colorlinks=true, - linkcolor=bluecite, - citecolor=bluecite, - urlcolor=bluecite, - hyperfootnotes=false, - pdfstartview={FitH}, - pdfpagemode= UseNone]{hyperref} -} - -%% To have the possibility to change the urlcolor -\newcommand{\changeurlcolor}[1]{\hypersetup{urlcolor=#1}} - -%% Metadata -\newcommand{\org@maketitle}{}% LATEX-Check -\let\org@maketitle\maketitle -\def\maketitle{% - \hypersetup{ - pdftitle={\@Title}, - pdfsubject={\@abstract}, - pdfkeywords={\@keyword}, - pdfauthor={\@AuthorNames} - }% - \org@maketitle -} - -%%%% Footnotes -\RequirePackage[hang]{footmisc} -\setlength{\skip\footins}{1.2cm} -\setlength{\footnotemargin}{5mm} -\def\footnoterule{\kern-14\p@ -\hrule \@width 2in \kern 11.6\p@} - -%%%% URL -\RequirePackage{url} -\urlstyle{same} -\g@addto@macro{\UrlBreaks}{\UrlOrds} - -%%%% Widows & orphans -\clubpenalty=10000 -\widowpenalty=10000 -\displaywidowpenalty=10000 - -%%%% Front matter -\newcommand{\firstargument}{} -\newcommand{\Title}[1]{\gdef\@Title{#1}}% -\newcommand{\Author}[1]{\gdef\@Author{#1}}% -\def\@AuthorNames{} -\newcommand{\AuthorNames}[1]{\gdef\@AuthorNames{#1}}% -\newcommand{\firstpage}[1]{\gdef\@firstpage{#1}} -\newcommand{\doinum}[1]{\gdef\@doinum{#1}} - -% DOI number -\newcommand\twodigits[1]{% -\ifnum#1<10 -0\number#1 - \else -\number#1 -\fi -} - -\newcommand\fourdigits[1]{% -\ifnum#1<10 000\number#1 - \else - \ifnum#1<100 00\number#1 - \else - \ifnum#1<1000 0\number#1 - \else - \ifnum#1<10000 \number#1 - \else - error - \fi - \fi - \fi - \fi -} - - -\ifthenelse{\equal{\@journal}{molbank}}{ - \doinum{10.3390/\@articlenumber} - }{ - \doinum{10.3390/\@doiabbr\@pubvolume\twodigits\@issuenum\fourdigits\@articlenumber} -} - - -\newcommand{\pubvolume}[1]{\gdef\@pubvolume{#1}} -\newcommand{\pubyear}[1]{\gdef\@pubyear{#1}} -\newcommand{\copyrightyear}[1]{\gdef\@copyrightyear{#1}} -\newcommand{\address}[2][]{\renewcommand{\firstargument}{#1}\gdef\@address{#2}} -\newcommand{\corresfirstargument}{} -\def\@corres{} -\newcommand{\corres}[2][]{\renewcommand{\corresfirstargument}{#1}\gdef\@corres{#2}} -\def\@conference{} -\newcommand{\conference}[1]{\gdef\@conference{#1}}% -\def\@abstract{} -\renewcommand{\abstract}[1]{\gdef\@abstract{#1}} -\def\@externaleditor{} -\newcommand{\externaleditor}[1]{\gdef\@externaleditor{#1}} -\def\@LSID{} -\newcommand{\LSID}[1]{\gdef\@LSID{#1}} -\newcommand{\history}[1]{\gdef\@history{#1}} -\def\@pacs{} -\newcommand{\PACS}[1]{\gdef\@pacs{#1}} -\def\@msc{} -\newcommand{\MSC}[1]{\gdef\@msc{#1}} -\def\@jel{} -\newcommand{\JEL}[1]{\gdef\@jel{#1}} -\def\@keyword{} -\newcommand{\keyword}[1]{\gdef\@keyword{#1}} -\def\@dataset{} -\newcommand{\dataset}[1]{\gdef\@dataset{#1}} -\def\@datasetlicense{} -\newcommand{\datasetlicense}[1]{\gdef\@datasetlicense{#1}} -\def\@featuredapplication{} -\newcommand{\featuredapplication}[1]{\gdef\@featuredapplication{#1}} -\def\@keycontribution{} -\newcommand{\keycontribution}[1]{\gdef\@keycontribution{#1}} - - -\def\@issuenum{} -\newcommand{\issuenum}[1]{\gdef\@issuenum{#1}} -\def\@updates{} -\newcommand{\updates}[1]{\gdef\@updates{#1}} - -\def\@firstnote{} -\newcommand{\firstnote}[1]{\gdef\@firstnote{#1}} -\def\@secondnote{} -\newcommand{\secondnote}[1]{\gdef\@secondnote{#1}}% -\def\@thirdnote{} -\newcommand{\thirdnote}[1]{\gdef\@thirdnote{#1}}% -\def\@fourthnote{} -\newcommand{\fourthnote}[1]{\gdef\@fourthnote{#1}}% -\def\@fifthnote{} -\newcommand{\fifthnote}[1]{\gdef\@fifthnote{#1}}% -\def\@sixthnote{} -\newcommand{\sixthnote}[1]{\gdef\@sixthnote{#1}}% -\def\@seventhnote{} -\newcommand{\seventhnote}[1]{\gdef\@seventhnote{#1}}% -\def\@eighthnote{} -\newcommand{\eighthnote}[1]{\gdef\@eighthnote{#1}}% - -\def\@simplesumm{} -\newcommand{\simplesumm}[1]{\gdef\@simplesumm{#1}} -\newcommand{\articlenumber}[1]{\gdef\@articlenumber{#1}} - -\def\@externalbibliography{} -\newcommand{\externalbibliography}[1]{\gdef\@externalbibliography{#1}} - -\def\@reftitle{} -\newcommand{\reftitle}[1]{\gdef\@reftitle{#1}} - -% For transition period to change back to continuous page numbers -\def\@continuouspages{} -\newcommand{\continuouspages}[1]{\gdef\@continuouspages{#1}} - - -%% ORCID -% Make Orcid icon -\newcommand{\orcidicon}{\includegraphics[width=0.32cm]{logo-orcid.pdf}} - -% Define link and button for each author -\foreach \x in {A, ..., Z}{% -\expandafter\xdef\csname orcid\x\endcsname{\noexpand\href{https://orcid.org/\csname orcidauthor\x\endcsname}{\noexpand\orcidicon}} -} - -%%%% Journal name for the header -\newcommand{\journalname}{\@journalshort} - - -\regtotcounter{page} % to enable extracting the value of the counter "page" using the totcount package - -%%%% Header and footer on first page -%% The plain page style needs to be redefined because with \maketitle in the article class, LaTeX applies the the plain page style automatically to the first page. -\ifthenelse{\equal{\@journal}{preprints} % - \OR \equal{\@arttype}{Book}}{% - \fancypagestyle{plain}{% - \fancyhf{} - \ifthenelse{\equal{\@arttype}{Book}}{ - \fancyfoot[C]{\footnotesize\thepage} - }{% - } - } - }{% - \ifthenelse{\equal{\@arttype}{Supfile}}{ - \fancypagestyle{plain}{ - \fancyhf{} - \fancyhead[R]{ - \footnotesize % - S\thepage{} of S\pageref*{LastPage}% - }% - \fancyhead[L]{ - \footnotesize % - \ifthenelse{\equal{\@status}{submit}}{% - Version {\@ \today} submitted to {\em\journalname}% - }{% - {\em \journalname} % - {\bfseries \@pubyear}, % - {\em \@pubvolume}, % - \ifthenelse{\equal{\@continuouspages}{\@empty}}{% - \@firstpage --\pageref*{LastPage}% - }{% - \@articlenumber% - }% - ; doi:{\changeurlcolor{black}% - \href{http://dx.doi.org/\@doinum}% - {\@doinum}}% - }% - }% - }% - }{ - \fancypagestyle{plain}{ - \fancyhf{} - \fancyfoot[L]{ - \footnotesize% - \ifthenelse{\equal{\@status}{submit}}{% - Submitted to {\em\journalname}, % - pages \thepage \ -- \color{black}{\pageref*{LastPage}}% - }{ - {\em \journalname}\ % - {\bfseries \@pubyear}, % - {\em \@pubvolume}, % - \ifthenelse{\equal{\@continuouspages}{\@empty}}{% - \@articlenumber% - }{% - \@firstpage\ifnumcomp{\totvalue{page}-1}{=}{\@firstpage}{}{--\pageref*{LastPage}}% - }% - ; doi:{\changeurlcolor{black}% - \href{http://dx.doi.org/\@doinum}% - {\@doinum}}% - }% - }% - \fancyfoot[R]{ - \footnotesize% - {\changeurlcolor{black}% - \href{http://www.mdpi.com/journal/\@journal}% - {www.mdpi.com/journal/\@journal}}% - }% - \fancyhead{} - \renewcommand{\headrulewidth}{0.0pt}% - } - }% - }% - -%%%% Maketitle part 1: Logo, Arttype, Title, Author -\renewcommand{\@maketitle}{ - \begin{flushleft} - \ifthenelse{\equal{\@arttype}{Supfile}}{% - \fontsize{18}{18}\selectfont - \raggedright - \noindent\textbf{Supplementary Materials: \@Title}% - \par - \vspace{12pt} - \fontsize{10}{10}\selectfont - \noindent\boldmath\bfseries{\@Author} - }{% - \ifthenelse{\equal{\@arttype}{Book}}{}{% - \vspace*{-1.75cm} - } - {%0 - \ifthenelse{\equal{\@journal}{preprints} - \OR \equal{\@arttype}{Book}}{}{% - \ifthenelse{\equal{\@status}{submit}}{% - \hfill \href{http://www.mdpi.com}{% - \includegraphics[height=1cm]{logo-mdpi.pdf}}\vspace{0.5cm}% - }{ - \href{http://www.mdpi.com/journal/\@journal}{ - \includegraphics[height=1.2cm]{\@journal-logo.eps}}% - \hfill - \ifthenelse{\equal{\@journal}{proceedings}}{ - \href{http://www.mdpi.com/journal/\@journal}{ - \includegraphics[height=1.2cm]{logo-conference.eps} - \hfill} - }{} - \ifthenelse{\equal{\@journal}{scipharm}}{% - \href{http://www.mdpi.com}{\includegraphics[height=1cm]{logo-mdpi-scipharm.eps}}% - }{% - \href{http://www.mdpi.com}{\includegraphics[height=1cm]{logo-mdpi.pdf}}% - }% - }% - }% - \par - }%0 - {%1 - \vspace{14pt} - \fontsize{10}{10}\selectfont - \ifthenelse{\equal{\@arttype}{Book}}{}{ - \textit{\@arttype}% - }% - \par% - }%1 - {%2 - \vspace{-1pt} - \fontsize{18}{18}\selectfont - \boldmath\bfseries{\@Title} - \par - \vspace{15pt} - }%2 - {%3 - \boldmath\bfseries{\@Author} - \par - \vspace{-4pt} - }%3 - } - \end{flushleft}% - } - -% Commands for hanging indent -\newcommand{\dist}{1.7em} -\newcommand{\hang}{\hangafter=1\hangindent=\dist\noindent} - -%%%% Maketitle part 2 -\newcommand{\maketitlen}{ -\ifthenelse{\equal{\@arttype}{Book}}{\vspace{12pt}}{ - \begin{flushleft} - \begin{spacing}{1.35} - \leftskip0.2cm - \fontsize{9}{9}\selectfont - {% - \ifthenelse{\equal{\firstargument}{1}}{}{% - \hang}\@address - \par - }% - {% - \ifthenelse{\equal{\@authornum}{author}}{}{% - \ifthenelse{\equal{\@corres}{\@empty}}{}{% - \hang\textbf{*} \tabto{\dist} \@corres} - \par - } - }% - {% - \ifthenelse{\equal{\@conference}{\@empty}}{}{% - \hang$\dagger$ \tabto{\dist} This paper is an extended version of our paper published in\space \@conference.} - \par - }% - {% - \ifthenelse{\equal{\@firstnote}{\@empty}}{}{% - \hang\ifthenelse{\equal{\@conference}{\@empty}}{$\dagger$}{$\ddagger$} \tabto{\dist} \@firstnote} - \par - }% - {% - \ifthenelse{\equal{\@secondnote}{\@empty}}{}{% - \hang \ifthenelse{\equal{\@conference}{\@empty}}{$\ddagger$}{\S} \tabto{\dist} \@secondnote} - \par - }% - {% - \ifthenelse{\equal{\@thirdnote}{\@empty}}{}{% - \hang \ifthenelse{\equal{\@conference}{\@empty}}{\S}{$\|$} \tabto{\dist} \@thirdnote} - \par - }% - {% - \ifthenelse{\equal{\@fourthnote}{\@empty}}{}{% - \hang \ifthenelse{\equal{\@conference}{\@empty}}{$\|$}{\P} \tabto{\dist} \@fourthnote} - \par - }% - {% - \ifthenelse{\equal{\@fifthnote}{\@empty}}{}{% - \hang \ifthenelse{\equal{\@conference}{\@empty}}{\P}{**} \tabto{\dist} \@fifthnote} - \par - }% - {% - \ifthenelse{\equal{\@sixthnote}{\@empty}}{}{% - \hang \ifthenelse{\equal{\@conference}{\@empty}}{**}{$\dagger\dagger$} \tabto{\dist} \@sixthnote} - \par - }% - {% - \ifthenelse{\equal{\@seventhnote}{\@empty}}{}{% - \hang \ifthenelse{\equal{\@conference}{\@empty}}{$\dagger\dagger$}{$\ddagger\ddagger$} \tabto{\dist} \@seventhnote} - \par - }% - {% - \ifthenelse{\equal{\@eighthnote}{\@empty}}{}{% - \hang \ifthenelse{\equal{\@conference}{\@empty}}{$\ddagger\ddagger$}{***} \tabto{\dist} \@eighthnote} - \par - }% - \vspace{6pt} - \ifthenelse{\equal{\@updates}{\@empty}}{ - \ifthenelse{\equal{\@externaleditor}{\@empty}}{}{\@externaleditor} - \par - \ifthenelse{\equal{\@LSID}{\@empty}}{}{\@LSID} - \par - \ifthenelse{\equal{\@status}{submit}}{ - Version {\@ \today} submitted to \journalname - }{ - \mbox{\@history} - } - }{ - \parbox[tb]{.79\textwidth}{ - \ifthenelse{\equal{\@externaleditor}{\@empty}}{}{\@externaleditor} - \par - \ifthenelse{\equal{\@LSID}{\@empty}}{}{\@LSID} - \par - \ifthenelse{\equal{\@status}{submit}}{ - Version {\@ \today} submitted to \journalname - }{ - \mbox{\@history} - } - } - \parbox[b]{.19\textwidth}{ - \hfill - \ifthenelse{\equal{\@updates}{\@empty}}{ - }{ - \href{http://www.mdpi.com/\@ISSN/\@pubvolume/\@issuenum/\@articlenumber?type=check_update&version=1}{\includegraphics[height=.6cm]{logo-updates.pdf}}% - }% - }% - } - \par - \vspace{-4pt}% - \end{spacing} - \end{flushleft} -} -} - -%%%% Abstract, keywords, journal data, PACS, MSC, JEL -\newcommand{\abstractkeywords}{ -\vspace{-8pt} -{% For journal Applied Sciences: -\ifthenelse{\equal{\@featuredapplication}{\@empty}}{}{ -\begingroup -\leftskip0.2cm -\noindent\textbf{Featured Application:\space\@featuredapplication} -\vspace{12pt} -\par -\endgroup} -}% -{%10 -\begingroup -\leftskip0.2cm -\ifthenelse{\equal{\@simplesumm}{\@empty}}{}{ -\noindent\textbf{Simple Summary:\space}\@simplesumm -\vspace{12pt} -\par -} -\ifthenelse{\equal{\@abstract}{\@empty}}{}{ -\noindent\textbf{Abstract:\space}\@abstract -\vspace{12pt} -\par -} -\endgroup -}%10 -{% For journal Data: -\ifthenelse{\equal{\@dataset}{\@empty}}{}{ -\begingroup -\leftskip0.2cm -\noindent\textbf{Dataset:\space}\@dataset -\vspace{12pt} -\par -\endgroup} -}% -{%For journal Data: -\ifthenelse{\equal{\@datasetlicense}{\@empty}}{}{ -\begingroup -\leftskip0.2cm -\noindent\textbf{Dataset License:\space}\@datasetlicense -\vspace{12pt} -\par -\endgroup} -}% -{%11 -\begingroup -\leftskip0.2cm -\ifthenelse{\equal{\@keyword}{\@empty}}{}{ -\noindent\textbf{Keywords:\space}\@keyword -\vspace{12pt} -\par -} -\endgroup -}%11 -{%For journal Toxins: -\begingroup -\leftskip0.2cm -\ifthenelse{\equal{\@keycontribution}{\@empty}}{}{ -\noindent\textbf{Key Contribution:\space}\@keycontribution -\vspace{12pt} -\par -} -\endgroup -}%11 -{%12 -\ifthenelse{\equal{\@pacs}{\@empty}}{}{ -\begingroup -\leftskip0.2cm -\noindent\textbf{PACS:\space}\@pacs -\vspace{12pt} -\par -\endgroup} -}%12 -{%13 -\ifthenelse{\equal{\@msc}{\@empty}}{}{ -\begingroup -\leftskip0.2cm -\noindent\textbf{MSC:\space}\@msc -\vspace{12pt} -\par -\endgroup} -}%13 -{%14 -\ifthenelse{\equal{\@jel}{\@empty}}{}{ -\begingroup -\leftskip0.2cm -\noindent\textbf{JEL Classification:\space}\@jel -\vspace{12pt} -\par -\endgroup} -}%14 -\vspace{4pt} -\ifthenelse{\equal{\@arttype}{Book}}{}{\hrule} -\vspace{12pt} -} - - -%%%% Print maketitle and abstractkeywords -\ifthenelse{\equal{\@arttype}{Supfile}}{ - \AfterEndPreamble{ - \maketitle - \let\maketitle\relax - \ifthenelse{\equal{\@status}{submit}}{\linenumbers}{} - }% - }{ - \AfterEndPreamble{ - \maketitle - \let\maketitle\relax - \maketitlen - \let\maketitlen\relax - \ifthenelse{\equal{\@status}{submit}}{\linenumbers}{} - \abstractkeywords - }% - } -\AtBeginDocument{ - \DeclareSymbolFont{AMSb}{U}{msb}{m}{n} - \DeclareSymbolFontAlphabet{\mathbb}{AMSb} - } - -%%%% Font size in Tables -\AtEndPreamble{ - \def\@tablesize{} - \newcommand{\tablesize}[1]{\gdef\@tablesize{#1}} - \let\oldtabular\tabular - \renewcommand{\tabular}{\ifthenelse{\equal{\@tablesize}{\@empty}}{\small}{\@tablesize}\oldtabular} -} - -%%%% Section headings -\setcounter{secnumdepth}{4} %i.e., section numbering depth, which defaults to 3 in the article class. To get paragraphs numbered and counted, increase the default value of secnumdepth to 4 - -\titleformat {\section} [block] {\raggedright \fontsize{10}{10}\selectfont\bfseries} {\thesection.\space} {0pt} {} -\titlespacing {\section} {0pt} {12pt} {6pt} - -\titleformat {\subsection} [block] {\raggedright \fontsize{10}{10}\selectfont\itshape} {\thesubsection.\space} {0pt} {} -\titlespacing {\subsection} {0pt} {12pt} {6pt} - -\titleformat {\subsubsection} [block] {\raggedright \fontsize{10}{10}\selectfont} {\thesubsubsection.\space} {0pt} {} -\titlespacing {\subsubsection} {0pt} {12pt} {6pt} - -\titleformat {\paragraph} [block] {\raggedright \fontsize{10}{10}\selectfont} {} {0pt} {} -\titlespacing {\paragraph} {0pt} {12pt} {6pt} - -%%%% Special section title style for back matter -\newcommand{\supplementary}[1]{ -\par\vspace{6pt}\noindent{\fontsize{9}{9}\selectfont\textbf{Supplementary Materials:} {#1}\par}} - -\newcommand{\acknowledgments}[1]{ -\vspace{6pt}\noindent{\fontsize{9}{9}\selectfont\textbf{Acknowledgments:} {#1}\par}} - -\newcommand{\authorcontributions}[1]{% -\vspace{6pt}\noindent{\fontsize{9}{9}\selectfont\textbf{Author Contributions:} {#1}\par}} - -\newcommand{\funding}[1]{ -\vspace{6pt}\noindent{\fontsize{9}{9}\selectfont\textbf{Funding:} {#1}\par}} - -\newcommand{\conflictsofinterest}[1]{% -\vspace{6pt}\noindent{\fontsize{9}{9}\selectfont\textbf{Conflicts of Interest:} {#1}\par}} - -\newcommand{\conflictofinterest}[1]{% Backwards compatibility for book prodcution -\vspace{6pt}\noindent{\fontsize{9}{9}\selectfont\textbf{Conflicts of Interest:} {#1}\par}} - -\newcommand{\conflictofinterests}[1]{% Backwards compatibility for book prodcution -\vspace{6pt}\noindent{\fontsize{9}{9}\selectfont\textbf{Conflicts of Interest:} {#1}\par}} - -\newcommand{\sampleavailability}[1]{% -\vspace{12pt}\noindent{\fontsize{9}{9}\selectfont\textbf{Sample Availability:} {#1}\par}} - -\newcommand{\reviewreports}[1]{% -\vspace{12pt}\noindent{\fontsize{9}{9}\selectfont\textbf{Review Reports:} {#1}\par}} - -\newcommand{\abbreviations}[1]{% -\vspace{12pt}\noindent{\selectfont\textbf{Abbreviations}\par\vspace{6pt}\noindent {\fontsize{9}{9}\selectfont #1}\par}} - -%%%%% Defines the appendix -\def\@appendixtitles{} -\newcommand{\appendixtitles}[1]{\gdef\@appendixtitles{#1}} - -\def\@appendixsections{} -\newcommand{\appendixsections}[1]{\gdef\@appendixsections{#1}} - -\renewcommand{\appendix}{% -\setcounter{section}{0}% -\setcounter{subsection}{0}% -\setcounter{subsubsection}{0}% -% -\gdef\thesection{\@Alph\c@section}% -\gdef\thesubsection{\@Alph\c@section.\@arabic\c@subsection}% -% -\titleformat {\section} [block] {\raggedright \fontsize{10}{10}\selectfont\bfseries} {% - \ifthenelse{\equal{\@appendixtitles}{yes}}{% - \appendixname~\thesection.% - }{% - \appendixname~\thesection~% - } - } {0pt} {} -\titlespacing {\section} {0pt} {12pt} {6pt} -% -\titleformat {\subsection} [block] {\raggedright \fontsize{10}{10}\selectfont\itshape} {% - \ifthenelse{\equal{\@appendixtitles}{yes}}{% - \appendixname~\thesubsection.% - }{% - \appendixname~\thesubsection% - } - } {0pt} {} -\titlespacing {\subsection} {0pt} {12pt} {6pt} -% -\titleformat {\subsubsection} [block] {\raggedright \fontsize{10}{10}\selectfont} {% - \ifthenelse{\equal{\@appendixtitles}{yes}}{% - \appendixname~\thesubsubsection.% - }{% - \appendixname~\thesubsubsection% - } - } {0pt} {} -\titlespacing {\subsubsection} {0pt} {12pt} {6pt} -% -\gdef\theHsection{\@Alph\c@section.}% for hyperref -\gdef\theHsubsection{\@Alph\c@section.\@arabic\c@subsection}% for hyperref -\csname appendixmore\endcsname -\renewcommand{\thefigure}{A\arabic{figure}} -\setcounter{figure}{0} -\renewcommand{\thetable}{A\arabic{table}} -\setcounter{table}{0} -\renewcommand{\thescheme}{A\arabic{scheme}} -\setcounter{scheme}{0} -\renewcommand{\thechart}{A\arabic{chart}} -\setcounter{chart}{0} -\renewcommand{\theboxenv}{A\arabic{boxenv}} -\setcounter{boxenv}{0} -\renewcommand{\theequation}{A\arabic{equation}} -\setcounter{equation}{0} -\renewcommand{\thetheorem}{A\arabic{theorem}} -\setcounter{theorem}{0} -\renewcommand{\thelemma}{A\arabic{lemma}} -\setcounter{lemma}{0} -\renewcommand{\thecorollary}{A\arabic{corollary}} -\setcounter{corollary}{0} -\renewcommand{\theproposition}{A\arabic{proposition}} -\setcounter{proposition}{0} -\renewcommand{\thecharacterization}{A\arabic{characterization}} -\setcounter{characterization}{0} -\renewcommand{\theproperty}{A\arabic{property}} -\setcounter{property}{0} -\renewcommand{\theproblem}{A\arabic{problem}} -\setcounter{problem}{0} -\renewcommand{\theexample}{A\arabic{example}} -\setcounter{example}{0} -\renewcommand{\theexamplesanddefinitions}{A\arabic{examplesanddefinitions}} -\setcounter{examplesanddefinitions}{0} -\renewcommand{\theremark}{A\arabic{remark}} -\setcounter{remark}{0} -\renewcommand{\thedefinition}{A\arabic{definition}} -\setcounter{definition}{0} -\renewcommand{\thehypothesis}{A\arabic{hypothesis}} -\setcounter{hypothesis}{0} -\renewcommand{\thenotation}{A\arabic{notation}} -\setcounter{notation}{0} -} - -%%%% Layout -\ifthenelse{\equal{\@arttype}{Book}}{%% - \RequirePackage[left=2.05cm, - right=2.05cm, - top=2.05cm, - bottom=2.05cm, - paperwidth=170mm, - paperheight=244mm, - includehead, - includefoot]{geometry} - }{ - \RequirePackage[left=2.7cm, - right=2.7cm, - top=1.8cm, - bottom=1.5cm, - includehead, - includefoot]{geometry} - } - -\linespread{1.13} -\setlength{\parindent}{0.75cm} - -%%%% Figures and tables -\RequirePackage{newfloat} -\DeclareFloatingEnvironment[]{listing} -\DeclareFloatingEnvironment[name=Box]{boxenv} -\DeclareFloatingEnvironment[]{chart} -\DeclareFloatingEnvironment[]{scheme} - -\RequirePackage{caption} -\captionsetup[figure]{position=bottom, margin=0.75cm, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, belowskip=-6pt, justification=justified} - -\captionsetup[scheme]{position=bottom, margin=0.75cm, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, belowskip=-6pt, justification=justified} - -\captionsetup[listing]{position=top, margin=0.75cm, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, justification=justified} - -\captionsetup[chart]{position=bottom, margin=0.75cm, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, belowskip=-6pt, justification=justified} - -\captionsetup[table]{position=top, margin=0.75cm, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, justification=justified} - -\captionsetup[boxenv]{position=top, margin=0.75cm, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt,justification=justified} - - - -%% For table footnotes -\newsavebox{\@justcentbox} -\newcommand{\justifyorcenter}[1]{ -\sbox \@justcentbox{#1} -\ifdim \wd \@justcentbox >\hsize #1 -\else \centerline{#1} \fi -} - -%%%% Bullet lists -\newlength{\wideitemsep} -\setlength{\wideitemsep}{.5\itemsep} -\addtolength{\wideitemsep}{-7pt} -\let\olditem\item -\renewcommand{\item}{\setlength{\itemsep}{\wideitemsep}\olditem} - -%%%% Quote environment -\patchcmd{\quote}{\rightmargin}{\leftmargin 0.75cm \rightmargin}{}{} - -%%%% Supplementary file -\ifthenelse{\equal{\@arttype}{Supfile}}{ - \renewcommand{\thefigure}{S\arabic{figure}}% - \renewcommand{\thetable}{S\arabic{table}}% - }{}% - -%% Link to supplementary material: www.mdpi.com/ISSN-number/volume-number/issue-number/article-number -\newcommand{\linksupplementary}[1]{\url{http://www.mdpi.com/\@ISSN/\@pubvolume/\@issuenum/\@articlenumber/#1}} - -%%%% Header and footer (all pages except the first) -\renewcommand\headrule{} %% set line (from fancyhdr) in header to nothing -\pagestyle{fancy} -\lhead{ - \ifthenelse{\equal{\@journal}{preprints}% - \OR \equal{\@arttype}{Book}}{% - }{% - \fontsize{8}{8}\selectfont% - \ifthenelse{\equal{\@status}{submit}}{% - Version {\@ \today} submitted to {\em \journalname}% - }{% - \ifthenelse{\equal{\@arttype}{Supfile}}{% - {\em \journalname} {\bfseries \@pubyear}, {\em \@pubvolume} % - %\ifthenelse{\equal{\@articlenumber}{}}{% - %\@firstpage --\pageref*{LastPage}% - %}{\@articlenumber}% - ; doi:{\changeurlcolor{black}% - \href{http://dx.doi.org/\@doinum}% - {\@doinum}}% - }{% - {\em\journalname\ }{\bfseries\@pubyear}, {\em \@pubvolume}% - \ifthenelse{\equal{\@continuouspages}{\@empty}}{% - , \@articlenumber% - }{% - }% - }% - }% - }% - } - -\rhead{% -\ifthenelse{\equal{\@arttype}{Book}}{}{% - \ifthenelse{\equal{\@arttype}{Supfile}}{% - \fontsize{8}{8}\selectfont S\thepage{} of S\pageref*{LastPage}% - }{% - \ifthenelse{\equal{\@continuouspages}{\@empty}}{% - \fontsize{8}{8}\selectfont\thepage{} of \pageref*{LastPage}% - }{% - \fontsize{8}{8}\selectfont\thepage%{} of \pageref*{LastPage}% - }% - }% - }% -} - -\cfoot{ - \ifthenelse{\equal{\@arttype}{Book}}{% - \fontsize{8}{8}\selectfont\thepage - }{% - } -} - - -%%%% Bibliography -\renewcommand\bibname{References} % Backwards compatibility for book production -\renewcommand\@biblabel[1]{#1.\hfill} -\def\thebibliography#1{ -\linespread{1.44} -\section*{\@reftitle} -\addcontentsline{toc}{section}{References} -\fontsize{9}{9}\selectfont -\list{{\arabic{enumi}}}{\def\makelabel##1{\hss{##1}} -\topsep=0\p@ -\parsep=5\p@ -\partopsep=0\p@ -\itemsep=0\p@ -\labelsep=1.5mm -\ifthenelse{\equal{\@journal}{admsci} -\OR \equal{\@journal}{arts} -\OR \equal{\@journal}{econometrics} -\OR \equal{\@journal}{economies} -\OR \equal{\@journal}{genealogy} -\OR \equal{\@journal}{humanities} -\OR \equal{\@journal}{ijfs} -\OR \equal{\@journal}{jrfm} -\OR \equal{\@journal}{languages} -\OR \equal{\@journal}{laws} -\OR \equal{\@journal}{religions} -\OR \equal{\@journal}{risks} -\OR \equal{\@journal}{socsci}}{% - \ifthenelse{\equal{\@externalbibliography}{\@empty}}{% - \itemindent=-7.7mm - }{% - \itemindent=-3.3mm}% - }{% - \itemindent=0\p@} -\settowidth\labelwidth{\footnotesize[#1]}% -\leftmargin\labelwidth -\advance\leftmargin\labelsep -%\advance\leftmargin -\itemindent -\usecounter{enumi}} -%\def\newblock{\ } -%\sloppy\clubpenalty4000\widowpenalty4000 -%\sfcode`\.=1000\relax -} -\let\endthebibliography=\endlist - -%%%% Copyright info -\newcommand{\cright}{% - \ifthenelse{\equal{\@arttype}{Supfile} \OR \equal{\@journal}{preprints}}{% - }{% - \vspace{12pt} - \noindent - \linespread{1.44} - \fontsize{9}{9}\selectfont - \ifthenelse{\equal{\@status}{submit}}{ - \noindent \copyright{} {\@ \the\year} by the \@authornum. % - Submitted to {\em \journalname} for % - possible open access publication % - under the terms and conditions of the Creative Commons Attribution % - \ifthenelse{\equal{\@journal}{ijtpp}}{NonCommercial NoDerivatives (CC BY-NC-ND)}{(CC BY)} % - license % - \ifthenelse{\equal{\@journal}{ijtpp}}{ - (\changeurlcolor{black}% - \href{https://creativecommons.org/licenses/by-nc-nd/4.0/.}% - {https://creativecommons.org/licenses/by-nc-nd/4.0/}).% - }{% - (\changeurlcolor{black}% - \href{http://creativecommons.org/licenses/by/4.0/.}% - {http://creativecommons.org/licenses/by/4.0/}).} - }{ - \begin{minipage}{.2\textwidth} - \hspace{-1.2mm}% - \vspace{2mm}% - \href{http://creativecommons.org/}{% - \ifthenelse{\equal{\@journal}{ijtpp}}{% - \includegraphics[width=0.94\textwidth]{logo-ccby-nc-nd.eps}% - }{% - \includegraphics[width=0.94\textwidth]{logo-ccby.pdf} - } - } - \end{minipage}% - \begin{minipage}{.79\textwidth} - \copyright \ {\@copyrightyear} by the \@authornum. % - Licensee MDPI, Basel, Switzerland. % - This article is an open access article % - distributed under the terms and conditions % - of the Creative Commons Attribution % - \ifthenelse{\equal{\@journal}{ijtpp}}{NonCommercial NoDerivatives (CC BY-NC-ND)}{(CC BY)} % - license % - \ifthenelse{\equal{\@journal}{ijtpp}}{ - (\changeurlcolor{black}% - \href{https://creativecommons.org/licenses/by-nc-nd/4.0/.}% - {https://creativecommons.org/licenses/by-nc-nd/4.0/}).% - }{% - (\changeurlcolor{black}% - \href{http://creativecommons.org/licenses/by/4.0/.}% - {http://creativecommons.org/licenses/by/4.0/}).} - \end{minipage} - } - } - } - - -\endinput diff --git a/papers/Mathematics/paper.pdf b/papers/Mathematics/paper.pdf deleted file mode 100644 index ad9a354e30d356fe74664f2973a60148315a8fba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250727 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