=============================================================================== About this build: this rebuild has been done as part of reproduce.debian.net where we aim to reproduce Debian binary packages distributed via ftp.debian.org, by rebuilding using the exact same packages as the original build on the buildds, as described in the relevant .buildinfo file from buildinfos.debian.net. For more information please go to https://reproduce.debian.net or join #debian-reproducible on irc.debian.org =============================================================================== Preparing download of sources for /srv/rebuilderd/tmp/rebuilderdfDODFe/inputs/octave-statistics_1.8.4-1_i386.buildinfo Source: octave-statistics Version: 1.8.4-1 rebuilderd-worker node: infom07-amd64 +------------------------------------------------------------------------------+ | Downloading sources Sat, 18 Jul 2026 11:09:35 +0000 | +------------------------------------------------------------------------------+ Get:1 https://deb.debian.org/debian trixie InRelease [140 kB] Get:2 https://deb.debian.org/debian-security trixie-security InRelease [43.4 kB] Get:3 https://deb.debian.org/debian trixie-updates InRelease [47.3 kB] Get:4 https://deb.debian.org/debian trixie-proposed-updates InRelease [57.6 kB] Get:5 https://deb.debian.org/debian trixie-backports InRelease [54.0 kB] Get:6 https://deb.debian.org/debian forky InRelease [151 kB] Get:7 https://deb.debian.org/debian sid InRelease [193 kB] Get:8 https://deb.debian.org/debian experimental InRelease [91.7 kB] Get:9 https://deb.debian.org/debian trixie/non-free-firmware Sources [6552 B] Get:10 https://deb.debian.org/debian trixie/main Sources [10.5 MB] Get:11 https://deb.debian.org/debian-security trixie-security/non-free-firmware Sources [696 B] Get:12 https://deb.debian.org/debian-security trixie-security/main Sources [185 kB] Get:13 https://deb.debian.org/debian trixie-updates/main Sources [1840 B] Get:14 https://deb.debian.org/debian trixie-proposed-updates/main Sources [89.3 kB] Get:15 https://deb.debian.org/debian trixie-backports/main Sources [276 kB] Get:16 https://deb.debian.org/debian trixie-backports/non-free-firmware Sources [3376 B] Get:17 https://deb.debian.org/debian forky/non-free-firmware Sources [7864 B] Get:18 https://deb.debian.org/debian forky/main Sources [11.1 MB] Get:19 https://deb.debian.org/debian sid/main Sources [11.8 MB] Get:20 https://deb.debian.org/debian sid/non-free-firmware Sources [10.8 kB] Get:21 https://deb.debian.org/debian experimental/main Sources [356 kB] Get:22 https://deb.debian.org/debian experimental/non-free-firmware Sources [2568 B] Fetched 35.1 MB in 32s (1092 kB/s) Reading package lists... 'https://deb.debian.org/debian/pool/main/o/octave-statistics/octave-statistics_1.8.4-1.dsc' octave-statistics_1.8.4-1.dsc 2306 SHA256:b9fc794536692b263c26b9a9ad669f243e21081c382cb68ea6c60036210f5e01 'https://deb.debian.org/debian/pool/main/o/octave-statistics/octave-statistics_1.8.4.orig.tar.gz' octave-statistics_1.8.4.orig.tar.gz 1736259 SHA256:a7b0ee54b1c66d5726c7c4e846ad7bc6ba3c06fd169c0350246b260aadfd7d35 'https://deb.debian.org/debian/pool/main/o/octave-statistics/octave-statistics_1.8.4-1.debian.tar.xz' octave-statistics_1.8.4-1.debian.tar.xz 10744 SHA256:5417395f6dbd8406c15843d3c75e51845509efdbe9a07f9a9f6f963c36c2d1fe a7b0ee54b1c66d5726c7c4e846ad7bc6ba3c06fd169c0350246b260aadfd7d35 octave-statistics_1.8.4.orig.tar.gz 5417395f6dbd8406c15843d3c75e51845509efdbe9a07f9a9f6f963c36c2d1fe octave-statistics_1.8.4-1.debian.tar.xz b9fc794536692b263c26b9a9ad669f243e21081c382cb68ea6c60036210f5e01 octave-statistics_1.8.4-1.dsc +------------------------------------------------------------------------------+ | Calling debrebuild Sat, 18 Jul 2026 11:10:07 +0000 | +------------------------------------------------------------------------------+ Rebuilding octave-statistics=1.8.4-1 in /srv/rebuilderd/tmp/rebuilderdfDODFe/inputs now. + nice /usr/bin/debrebuild --buildresult=/srv/rebuilderd/tmp/rebuilderdfDODFe/out --builder=sbuild+unshare --cache=/srv/rebuilderd/cache -- /srv/rebuilderd/tmp/rebuilderdfDODFe/inputs/octave-statistics_1.8.4-1_i386.buildinfo /srv/rebuilderd/tmp/rebuilderdfDODFe/inputs/octave-statistics_1.8.4-1_i386.buildinfo contains a GPG signature which has NOT been validated Using defined Build-Path: /build/reproducible-path/octave-statistics-1.8.4 I: verifying dsc... successful! Get:1 http://deb.debian.org/debian unstable InRelease [193 kB] Get:2 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable InRelease [193 kB] Get:3 http://deb.debian.org/debian unstable/main i386 Packages [10.3 MB] Get:4 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 Packages [10.3 MB] Fetched 20.9 MB in 2s (9993 kB/s) Reading package lists... W: http://snapshot.debian.org/archive/debian/20260709T201930Z/dists/unstable/InRelease: Loading /etc/apt/trusted.gpg from deprecated option Dir::Etc::Trusted Get:1 http://deb.debian.org/debian unstable/main i386 libthai-data all 0.1.30-2 [172 kB] Fetched 172 kB in 0s (15.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sinau3c/libthai-data_0.1.30-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpam-modules-bin i386 1.7.0-8 [48.8 kB] Fetched 48.8 kB in 0s (4463 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphvooorue/libpam-modules-bin_1.7.0-8_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpng16-16t64 i386 1.6.58-1 [292 kB] Fetched 292 kB in 0s (19.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpq8tsjepw/libpng16-16t64_1.6.58-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libopengl0 i386 1.7.0-3+b1 [28.7 kB] Fetched 28.7 kB in 0s (2673 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1c572yhw/libopengl0_1.7.0-3+b1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libngtcp2-crypto-ossl-dev i386 1.22.1-1 [25.4 kB] Fetched 25.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpakx6wwyt/libngtcp2-crypto-ossl-dev_1.22.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libwacom9 i386 2.18.0-1 [29.1 kB] Fetched 29.1 kB in 0s (2700 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb1q804gr/libwacom9_2.18.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnet-netmask-perl all 2.0003-1 [28.5 kB] Fetched 28.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbxgbpmkx/libnet-netmask-perl_2.0003-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdebhelper-perl all 14.3 [77.3 kB] Fetched 77.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb6b1qok9/libdebhelper-perl_14.3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libc6-dev i386 2.42-17 [1813 kB] Fetched 1813 kB in 0s (103 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpf7vsc8kn/libc6-dev_2.42-17_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfeature-compat-class-perl all 0.08-1 [12.4 kB] Fetched 12.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpev0l21ej/libfeature-compat-class-perl_0.08-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 librtmp-dev i386 2.6-1 [72.5 kB] Fetched 72.5 kB in 0s (6462 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptyzaycg0/librtmp-dev_2.6-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcairo2 i386 1.18.4-3+b1 [596 kB] Fetched 596 kB in 0s (41.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwgeze403/libcairo2_1.18.4-3+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gcc i386 4:15.2.0-5+b1 [5152 B] Fetched 5152 B in 0s (411 kB/s) dpkg-name: info: moved 'gcc_4%3a15.2.0-5+b1_i386.deb' to '/srv/rebuilderd/tmp/tmpxn4initb/gcc_15.2.0-5+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 lzop i386 1.04-2 [87.8 kB] Fetched 87.8 kB in 0s (8363 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpu8rautkw/lzop_1.04-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gfortran-i686-linux-gnu i386 4:15.2.0-5+b1 [1280 B] Fetched 1280 B in 0s (123 kB/s) dpkg-name: info: moved 'gfortran-i686-linux-gnu_4%3a15.2.0-5+b1_i386.deb' to '/srv/rebuilderd/tmp/tmp9m87id1i/gfortran-i686-linux-gnu_15.2.0-5+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libquadmath0 i386 16.1.0-2 [231 kB] Fetched 231 kB in 0s (21.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmps62eonvt/libquadmath0_16.1.0-2_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libmpg123-0t64 i386 1.33.6-1 [153 kB] Fetched 153 kB in 0s (12.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwaaq90ib/libmpg123-0t64_1.33.6-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libclass-data-inheritable-perl all 0.10-1 [8632 B] Fetched 8632 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgx9papp7/libclass-data-inheritable-perl_0.10-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdata-messagepack-perl i386 1.02-3 [33.1 kB] Fetched 33.1 kB in 0s (3198 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8d7oih3n/libdata-messagepack-perl_1.02-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 sysvinit-utils i386 3.18-1 [30.2 kB] Fetched 30.2 kB in 0s (2876 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqvhnjqse/sysvinit-utils_3.18-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxau6 i386 1:1.0.11-1+b2 [21.1 kB] Fetched 21.1 kB in 0s (1989 kB/s) dpkg-name: info: moved 'libxau6_1%3a1.0.11-1+b2_i386.deb' to '/srv/rebuilderd/tmp/tmpxryc86xy/libxau6_1.0.11-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libasound2t64 i386 1.2.16.1-1 [422 kB] Fetched 422 kB in 0s (32.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9nn1yfmz/libasound2t64_1.2.16.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgcc-s1 i386 16.1.0-2 [87.8 kB] Fetched 87.8 kB in 0s (8026 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpox_bdi20/libgcc-s1_16.1.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libksba8 i386 1.8.0-3 [146 kB] Fetched 146 kB in 0s (12.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1zqk95c4/libksba8_1.8.0-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libboolean-perl all 0.46-3 [9924 B] Fetched 9924 B in 0s (791 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpc6_gyejv/libboolean-perl_0.46-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpod-pom-perl all 2.01-4 [65.0 kB] Fetched 65.0 kB in 0s (6341 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb60oh1dd/libpod-pom-perl_2.01-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsereal-encoder-perl i386 5.006+ds-1 [111 kB] Fetched 111 kB in 0s (8578 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3v4no249/libsereal-encoder-perl_5.006+ds-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpam0g i386 1.7.0-8 [69.8 kB] Fetched 69.8 kB in 0s (6215 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpngxvi89u/libpam0g_1.7.0-8_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libparse-recdescent-perl all 1.967015+dfsg-4 [147 kB] Fetched 147 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqwt0rl8w/libparse-recdescent-perl_1.967015+dfsg-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libio-interactive-perl all 1.027-1 [11.8 kB] Fetched 11.8 kB in 0s (1144 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmkyjfidu/libio-interactive-perl_1.027-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 netbase all 6.5 [12.4 kB] Fetched 12.4 kB in 0s (1225 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5bor__u7/netbase_6.5_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 tar i386 1.35+dfsg-4 [840 kB] Fetched 840 kB in 0s (58.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpx2ayc549/tar_1.35+dfsg-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmd4c0 i386 0.5.3-1 [49.5 kB] Fetched 49.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1hd6vll1/libmd4c0_0.5.3-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libstring-license-perl all 0.0.11-1 [34.7 kB] Fetched 34.7 kB in 0s (2878 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvn2l9n0p/libstring-license-perl_0.0.11-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libset-intspan-perl all 1.19-3 [25.3 kB] Fetched 25.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjgiezm6v/libset-intspan-perl_1.19-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-image0 i386 0.4.0-2+b3 [22.8 kB] Fetched 22.8 kB in 0s (2103 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5bxxel8f/libxcb-image0_0.4.0-2+b3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libwacom-common all 2.18.0-1 [117 kB] Fetched 117 kB in 0s (10.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5rjdnzpp/libwacom-common_2.18.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblua5.4-0 i386 5.4.8-2 [171 kB] Fetched 171 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6r_d7dl9/liblua5.4-0_5.4.8-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxml-namespacesupport-perl all 1.12-2 [15.1 kB] Fetched 15.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp627xvl1a/libxml-namespacesupport-perl_1.12-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnghttp2-dev i386 1.69.0-1 [136 kB] Fetched 136 kB in 0s (12.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpc2nsklek/libnghttp2-dev_1.69.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libperlio-utf8-strict-perl i386 0.010-1+b3 [11.6 kB] Fetched 11.6 kB in 0s (1145 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpznfglwnf/libperlio-utf8-strict-perl_0.010-1+b3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 sensible-utils all 0.0.26 [27.0 kB] Fetched 27.0 kB in 0s (2416 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxa3rm998/sensible-utils_0.0.26_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 diffutils i386 1:3.12-1 [413 kB] Fetched 413 kB in 0s (35.4 MB/s) dpkg-name: info: moved 'diffutils_1%3a3.12-1_i386.deb' to '/srv/rebuilderd/tmp/tmpp44e9okb/diffutils_3.12-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libgprofng0 i386 2.46.50.20260617-1 [858 kB] Fetched 858 kB in 0s (61.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8_fg8dl4/libgprofng0_2.46.50.20260617-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsvtav1enc4 i386 4.1.0+dfsg-1 [1010 kB] Fetched 1010 kB in 0s (58.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjmiwha6z/libsvtav1enc4_4.1.0+dfsg-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libngtcp2-16 i386 1.22.1-1 [166 kB] Fetched 166 kB in 0s (14.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkafh386p/libngtcp2-16_1.22.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxxf86vm1 i386 1:1.1.4-2+b1 [21.0 kB] Fetched 21.0 kB in 0s (2072 kB/s) dpkg-name: info: moved 'libxxf86vm1_1%3a1.1.4-2+b1_i386.deb' to '/srv/rebuilderd/tmp/tmp6p2kpffl/libxxf86vm1_1.1.4-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gettext i386 1.0-3 [2697 kB] Fetched 2697 kB in 0s (123 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpinedmzwd/gettext_1.0-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-template-perl all 1.61-1 [54.4 kB] Fetched 54.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb60d1b2t/libtext-template-perl_1.61-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libncursesw6 i386 6.6+20260608-2 [148 kB] Fetched 148 kB in 0s (14.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6le3mssy/libncursesw6_6.6+20260608-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6printsupport6 i386 6.10.2+dfsg-15 [235 kB] Fetched 235 kB in 0s (21.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpf6i47zjy/libqt6printsupport6_6.10.2+dfsg-15_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libexpat1 i386 2.8.2-1 [126 kB] Fetched 126 kB in 0s (11.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp98l_v9go/libexpat1_2.8.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblog-log4perl-perl all 1.57-1 [367 kB] Fetched 367 kB in 0s (27.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2_ka6a2t/liblog-log4perl-perl_1.57-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgd3 i386 2.3.3-13+b2 [130 kB] Fetched 130 kB in 0s (12.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl947u2_c/libgd3_2.3.3-13+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libapp-cmd-perl all 0.340-1 [63.8 kB] Fetched 63.8 kB in 0s (6160 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm4vw8oub/libapp-cmd-perl_0.340-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libio-tiecombine-perl all 1.005-3 [10.8 kB] Fetched 10.8 kB in 0s (1001 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5ihbrs4b/libio-tiecombine-perl_1.005-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 nettle-dev i386 3.10.2-1+b1 [1336 kB] Fetched 1336 kB in 0s (78.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmph9tw7w1s/nettle-dev_3.10.2-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6help6 i386 6.10.2-3 [205 kB] Fetched 205 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyd5k40y4/libqt6help6_6.10.2-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 readline-common all 8.3-4 [74.8 kB] Fetched 74.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdtp0jcr6/readline-common_8.3-4_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libffi8 i386 3.5.2-4 [22.7 kB] Fetched 22.7 kB in 0s (2141 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptpszr82c/libffi8_3.5.2-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmp3lame0 i386 3.101~svn6531+dfsg-1 [285 kB] Fetched 285 kB in 0s (21.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp73z8ur32/libmp3lame0_3.101~svn6531+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libberkeleydb-perl i386 0.66-2+b1 [126 kB] Fetched 126 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphza4mtyv/libberkeleydb-perl_0.66-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libvulkan1 i386 1.4.341.0-1 [152 kB] Fetched 152 kB in 0s (13.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnmeyawf_/libvulkan1_1.4.341.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnet-ipv6addr-perl all 1.02-1 [21.7 kB] Fetched 21.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_qv9hfs9/libnet-ipv6addr-perl_1.02-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdatetime-format-iso8601-perl all 0.19-1 [21.8 kB] Fetched 21.8 kB in 0s (2138 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqixy5vvz/libdatetime-format-iso8601-perl_0.19-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libparams-util-perl i386 1.102-3+b1 [24.7 kB] Fetched 24.7 kB in 0s (900 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6lb63yby/libparams-util-perl_1.102-3+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsyntax-keyword-try-perl i386 0.31-1 [27.6 kB] Fetched 27.6 kB in 0s (2491 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpa9u4bnov/libsyntax-keyword-try-perl_0.31-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libumfpack6 i386 1:7.12.2+dfsg-1 [329 kB] Fetched 329 kB in 0s (26.2 MB/s) dpkg-name: info: moved 'libumfpack6_1%3a7.12.2+dfsg-1_i386.deb' to '/srv/rebuilderd/tmp/tmpw9zgy8la/libumfpack6_7.12.2+dfsg-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libnghttp3-9 i386 1.15.0-1 [79.2 kB] Fetched 79.2 kB in 0s (7375 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm043erjz/libnghttp3-9_1.15.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhwy1t64 i386 1.3.0-2+b1 [844 kB] Fetched 844 kB in 0s (63.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphn9udcj7/libhwy1t64_1.3.0-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gcc-15 i386 15.3.0-1 [546 kB] Fetched 546 kB in 0s (40.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnkwzvj18/gcc-15_15.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpam-runtime all 1.7.0-8 [246 kB] Fetched 246 kB in 0s (19.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpto7m55on/libpam-runtime_1.7.0-8_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-shape0 i386 1.17.0-2+b2 [106 kB] Fetched 106 kB in 0s (9953 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7advkpje/libxcb-shape0_1.17.0-2+b2_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libqrupdate1 i386 1.1.5-3+b1 [38.8 kB] Fetched 38.8 kB in 0s (3755 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppk4ibins/libqrupdate1_1.1.5-3+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libparams-validationcompiler-perl all 0.31-1 [30.9 kB] Fetched 30.9 kB in 0s (3047 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyf5eenu_/libparams-validationcompiler-perl_0.31-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-icccm4 i386 0.4.2-1+b2 [28.5 kB] Fetched 28.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_odcwew7/libxcb-icccm4_0.4.2-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libregexp-wildcards-perl all 1.05-3 [14.1 kB] Fetched 14.1 kB in 0s (1289 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmph682po86/libregexp-wildcards-perl_1.05-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libduktape207 i386 2.7.0-2+b3 [138 kB] Fetched 138 kB in 0s (13.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuvqsedqi/libduktape207_2.7.0-2+b3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-util1 i386 0.4.1-1+b2 [24.0 kB] Fetched 24.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyf8hqemn/libxcb-util1_0.4.1-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 sed i386 4.9-3 [334 kB] Fetched 334 kB in 0s (26.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6uxan3ce/sed_4.9-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libclone-choose-perl all 0.010-2 [8676 B] Fetched 8676 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpevxwshdq/libclone-choose-perl_0.010-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfftw3-bin i386 3.3.11-1 [48.2 kB] Fetched 48.2 kB in 0s (4587 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp30tx1t_r/libfftw3-bin_3.3.11-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtest-exception-perl all 0.43-3 [16.9 kB] Fetched 16.9 kB in 0s (1655 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8t1jd1nq/libtest-exception-perl_0.43-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 ncurses-bin i386 6.6+20260608-2 [447 kB] Fetched 447 kB in 0s (36.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpic3nx_r1/ncurses-bin_6.6+20260608-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libc6 i386 2.42-17 [1659 kB] Fetched 1659 kB in 0s (97.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxrlx5hes/libc6_2.42-17_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libb2-1 i386 0.98.1-1.1+b3 [46.1 kB] Fetched 46.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfaydn3c1/libb2-1_0.98.1-1.1+b3_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libselinux1 i386 3.10-1 [88.4 kB] Fetched 88.4 kB in 0s (8128 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv5ne9vj0/libselinux1_3.10-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxml-sax-base-perl all 1.09-3 [20.6 kB] Fetched 20.6 kB in 0s (1770 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo9ixnx97/libxml-sax-base-perl_1.09-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 xz-utils i386 5.8.3-1 [745 kB] Fetched 745 kB in 0s (55.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb4hkla8k/xz-utils_5.8.3-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libseccomp2 i386 2.6.0-2+b1 [55.0 kB] Fetched 55.0 kB in 0s (4897 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwdedi8yi/libseccomp2_2.6.0-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libjpeg62-turbo i386 1:3.1.3-4 [215 kB] Fetched 215 kB in 0s (19.3 MB/s) dpkg-name: info: moved 'libjpeg62-turbo_1%3a3.1.3-4_i386.deb' to '/srv/rebuilderd/tmp/tmpdvj73r6x/libjpeg62-turbo_3.1.3-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-glx0 i386 1.17.0-2+b2 [124 kB] Fetched 124 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzkbgovz8/libxcb-glx0_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libio-string-perl all 1.08-4 [12.1 kB] Fetched 12.1 kB in 0s (1132 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpahylohzv/libio-string-perl_1.08-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libccolamd3 i386 1:7.12.2+dfsg-1 [53.1 kB] Fetched 53.1 kB in 0s (5090 kB/s) dpkg-name: info: moved 'libccolamd3_1%3a7.12.2+dfsg-1_i386.deb' to '/srv/rebuilderd/tmp/tmpedwd40rf/libccolamd3_7.12.2+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 pkgconf i386 2.5.1-4 [33.6 kB] Fetched 33.6 kB in 0s (3330 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2yxz9poy/pkgconf_2.5.1-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgraphicsmagick++-q16-12t64 i386 1.4+really1.3.46-2 [139 kB] Fetched 139 kB in 0s (11.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb5wny8mi/libgraphicsmagick++-q16-12t64_1.4+really1.3.46-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libglu1-mesa i386 9.0.2-1.1+b4 [190 kB] Fetched 190 kB in 0s (14.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdsgwjk4r/libglu1-mesa_9.0.2-1.1+b4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdb5.3t64 i386 5.3.28+dfsg2-11+b1 [767 kB] Fetched 767 kB in 0s (7230 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3w50jy6_/libdb5.3t64_5.3.28+dfsg2-11+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsqlite3-0 i386 3.53.3-1 [1049 kB] Fetched 1049 kB in 0s (5465 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl02cy8b0/libsqlite3-0_3.53.3-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgetopt-long-descriptive-perl all 0.117-1 [29.8 kB] Fetched 29.8 kB in 0s (2707 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbruggkei/libgetopt-long-descriptive-perl_0.117-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libimport-into-perl all 1.002005-2 [11.3 kB] Fetched 11.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpu5bixe42/libimport-into-perl_1.002005-2_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 dh-octave all 1.16.0 [24.4 kB] Fetched 24.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpi_y3cuz3/dh-octave_1.16.0_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfftw3-dev i386 3.3.11-1 [3184 kB] Fetched 3184 kB in 0s (115 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphf_d72vl/libfftw3-dev_3.3.11-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libavahi-common3 i386 0.8-18 [47.3 kB] Fetched 47.3 kB in 0s (4439 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5hp0b17f/libavahi-common3_0.8-18_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libunistring5 i386 1.4.2-1 [473 kB] Fetched 473 kB in 0s (39.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpa2yudjkx/libunistring5_1.4.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 licensecheck all 3.3.9-1 [50.1 kB] Fetched 50.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk04hrt0_/licensecheck_3.3.9-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgdbm-compat4t64 i386 1.26-1+b2 [52.6 kB] Fetched 52.6 kB in 0s (5179 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpij833wg5/libgdbm-compat4t64_1.26-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libunistring-dev i386 1.4.2-1 [647 kB] Fetched 647 kB in 0s (49.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpz3bmqfi7/libunistring-dev_1.4.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 cpp-15-i686-linux-gnu i386 15.3.0-1 [12.9 MB] Fetched 12.9 MB in 0s (198 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7o6f0max/cpp-15-i686-linux-gnu_15.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxml2-16 i386 2.15.3+dfsg-1 [672 kB] Fetched 672 kB in 0s (53.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9skists9/libxml2-16_2.15.3+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdatetime-format-strptime-perl all 1.8000-1 [33.8 kB] Fetched 33.8 kB in 0s (2780 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_19co_sz/libdatetime-format-strptime-perl_1.8000-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhash-merge-perl all 0.302-1 [14.7 kB] Fetched 14.7 kB in 0s (1430 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpd5fgljj1/libhash-merge-perl_0.302-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libssh2-1t64 i386 1.11.1-4 [256 kB] Fetched 256 kB in 0s (23.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp24mqjkhn/libssh2-1t64_1.11.1-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-reform-perl all 1.20-5 [36.0 kB] Fetched 36.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgpx06mm_/libtext-reform-perl_1.20-5_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libunicode-utf8-perl i386 0.72-1 [27.2 kB] Fetched 27.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzrfestyj/libunicode-utf8-perl_0.72-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhtml-html5-entities-perl all 0.004-3 [21.0 kB] Fetched 21.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpujtagt29/libhtml-html5-entities-perl_0.004-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcups2t64 i386 2.4.18-1 [268 kB] Fetched 268 kB in 0s (22.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyi79p1us/libcups2t64_2.4.18-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblz4-1 i386 1.10.0-10 [64.6 kB] Fetched 64.6 kB in 0s (6281 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzq4mftqk/liblz4-1_1.10.0-10_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 dh-autoreconf all 22 [12.2 kB] Fetched 12.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkaswdev3/dh-autoreconf_22_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 findutils i386 4.10.0-4 [712 kB] Fetched 712 kB in 0s (52.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpiofmgvuj/findutils_4.10.0-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 octave i386 11.3.0-1 [9825 kB] Fetched 9825 kB in 0s (162 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2qzgfnlm/octave_11.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 build-essential i386 12.12 [4620 B] Fetched 4620 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpncj07792/build-essential_12.12_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liburi-perl all 5.35-1 [112 kB] Fetched 112 kB in 0s (8864 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp76z1r4dr/liburi-perl_5.35-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 perl-base i386 5.40.1-8 [1771 kB] Fetched 1771 kB in 0s (93.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpe43ry4ja/perl-base_5.40.1-8_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfile-homedir-perl all 1.006-2 [42.4 kB] Fetched 42.4 kB in 0s (3935 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjtt2zwsq/libfile-homedir-perl_1.006-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 octave-common all 11.3.0-1 [6779 kB] Fetched 6779 kB in 0s (161 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpeocm6ffs/octave-common_11.3.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmoo-perl all 2.005005-1 [58.0 kB] Fetched 58.0 kB in 0s (5223 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpp6tmjki6/libmoo-perl_2.005005-1_all.deb' Downloading dependency 1 of 687: libthai-data:i386=0.1.30-2 Downloading dependency 2 of 687: libpam-modules-bin:i386=1.7.0-8 Downloading dependency 3 of 687: libpng16-16t64:i386=1.6.58-1 Downloading dependency 4 of 687: libopengl0:i386=1.7.0-3+b1 Downloading dependency 5 of 687: libngtcp2-crypto-ossl-dev:i386=1.22.1-1 Downloading dependency 6 of 687: libwacom9:i386=2.18.0-1 Downloading dependency 7 of 687: libnet-netmask-perl:i386=2.0003-1 Downloading dependency 8 of 687: libdebhelper-perl:i386=14.3 Downloading dependency 9 of 687: libc6-dev:i386=2.42-17 Downloading dependency 10 of 687: libfeature-compat-class-perl:i386=0.08-1 Downloading dependency 11 of 687: librtmp-dev:i386=2.6-1 Downloading dependency 12 of 687: libcairo2:i386=1.18.4-3+b1 Downloading dependency 13 of 687: gcc:i386=4:15.2.0-5+b1 Downloading dependency 14 of 687: lzop:i386=1.04-2 Downloading dependency 15 of 687: gfortran-i686-linux-gnu:i386=4:15.2.0-5+b1 Downloading dependency 16 of 687: libquadmath0:i386=16.1.0-2 Downloading dependency 17 of 687: libmpg123-0t64:i386=1.33.6-1 Downloading dependency 18 of 687: libclass-data-inheritable-perl:i386=0.10-1 Downloading dependency 19 of 687: libdata-messagepack-perl:i386=1.02-3 Downloading dependency 20 of 687: sysvinit-utils:i386=3.18-1 Downloading dependency 21 of 687: libxau6:i386=1:1.0.11-1+b2 Downloading dependency 22 of 687: libasound2t64:i386=1.2.16.1-1 Downloading dependency 23 of 687: libgcc-s1:i386=16.1.0-2 Downloading dependency 24 of 687: libksba8:i386=1.8.0-3 Downloading dependency 25 of 687: libboolean-perl:i386=0.46-3 Downloading dependency 26 of 687: libpod-pom-perl:i386=2.01-4 Downloading dependency 27 of 687: libsereal-encoder-perl:i386=5.006+ds-1 Downloading dependency 28 of 687: libpam0g:i386=1.7.0-8 Downloading dependency 29 of 687: libparse-recdescent-perl:i386=1.967015+dfsg-4 Downloading dependency 30 of 687: libio-interactive-perl:i386=1.027-1 Downloading dependency 31 of 687: netbase:i386=6.5 Downloading dependency 32 of 687: tar:i386=1.35+dfsg-4 Downloading dependency 33 of 687: libmd4c0:i386=0.5.3-1 Downloading dependency 34 of 687: libstring-license-perl:i386=0.0.11-1 Downloading dependency 35 of 687: libset-intspan-perl:i386=1.19-3 Downloading dependency 36 of 687: libxcb-image0:i386=0.4.0-2+b3 Downloading dependency 37 of 687: libwacom-common:i386=2.18.0-1 Downloading dependency 38 of 687: liblua5.4-0:i386=5.4.8-2 Downloading dependency 39 of 687: libxml-namespacesupport-perl:i386=1.12-2 Downloading dependency 40 of 687: libnghttp2-dev:i386=1.69.0-1 Downloading dependency 41 of 687: libperlio-utf8-strict-perl:i386=0.010-1+b3 Downloading dependency 42 of 687: sensible-utils:i386=0.0.26 Downloading dependency 43 of 687: diffutils:i386=1:3.12-1 Downloading dependency 44 of 687: libgprofng0:i386=2.46.50.20260617-1 Downloading dependency 45 of 687: libsvtav1enc4:i386=4.1.0+dfsg-1 Downloading dependency 46 of 687: libngtcp2-16:i386=1.22.1-1 Downloading dependency 47 of 687: libxxf86vm1:i386=1:1.1.4-2+b1 Downloading dependency 48 of 687: gettext:i386=1.0-3 Downloading dependency 49 of 687: libtext-template-perl:i386=1.61-1 Downloading dependency 50 of 687: libncursesw6:i386=6.6+20260608-2 Downloading dependency 51 of 687: libqt6printsupport6:i386=6.10.2+dfsg-15 Downloading dependency 52 of 687: libexpat1:i386=2.8.2-1 Downloading dependency 53 of 687: liblog-log4perl-perl:i386=1.57-1 Downloading dependency 54 of 687: libgd3:i386=2.3.3-13+b2 Downloading dependency 55 of 687: libapp-cmd-perl:i386=0.340-1 Downloading dependency 56 of 687: libio-tiecombine-perl:i386=1.005-3 Downloading dependency 57 of 687: nettle-dev:i386=3.10.2-1+b1 Downloading dependency 58 of 687: libqt6help6:i386=6.10.2-3 Downloading dependency 59 of 687: readline-common:i386=8.3-4 Downloading dependency 60 of 687: libffi8:i386=3.5.2-4 Downloading dependency 61 of 687: libmp3lame0:i386=3.101~svn6531+dfsg-1 Downloading dependency 62 of 687: libberkeleydb-perl:i386=0.66-2+b1 Downloading dependency 63 of 687: libvulkan1:i386=1.4.341.0-1 Downloading dependency 64 of 687: libnet-ipv6addr-perl:i386=1.02-1 Downloading dependency 65 of 687: libdatetime-format-iso8601-perl:i386=0.19-1 Downloading dependency 66 of 687: libparams-util-perl:i386=1.102-3+b1 Downloading dependency 67 of 687: libsyntax-keyword-try-perl:i386=0.31-1 Downloading dependency 68 of 687: libumfpack6:i386=1:7.12.2+dfsg-1 Downloading dependency 69 of 687: libnghttp3-9:i386=1.15.0-1 Downloading dependency 70 of 687: libhwy1t64:i386=1.3.0-2+b1 Downloading dependency 71 of 687: gcc-15:i386=15.3.0-1 Downloading dependency 72 of 687: libpam-runtime:i386=1.7.0-8 Downloading dependency 73 of 687: libxcb-shape0:i386=1.17.0-2+b2 Downloading dependency 74 of 687: libqrupdate1:i386=1.1.5-3+b1 Downloading dependency 75 of 687: libparams-validationcompiler-perl:i386=0.31-1 Downloading dependency 76 of 687: libxcb-icccm4:i386=0.4.2-1+b2 Downloading dependency 77 of 687: libregexp-wildcards-perl:i386=1.05-3 Downloading dependency 78 of 687: libduktape207:i386=2.7.0-2+b3 Downloading dependency 79 of 687: libxcb-util1:i386=0.4.1-1+b2 Downloading dependency 80 of 687: sed:i386=4.9-3 Downloading dependency 81 of 687: libclone-choose-perl:i386=0.010-2 Downloading dependency 82 of 687: libfftw3-bin:i386=3.3.11-1 Downloading dependency 83 of 687: libtest-exception-perl:i386=0.43-3 Downloading dependency 84 of 687: ncurses-bin:i386=6.6+20260608-2 Downloading dependency 85 of 687: libc6:i386=2.42-17 Downloading dependency 86 of 687: libb2-1:i386=0.98.1-1.1+b3 Downloading dependency 87 of 687: libselinux1:i386=3.10-1 Downloading dependency 88 of 687: libxml-sax-base-perl:i386=1.09-3 Downloading dependency 89 of 687: xz-utils:i386=5.8.3-1 Downloading dependency 90 of 687: libseccomp2:i386=2.6.0-2+b1 Downloading dependency 91 of 687: libjpeg62-turbo:i386=1:3.1.3-4 Downloading dependency 92 of 687: libxcb-glx0:i386=1.17.0-2+b2 Downloading dependency 93 of 687: libio-string-perl:i386=1.08-4 Downloading dependency 94 of 687: libccolamd3:i386=1:7.12.2+dfsg-1 Downloading dependency 95 of 687: pkgconf:i386=2.5.1-4 Downloading dependency 96 of 687: libgraphicsmagick++-q16-12t64:i386=1.4+really1.3.46-2 Downloading dependency 97 of 687: libglu1-mesa:i386=9.0.2-1.1+b4 Downloading dependency 98 of 687: libdb5.3t64:i386=5.3.28+dfsg2-11+b1 Downloading dependency 99 of 687: libsqlite3-0:i386=3.53.3-1 Downloading dependency 100 of 687: libgetopt-long-descriptive-perl:i386=0.117-1 Downloading dependency 101 of 687: libimport-into-perl:i386=1.002005-2 Downloading dependency 102 of 687: dh-octave:i386=1.16.0 Downloading dependency 103 of 687: libfftw3-dev:i386=3.3.11-1 Downloading dependency 104 of 687: libavahi-common3:i386=0.8-18 Downloading dependency 105 of 687: libunistring5:i386=1.4.2-1 Downloading dependency 106 of 687: licensecheck:i386=3.3.9-1 Downloading dependency 107 of 687: libgdbm-compat4t64:i386=1.26-1+b2 Downloading dependency 108 of 687: libunistring-dev:i386=1.4.2-1 Downloading dependency 109 of 687: cpp-15-i686-linux-gnu:i386=15.3.0-1 Downloading dependency 110 of 687: libxml2-16:i386=2.15.3+dfsg-1 Downloading dependency 111 of 687: libdatetime-format-strptime-perl:i386=1.8000-1 Downloading dependency 112 of 687: libhash-merge-perl:i386=0.302-1 Downloading dependency 113 of 687: libssh2-1t64:i386=1.11.1-4 Downloading dependency 114 of 687: libtext-reform-perl:i386=1.20-5 Downloading dependency 115 of 687: libunicode-utf8-perl:i386=0.72-1 Downloading dependency 116 of 687: libhtml-html5-entities-perl:i386=0.004-3 Downloading dependency 117 of 687: libcups2t64:i386=2.4.18-1 Downloading dependency 118 of 687: liblz4-1:i386=1.10.0-10 Downloading dependency 119 of 687: dh-autoreconf:i386=22 Downloading dependency 120 of 687: findutils:i386=4.10.0-4 Downloading dependency 121 of 687: octave:i386=11.3.0-1 Downloading dependency 122 of 687: build-essential:i386=12.12 Downloading dependency 123 of 687: liburi-perl:i386=5.35-1 Downloading dependency 124 of 687: perl-base:i386=5.40.1-8 Downloading dependency 125 of 687: libfile-homedir-perl:i386=1.006-2 Downloading dependency 126 of 687: octave-common:i386=11.3.0-1 Downloading dependency 127 of 687: libmoo-perl:i386=2.005005-1 Downloading dependency 128 of 687: gfortran-15-i686-linux-gnu:i386=15.3.0-1Get:1 http://deb.debian.org/debian unstable/main i386 gfortran-15-i686-linux-gnu i386 15.3.0-1 [13.5 MB] Fetched 13.5 MB in 0s (88.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7rddwmmf/gfortran-15-i686-linux-gnu_15.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqhull-r8.0 i386 2020.2-9 [259 kB] Fetched 259 kB in 0s (20.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyzbl5icc/libqhull-r8.0_2020.2-9_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgcrypt20 i386 1.12.2-1 [851 kB] Fetched 851 kB in 0s (62.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2o7xtx4g/libgcrypt20_1.12.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 aglfn all 1.7+git20191031.4036a9c-2 [30.5 kB] Fetched 30.5 kB in 0s (2952 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3ynco3ru/aglfn_1.7+git20191031.4036a9c-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdrm-intel1 i386 2.4.134-3 [66.8 kB] Fetched 66.8 kB in 0s (6349 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqtxiow2h/libdrm-intel1_2.4.134-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdbus-1-3 i386 1.16.2-5+b1 [189 kB] Fetched 189 kB in 0s (18.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8zeteg2j/libdbus-1-3_1.16.2-5+b1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libgl1-mesa-dri i386 26.1.4-1 [42.7 kB] Fetched 42.7 kB in 0s (3879 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpivll75hu/libgl1-mesa-dri_26.1.4-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 g++-i686-linux-gnu i386 4:15.2.0-5+b1 [1200 B] Fetched 1200 B in 0s (0 B/s) dpkg-name: info: moved 'g++-i686-linux-gnu_4%3a15.2.0-5+b1_i386.deb' to '/srv/rebuilderd/tmp/tmp8uuc9svb/g++-i686-linux-gnu_15.2.0-5+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhttp-message-perl all 7.02-1 [79.5 kB] Fetched 79.5 kB in 0s (7382 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpw288p7ra/libhttp-message-perl_7.02-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsub-name-perl i386 0.28-1+b2 [12.7 kB] Fetched 12.7 kB in 0s (1221 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwjovnf6k/libsub-name-perl_0.28-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnet-domain-tld-perl all 1.75-4 [31.5 kB] Fetched 31.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvdmr1y7b/libnet-domain-tld-perl_1.75-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfile-find-rule-perl all 0.35-1 [25.9 kB] Fetched 25.9 kB in 0s (2547 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqv_zzdd5/libfile-find-rule-perl_0.35-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-wrapper-perl all 1.05-4 [10.3 kB] Fetched 10.3 kB in 0s (992 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpw60v5oen/libtext-wrapper-perl_1.05-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblist-moreutils-perl all 0.430-2 [46.9 kB] Fetched 46.9 kB in 0s (4427 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpd32n1cte/liblist-moreutils-perl_0.430-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libaom3 i386 3.13.1-2+b1 [1925 kB] Fetched 1925 kB in 0s (90.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2xhnyw0w/libaom3_3.13.1-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 perl-openssl-defaults i386 7+b2 [6720 B] Fetched 6720 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpng_2k9cp/perl-openssl-defaults_7+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhttp-cookies-perl all 6.11-1 [19.1 kB] Fetched 19.1 kB in 0s (1843 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcw2f947x/libhttp-cookies-perl_6.11-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libstrictures-perl all 2.000006-1 [18.6 kB] Fetched 18.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4k_mh61a/libstrictures-perl_2.000006-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libyuv0 i386 0.0.1949.20260706-1 [114 kB] Fetched 114 kB in 0s (10.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpilnxex_1/libyuv0_0.0.1949.20260706-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfftw3-single3 i386 3.3.11-1 [618 kB] Fetched 618 kB in 0s (43.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0qz3gnu_/libfftw3-single3_3.3.11-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 cme all 1.049-1 [72.6 kB] Fetched 72.6 kB in 0s (6605 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpatne_7j3/cme_1.049-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6xml6 i386 6.10.2+dfsg-15 [90.3 kB] Fetched 90.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_s8v266q/libqt6xml6_6.10.2+dfsg-15_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhdf5-dev i386 1.14.6+repack-2+b1 [3323 kB] Fetched 3323 kB in 0s (146 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpoi93rej2/libhdf5-dev_1.14.6+repack-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libregexp-pattern-license-perl all 3.11.2-1 [94.6 kB] Fetched 94.6 kB in 0s (8503 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkuy25eug/libregexp-pattern-license-perl_3.11.2-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnamespace-autoclean-perl all 0.31-1 [13.8 kB] Fetched 13.8 kB in 0s (1228 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpor_3k0sq/libnamespace-autoclean-perl_0.31-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 g++-15 i386 15.3.0-1 [28.7 kB] Fetched 28.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8tmwgyny/g++-15_15.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libppi-perl all 1.291-1 [300 kB] Fetched 300 kB in 0s (22.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpucyw3eni/libppi-perl_1.291-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libctf0 i386 2.46.50.20260617-1 [96.5 kB] Fetched 96.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp76egm97w/libctf0_2.46.50.20260617-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libc-dev-bin i386 2.42-17 [38.2 kB] Fetched 38.2 kB in 0s (3155 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpiioxocaw/libc-dev-bin_2.42-17_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 texinfo-lib i386 7.3-2 [735 kB] Fetched 735 kB in 0s (54.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxlwh7pvq/texinfo-lib_7.3-2_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libpsl5t64 i386 0.22.0-1 [61.2 kB] Fetched 61.2 kB in 0s (6007 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprctfq0wy/libpsl5t64_0.22.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 librav1e0.8 i386 0.8.1-10 [767 kB] Fetched 767 kB in 0s (53.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpa_exdnkp/librav1e0.8_0.8.1-10_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 mawk i386 1.3.4.20260302-1 [145 kB] Fetched 145 kB in 0s (13.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqd2fqmoc/mawk_1.3.4.20260302-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-levenshteinxs-perl i386 0.03-5+b4 [8636 B] Fetched 8636 B in 0s (814 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpixdiq9cc/libtext-levenshteinxs-perl_0.03-5+b4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 shared-mime-info i386 2.4-5+b3 [760 kB] Fetched 760 kB in 0s (55.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp645nfz2b/shared-mime-info_2.4-5+b3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnettle8t64 i386 3.10.2-1+b1 [317 kB] Fetched 317 kB in 0s (25.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptwdheb_l/libnettle8t64_3.10.2-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 krb5-multidev i386 1.22.1-3 [125 kB] Fetched 125 kB in 0s (10.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpymy3ltap/krb5-multidev_1.22.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgudev-1.0-0 i386 238-7+b2 [14.9 kB] Fetched 14.9 kB in 0s (1146 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpomy8pr9w/libgudev-1.0-0_238-7+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpciaccess0 i386 0.19-2 [20.5 kB] Fetched 20.5 kB in 0s (1721 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8ex8lj8x/libpciaccess0_0.19-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfontconfig1 i386 2.17.1-5 [142 kB] Fetched 142 kB in 0s (12.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8rchg4uh/libfontconfig1_2.17.1-5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblog-any-adapter-screen-perl all 0.141-2 [14.0 kB] Fetched 14.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdgia_aoi/liblog-any-adapter-screen-perl_0.141-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdata-validate-uri-perl all 0.07-3 [11.0 kB] Fetched 11.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpviwtdg11/libdata-validate-uri-perl_0.07-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6gui6 i386 6.10.2+dfsg-15 [3509 kB] Fetched 3509 kB in 0s (137 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp51wvwjpl/libqt6gui6_6.10.2+dfsg-15_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgraphite2-3 i386 1.3.15-2 [78.2 kB] Fetched 78.2 kB in 0s (6685 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6_j_s5xm/libgraphite2-3_1.3.15-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libkeyutils1 i386 1.6.3-6+b2 [9816 B] Fetched 9816 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpojpzskf9/libkeyutils1_1.6.3-6+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhtml-tagset-perl all 3.24-1 [14.7 kB] Fetched 14.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxqtyd6hh/libhtml-tagset-perl_3.24-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhdf5-310 i386 1.14.6+repack-2+b1 [1326 kB] Fetched 1326 kB in 0s (75.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpipzd9lmy/libhdf5-310_1.14.6+repack-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcom-err2 i386 1.47.4-1 [19.4 kB] Fetched 19.4 kB in 0s (1875 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpq3c8xvj9/libcom-err2_1.47.4-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpath-iterator-rule-perl all 1.015-2 [41.7 kB] Fetched 41.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2e6ea24t/libpath-iterator-rule-perl_1.015-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmagic1t64 i386 1:5.47-4 [118 kB] Fetched 118 kB in 0s (10.6 MB/s) dpkg-name: info: moved 'libmagic1t64_1%3a5.47-4_i386.deb' to '/srv/rebuilderd/tmp/tmpj42n5twc/libmagic1t64_5.47-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libz3-4 i386 4.13.3-1.1 [9236 kB] Fetched 9236 kB in 0s (187 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpoau7updc/libz3-4_4.13.3-1.1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 g++-15-i686-linux-gnu i386 15.3.0-1 [14.0 MB] Fetched 14.0 MB in 0s (209 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgpxoyy93/g++-15-i686-linux-gnu_15.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblist-compare-perl all 0.55-2 [65.7 kB] Fetched 65.7 kB in 0s (5591 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8etx_tjm/liblist-compare-perl_0.55-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgmp10 i386 2:6.3.0+dfsg-5+b2 [570 kB] Fetched 570 kB in 0s (47.5 MB/s) dpkg-name: info: moved 'libgmp10_2%3a6.3.0+dfsg-5+b2_i386.deb' to '/srv/rebuilderd/tmp/tmpft4p2vnd/libgmp10_6.3.0+dfsg-5+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfyaml0 i386 0.9.4-1 [295 kB] Fetched 295 kB in 0s (26.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1bbrfd85/libfyaml0_0.9.4-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libjansson4 i386 2.15.1-1 [69.5 kB] Fetched 69.5 kB in 0s (6859 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpp571mmya/libjansson4_2.15.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgnutls30t64 i386 3.8.13-1 [1537 kB] Fetched 1537 kB in 0s (99.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsqaa385o/libgnutls30t64_3.8.13-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblingua-en-inflect-perl all 1.905-2 [52.7 kB] Fetched 52.7 kB in 0s (5174 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpooogk74s/liblingua-en-inflect-perl_1.905-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdata-dpath-perl all 0.60-1 [41.8 kB] Fetched 41.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpaylj1xrz/libdata-dpath-perl_0.60-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libsframe3 i386 2.46.50.20260617-1 [85.4 kB] Fetched 85.4 kB in 0s (8209 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzj0lzoww/libsframe3_2.46.50.20260617-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Fetched 22.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_zrvwt5q/intltool-debian_0.35.0+20060710.6_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsz2 i386 1.1.7-1 [20.6 kB] Fetched 20.6 kB in 0s (1915 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_eti37s2/libsz2_1.1.7-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 binutils-common i386 2.46.50.20260617-1 [2636 kB] Fetched 2636 kB in 0s (98.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppkc5wv2j/binutils-common_2.46.50.20260617-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libabsl20260107 i386 20260107.0-5 [606 kB] Fetched 606 kB in 0s (46.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_urr923r/libabsl20260107_20260107.0-5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtool all 2.5.4-11 [539 kB] Fetched 539 kB in 0s (49.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjijlx6dm/libtool_2.5.4-11_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libb-keywords-perl all 1.29-1 [12.5 kB] Fetched 12.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmph53s_x2h/libb-keywords-perl_1.29-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libsmartcols1 i386 2.42.2-1 [154 kB] Fetched 154 kB in 0s (11.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphyzo12u0/libsmartcols1_2.42.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgssrpc4t64 i386 1.22.1-3 [61.6 kB] Fetched 61.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpppy6nns7/libgssrpc4t64_1.22.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libjbig0 i386 2.1-6.1+b3 [32.2 kB] Fetched 32.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6x2xveh_/libjbig0_2.1-6.1+b3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libasound2-data all 1.2.16.1-1 [19.4 kB] Fetched 19.4 kB in 0s (1877 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptcy9p4gb/libasound2-data_1.2.16.1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 po-debconf all 1.0.22 [216 kB] Fetched 216 kB in 0s (19.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp12c7yrn3/po-debconf_1.0.22_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 librole-tiny-perl all 2.002005-1 [19.5 kB] Fetched 19.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnlmmym3n/librole-tiny-perl_2.002005-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhtml-tokeparser-simple-perl all 3.16-4 [39.1 kB] Fetched 39.1 kB in 0s (3220 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphgswfuvq/libhtml-tokeparser-simple-perl_3.16-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libclone-perl i386 0.50-1 [21.1 kB] Fetched 21.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppk7vaqf0/libclone-perl_0.50-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmouse-perl i386 2.6.2-1 [146 kB] Fetched 146 kB in 0s (12.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp09j61i3l/libmouse-perl_2.6.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtasn1-6-dev i386 4.21.0-2+b1 [102 kB] Fetched 102 kB in 0s (9420 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpozm9qoh9/libtasn1-6-dev_4.21.0-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-dri3-0 i386 1.17.0-2+b2 [107 kB] Fetched 107 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm25x14es/libxcb-dri3-0_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgmpxx4ldbl i386 2:6.3.0+dfsg-5+b2 [329 kB] Fetched 329 kB in 0s (26.2 MB/s) dpkg-name: info: moved 'libgmpxx4ldbl_2%3a6.3.0+dfsg-5+b2_i386.deb' to '/srv/rebuilderd/tmp/tmpls9w6paj/libgmpxx4ldbl_6.3.0+dfsg-5+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgl2ps1.4 i386 1.4.2+dfsg1-4+b1 [44.4 kB] Fetched 44.4 kB in 0s (4016 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6cw9m0kt/libgl2ps1.4_1.4.2+dfsg1-4+b1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libjack-jackd2-0 i386 1.9.22~dfsg-5+b2 [317 kB] Fetched 317 kB in 0s (25.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqe_bqpw3/libjack-jackd2-0_1.9.22~dfsg-5+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libb-hooks-op-check-perl i386 0.22-3+b4 [10.7 kB] Fetched 10.7 kB in 0s (962 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0m8atkwz/libb-hooks-op-check-perl_0.22-3+b4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmpfr6 i386 4.2.2-3 [757 kB] Fetched 757 kB in 0s (61.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvqgkwoie/libmpfr6_4.2.2-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 g++ i386 4:15.2.0-5+b1 [1344 B] Fetched 1344 B in 0s (0 B/s) dpkg-name: info: moved 'g++_4%3a15.2.0-5+b1_i386.deb' to '/srv/rebuilderd/tmp/tmp7fvhbxpd/g++_15.2.0-5+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblist-utilsby-perl all 0.12-2 [15.5 kB] Fetched 15.5 kB in 0s (1401 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1rlndx2d/liblist-utilsby-perl_0.12-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtinfo6 i386 6.6+20260608-2 [353 kB] Fetched 353 kB in 0s (32.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyuiv9uic/libtinfo6_6.6+20260608-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcursor1 i386 1:1.2.3-1+b2 [41.8 kB] Fetched 41.8 kB in 0s (0 B/s) dpkg-name: info: moved 'libxcursor1_1%3a1.2.3-1+b2_i386.deb' to '/srv/rebuilderd/tmp/tmpk4r3z7fo/libxcursor1_1.2.3-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsm6 i386 2:1.2.6-1+b2 [38.4 kB] Fetched 38.4 kB in 0s (3353 kB/s) dpkg-name: info: moved 'libsm6_2%3a1.2.6-1+b2_i386.deb' to '/srv/rebuilderd/tmp/tmpfwfwitpq/libsm6_1.2.6-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxkbcommon0 i386 1.13.1-1 [154 kB] Fetched 154 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptksfld5r/libxkbcommon0_1.13.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 autopoint all 1.0-3 [820 kB] Fetched 820 kB in 0s (60.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp530k5onx/autopoint_1.0-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhttp-negotiate-perl all 6.01-2 [13.1 kB] Fetched 13.1 kB in 0s (1152 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7pwzx5gs/libhttp-negotiate-perl_6.01-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libssl-dev i386 3.6.3-1 [3058 kB] Fetched 3058 kB in 0s (134 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfkxwmnx1/libssl-dev_3.6.3-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 x11proto-dev all 2025.1-1 [605 kB] Fetched 605 kB in 0s (48.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpiux5lk_a/x11proto-dev_2025.1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-keysyms1 i386 0.4.1-1+b2 [17.2 kB] Fetched 17.2 kB in 0s (1430 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_a0hmg4k/libxcb-keysyms1_0.4.1-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-unidecode-perl all 1.30-3 [101 kB] Fetched 101 kB in 0s (9589 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpksvc_ozh/libtext-unidecode-perl_1.30-3_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 lintian all 2.137.1 [1024 kB] Fetched 1024 kB in 0s (65.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0v5hqakx/lintian_2.137.1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libx11-dev i386 2:1.8.13-1 [931 kB] Fetched 931 kB in 0s (64.3 MB/s) dpkg-name: info: moved 'libx11-dev_2%3a1.8.13-1_i386.deb' to '/srv/rebuilderd/tmp/tmpxkodnuxc/libx11-dev_1.8.13-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libglx-dev i386 1.7.0-3+b1 [15.0 kB] Fetched 15.0 kB in 0s (1448 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdebv0h2_/libglx-dev_1.7.0-3+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpangocairo-1.0-0 i386 1.58.0-1 [35.1 kB] Fetched 35.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqcu4omeu/libpangocairo-1.0-0_1.58.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 appstream i386 1.1.3-1 [604 kB] Fetched 604 kB in 0s (49.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxinnjqjs/appstream_1.1.3-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdrm2 i386 2.4.134-3 [41.6 kB] Fetched 41.6 kB in 0s (4020 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpth6i7hzd/libdrm2_2.4.134-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 octave-datatypes i386 1.2.6-1 [892 kB] Fetched 892 kB in 0s (51.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzz_tkcs5/octave-datatypes_1.2.6-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liberror-perl all 0.17030-1 [26.9 kB] Fetched 26.9 kB in 0s (2682 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8xo_g1yf/liberror-perl_0.17030-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhdf5-hl-310 i386 1.14.6+repack-2+b1 [75.5 kB] Fetched 75.5 kB in 0s (7094 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqchoezzp/libhdf5-hl-310_1.14.6+repack-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 zlib1g-dev i386 1:1.3.dfsg+really1.3.2-3 [915 kB] Fetched 915 kB in 0s (61.2 MB/s) dpkg-name: info: moved 'zlib1g-dev_1%3a1.3.dfsg+really1.3.2-3_i386.deb' to '/srv/rebuilderd/tmp/tmpl8ty4547/zlib1g-dev_1.3.dfsg+really1.3.2-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 fonts-freefont-otf all 20211204+svn4273-4 [4322 kB] Fetched 4322 kB in 0s (134 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl23_egs3/fonts-freefont-otf_20211204+svn4273-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdatetime-locale-perl all 1:1.45-1 [3207 kB] Fetched 3207 kB in 0s (119 MB/s) dpkg-name: info: moved 'libdatetime-locale-perl_1%3a1.45-1_all.deb' to '/srv/rebuilderd/tmp/tmpcpa0wv0w/libdatetime-locale-perl_1.45-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libheif-plugin-dav1d i386 1.23.1-1 [20.7 kB] Fetched 20.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpifjj7853/libheif-plugin-dav1d_1.23.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgssapi-krb5-2 i386 1.22.1-3 [147 kB] Fetched 147 kB in 0s (13.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpazqf4g7v/libgssapi-krb5-2_1.22.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblist-moreutils-xs-perl i386 0.430-4+b2 [45.1 kB] Fetched 45.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpeeuu2nbx/liblist-moreutils-xs-perl_0.430-4+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-shm0 i386 1.17.0-2+b2 [105 kB] Fetched 105 kB in 0s (9816 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpw9sl4jhu/libxcb-shm0_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmro-compat-perl all 0.15-2 [11.8 kB] Fetched 11.8 kB in 0s (1122 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpiokyetst/libmro-compat-perl_0.15-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libunbound8 i386 1.25.1-1+b1 [653 kB] Fetched 653 kB in 0s (50.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphxowg1nf/libunbound8_1.25.1-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtry-tiny-perl all 0.32-1 [22.9 kB] Fetched 22.9 kB in 0s (2187 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp68knzjm3/libtry-tiny-perl_0.32-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6dbus6 i386 6.10.2+dfsg-15 [297 kB] Fetched 297 kB in 0s (26.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxdqz97lm/libqt6dbus6_6.10.2+dfsg-15_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpath-tiny-perl all 0.150-1 [56.4 kB] Fetched 56.4 kB in 0s (5138 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpj11qn97o/libpath-tiny-perl_0.150-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gnuplot-nox i386 6.0.3+dfsg1-1 [940 kB] Fetched 940 kB in 0s (59.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpi5kz4013/gnuplot-nox_6.0.3+dfsg1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfreetype6 i386 2.14.3+dfsg-1 [504 kB] Fetched 504 kB in 0s (40.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmph2h9lqkq/libfreetype6_2.14.3+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsub-quote-perl all 2.006009-1 [21.3 kB] Fetched 21.3 kB in 0s (1998 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpp6henc7w/libsub-quote-perl_2.006009-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxinerama1 i386 2:1.1.4-3+b5 [16.2 kB] Fetched 16.2 kB in 0s (1565 kB/s) dpkg-name: info: moved 'libxinerama1_2%3a1.1.4-3+b5_i386.deb' to '/srv/rebuilderd/tmp/tmpg_gblu3d/libxinerama1_1.1.4-3+b5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libssl3t64 i386 3.6.3-1 [2460 kB] Fetched 2460 kB in 0s (112 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo6ue9q1s/libssl3t64_3.6.3-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmime-tools-perl all 5.517-1 [204 kB] Fetched 204 kB in 0s (16.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxkig8d1j/libmime-tools-perl_5.517-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libglx-mesa0 i386 26.1.4-1 [123 kB] Fetched 123 kB in 0s (11.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmph3d8aasf/libglx-mesa0_26.1.4-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmailtools-perl all 2.22-1 [88.8 kB] Fetched 88.8 kB in 0s (8160 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgv87fua6/libmailtools-perl_2.22-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 perl i386 5.40.1-8 [264 kB] Fetched 264 kB in 0s (22.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpoia_p5pb/perl_5.40.1-8_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libglib2.0-0t64 i386 2.88.2-1 [1604 kB] Fetched 1604 kB in 0s (84.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp952c_0tm/libglib2.0-0t64_2.88.2-1_i386.deb' Downloading dependency 129 of 687: libqhull-r8.0:i386=2020.2-9 Downloading dependency 130 of 687: libgcrypt20:i386=1.12.2-1 Downloading dependency 131 of 687: aglfn:i386=1.7+git20191031.4036a9c-2 Downloading dependency 132 of 687: libdrm-intel1:i386=2.4.134-3 Downloading dependency 133 of 687: libdbus-1-3:i386=1.16.2-5+b1 Downloading dependency 134 of 687: libgl1-mesa-dri:i386=26.1.4-1 Downloading dependency 135 of 687: g++-i686-linux-gnu:i386=4:15.2.0-5+b1 Downloading dependency 136 of 687: libhttp-message-perl:i386=7.02-1 Downloading dependency 137 of 687: libsub-name-perl:i386=0.28-1+b2 Downloading dependency 138 of 687: libnet-domain-tld-perl:i386=1.75-4 Downloading dependency 139 of 687: libfile-find-rule-perl:i386=0.35-1 Downloading dependency 140 of 687: libtext-wrapper-perl:i386=1.05-4 Downloading dependency 141 of 687: liblist-moreutils-perl:i386=0.430-2 Downloading dependency 142 of 687: libaom3:i386=3.13.1-2+b1 Downloading dependency 143 of 687: perl-openssl-defaults:i386=7+b2 Downloading dependency 144 of 687: libhttp-cookies-perl:i386=6.11-1 Downloading dependency 145 of 687: libstrictures-perl:i386=2.000006-1 Downloading dependency 146 of 687: libyuv0:i386=0.0.1949.20260706-1 Downloading dependency 147 of 687: libfftw3-single3:i386=3.3.11-1 Downloading dependency 148 of 687: cme:i386=1.049-1 Downloading dependency 149 of 687: libqt6xml6:i386=6.10.2+dfsg-15 Downloading dependency 150 of 687: libhdf5-dev:i386=1.14.6+repack-2+b1 Downloading dependency 151 of 687: libregexp-pattern-license-perl:i386=3.11.2-1 Downloading dependency 152 of 687: libnamespace-autoclean-perl:i386=0.31-1 Downloading dependency 153 of 687: g++-15:i386=15.3.0-1 Downloading dependency 154 of 687: libppi-perl:i386=1.291-1 Downloading dependency 155 of 687: libctf0:i386=2.46.50.20260617-1 Downloading dependency 156 of 687: libc-dev-bin:i386=2.42-17 Downloading dependency 157 of 687: texinfo-lib:i386=7.3-2 Downloading dependency 158 of 687: libpsl5t64:i386=0.22.0-1 Downloading dependency 159 of 687: librav1e0.8:i386=0.8.1-10 Downloading dependency 160 of 687: mawk:i386=1.3.4.20260302-1 Downloading dependency 161 of 687: libtext-levenshteinxs-perl:i386=0.03-5+b4 Downloading dependency 162 of 687: shared-mime-info:i386=2.4-5+b3 Downloading dependency 163 of 687: libnettle8t64:i386=3.10.2-1+b1 Downloading dependency 164 of 687: krb5-multidev:i386=1.22.1-3 Downloading dependency 165 of 687: libgudev-1.0-0:i386=238-7+b2 Downloading dependency 166 of 687: libpciaccess0:i386=0.19-2 Downloading dependency 167 of 687: libfontconfig1:i386=2.17.1-5 Downloading dependency 168 of 687: liblog-any-adapter-screen-perl:i386=0.141-2 Downloading dependency 169 of 687: libdata-validate-uri-perl:i386=0.07-3 Downloading dependency 170 of 687: libqt6gui6:i386=6.10.2+dfsg-15 Downloading dependency 171 of 687: libgraphite2-3:i386=1.3.15-2 Downloading dependency 172 of 687: libkeyutils1:i386=1.6.3-6+b2 Downloading dependency 173 of 687: libhtml-tagset-perl:i386=3.24-1 Downloading dependency 174 of 687: libhdf5-310:i386=1.14.6+repack-2+b1 Downloading dependency 175 of 687: libcom-err2:i386=1.47.4-1 Downloading dependency 176 of 687: libpath-iterator-rule-perl:i386=1.015-2 Downloading dependency 177 of 687: libmagic1t64:i386=1:5.47-4 Downloading dependency 178 of 687: libz3-4:i386=4.13.3-1.1 Downloading dependency 179 of 687: g++-15-i686-linux-gnu:i386=15.3.0-1 Downloading dependency 180 of 687: liblist-compare-perl:i386=0.55-2 Downloading dependency 181 of 687: libgmp10:i386=2:6.3.0+dfsg-5+b2 Downloading dependency 182 of 687: libfyaml0:i386=0.9.4-1 Downloading dependency 183 of 687: libjansson4:i386=2.15.1-1 Downloading dependency 184 of 687: libgnutls30t64:i386=3.8.13-1 Downloading dependency 185 of 687: liblingua-en-inflect-perl:i386=1.905-2 Downloading dependency 186 of 687: libdata-dpath-perl:i386=0.60-1 Downloading dependency 187 of 687: libsframe3:i386=2.46.50.20260617-1 Downloading dependency 188 of 687: intltool-debian:i386=0.35.0+20060710.6 Downloading dependency 189 of 687: libsz2:i386=1.1.7-1 Downloading dependency 190 of 687: binutils-common:i386=2.46.50.20260617-1 Downloading dependency 191 of 687: libabsl20260107:i386=20260107.0-5 Downloading dependency 192 of 687: libtool:i386=2.5.4-11 Downloading dependency 193 of 687: libb-keywords-perl:i386=1.29-1 Downloading dependency 194 of 687: libsmartcols1:i386=2.42.2-1 Downloading dependency 195 of 687: libgssrpc4t64:i386=1.22.1-3 Downloading dependency 196 of 687: libjbig0:i386=2.1-6.1+b3 Downloading dependency 197 of 687: libasound2-data:i386=1.2.16.1-1 Downloading dependency 198 of 687: po-debconf:i386=1.0.22 Downloading dependency 199 of 687: librole-tiny-perl:i386=2.002005-1 Downloading dependency 200 of 687: libhtml-tokeparser-simple-perl:i386=3.16-4 Downloading dependency 201 of 687: libclone-perl:i386=0.50-1 Downloading dependency 202 of 687: libmouse-perl:i386=2.6.2-1 Downloading dependency 203 of 687: libtasn1-6-dev:i386=4.21.0-2+b1 Downloading dependency 204 of 687: libxcb-dri3-0:i386=1.17.0-2+b2 Downloading dependency 205 of 687: libgmpxx4ldbl:i386=2:6.3.0+dfsg-5+b2 Downloading dependency 206 of 687: libgl2ps1.4:i386=1.4.2+dfsg1-4+b1 Downloading dependency 207 of 687: libjack-jackd2-0:i386=1.9.22~dfsg-5+b2 Downloading dependency 208 of 687: libb-hooks-op-check-perl:i386=0.22-3+b4 Downloading dependency 209 of 687: libmpfr6:i386=4.2.2-3 Downloading dependency 210 of 687: g++:i386=4:15.2.0-5+b1 Downloading dependency 211 of 687: liblist-utilsby-perl:i386=0.12-2 Downloading dependency 212 of 687: libtinfo6:i386=6.6+20260608-2 Downloading dependency 213 of 687: libxcursor1:i386=1:1.2.3-1+b2 Downloading dependency 214 of 687: libsm6:i386=2:1.2.6-1+b2 Downloading dependency 215 of 687: libxkbcommon0:i386=1.13.1-1 Downloading dependency 216 of 687: autopoint:i386=1.0-3 Downloading dependency 217 of 687: libhttp-negotiate-perl:i386=6.01-2 Downloading dependency 218 of 687: libssl-dev:i386=3.6.3-1 Downloading dependency 219 of 687: x11proto-dev:i386=2025.1-1 Downloading dependency 220 of 687: libxcb-keysyms1:i386=0.4.1-1+b2 Downloading dependency 221 of 687: libtext-unidecode-perl:i386=1.30-3 Downloading dependency 222 of 687: lintian:i386=2.137.1 Downloading dependency 223 of 687: libx11-dev:i386=2:1.8.13-1 Downloading dependency 224 of 687: libglx-dev:i386=1.7.0-3+b1 Downloading dependency 225 of 687: libpangocairo-1.0-0:i386=1.58.0-1 Downloading dependency 226 of 687: appstream:i386=1.1.3-1 Downloading dependency 227 of 687: libdrm2:i386=2.4.134-3 Downloading dependency 228 of 687: octave-datatypes:i386=1.2.6-1 Downloading dependency 229 of 687: liberror-perl:i386=0.17030-1 Downloading dependency 230 of 687: libhdf5-hl-310:i386=1.14.6+repack-2+b1 Downloading dependency 231 of 687: zlib1g-dev:i386=1:1.3.dfsg+really1.3.2-3 Downloading dependency 232 of 687: fonts-freefont-otf:i386=20211204+svn4273-4 Downloading dependency 233 of 687: libdatetime-locale-perl:i386=1:1.45-1 Downloading dependency 234 of 687: libheif-plugin-dav1d:i386=1.23.1-1 Downloading dependency 235 of 687: libgssapi-krb5-2:i386=1.22.1-3 Downloading dependency 236 of 687: liblist-moreutils-xs-perl:i386=0.430-4+b2 Downloading dependency 237 of 687: libxcb-shm0:i386=1.17.0-2+b2 Downloading dependency 238 of 687: libmro-compat-perl:i386=0.15-2 Downloading dependency 239 of 687: libunbound8:i386=1.25.1-1+b1 Downloading dependency 240 of 687: libtry-tiny-perl:i386=0.32-1 Downloading dependency 241 of 687: libqt6dbus6:i386=6.10.2+dfsg-15 Downloading dependency 242 of 687: libpath-tiny-perl:i386=0.150-1 Downloading dependency 243 of 687: gnuplot-nox:i386=6.0.3+dfsg1-1 Downloading dependency 244 of 687: libfreetype6:i386=2.14.3+dfsg-1 Downloading dependency 245 of 687: libsub-quote-perl:i386=2.006009-1 Downloading dependency 246 of 687: libxinerama1:i386=2:1.1.4-3+b5 Downloading dependency 247 of 687: libssl3t64:i386=3.6.3-1 Downloading dependency 248 of 687: libmime-tools-perl:i386=5.517-1 Downloading dependency 249 of 687: libglx-mesa0:i386=26.1.4-1 Downloading dependency 250 of 687: libmailtools-perl:i386=2.22-1 Downloading dependency 251 of 687: perl:i386=5.40.1-8 Downloading dependency 252 of 687: libglib2.0-0t64:i386=2.88.2-1 Downloading dependency 253 of 687: libgl1:i386=1.7.0-3+b1Get:1 http://deb.debian.org/debian unstable/main i386 libgl1 i386 1.7.0-3+b1 [80.7 kB] Fetched 80.7 kB in 0s (6651 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5ybk3kn0/libgl1_1.7.0-3+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libkdb5-10t64 i386 1.22.1-3 [44.2 kB] Fetched 44.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprfpxdinf/libkdb5-10t64_1.22.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libjpeg-dev i386 1:3.1.3-4 [78.8 kB] Fetched 78.8 kB in 0s (7221 kB/s) dpkg-name: info: moved 'libjpeg-dev_1%3a3.1.3-4_i386.deb' to '/srv/rebuilderd/tmp/tmpuy5a6iak/libjpeg-dev_3.1.3-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 openssl-provider-legacy i386 3.6.3-1 [316 kB] Fetched 316 kB in 0s (31.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5ns3_kav/openssl-provider-legacy_3.6.3-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 bsdextrautils i386 2.42.2-1 [104 kB] Fetched 104 kB in 0s (8319 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpg8h74aiw/bsdextrautils_2.42.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6core5compat6 i386 6.10.2-3 [148 kB] Fetched 148 kB in 0s (13.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpz4sb2zmy/libqt6core5compat6_6.10.2-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-xfixes0 i386 1.17.0-2+b2 [110 kB] Fetched 110 kB in 0s (9807 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmph82rn_12/libxcb-xfixes0_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libproc-processtable-perl i386 0.637-1+b2 [41.9 kB] Fetched 41.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplpi5uhc_/libproc-processtable-perl_0.637-1+b2_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libpsl-dev i386 0.22.0-1 [29.8 kB] Fetched 29.8 kB in 0s (2784 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl2dvjtx7/libpsl-dev_0.22.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgfortran5 i386 16.1.0-2 [753 kB] Fetched 753 kB in 0s (62.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo34ks77f/libgfortran5_16.1.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcapture-tiny-perl all 0.50-1 [24.6 kB] Fetched 24.6 kB in 0s (2247 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsamgao0u/libcapture-tiny-perl_0.50-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 base-files i386 14.2 [87.9 kB] Fetched 87.9 kB in 0s (7007 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmps640ds7h/base-files_14.2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gettext-base i386 1.0-3 [333 kB] Fetched 333 kB in 0s (23.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp734yon2w/gettext-base_1.0-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libconfig-tiny-perl all 2.30-1 [18.9 kB] Fetched 18.9 kB in 0s (1787 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpc65juywl/libconfig-tiny-perl_2.30-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libx11-xcb1 i386 2:1.8.13-1 [250 kB] Fetched 250 kB in 0s (24.3 MB/s) dpkg-name: info: moved 'libx11-xcb1_2%3a1.8.13-1_i386.deb' to '/srv/rebuilderd/tmp/tmp02pl9w3u/libx11-xcb1_1.8.13-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxfixes3 i386 1:6.0.0-2+b5 [20.6 kB] Fetched 20.6 kB in 0s (2012 kB/s) dpkg-name: info: moved 'libxfixes3_1%3a6.0.0-2+b5_i386.deb' to '/srv/rebuilderd/tmp/tmp3g5dhdlb/libxfixes3_6.0.0-2+b5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 make i386 4.4.1-3 [470 kB] Fetched 470 kB in 0s (38.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7d5pi66j/make_4.4.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libproc2-1 i386 2:4.0.6-2 [70.0 kB] Fetched 70.0 kB in 0s (6307 kB/s) dpkg-name: info: moved 'libproc2-1_2%3a4.0.6-2_i386.deb' to '/srv/rebuilderd/tmp/tmpg9am6nb7/libproc2-1_4.0.6-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 xorg-sgml-doctools all 1:1.12.1-1 [23.9 kB] Fetched 23.9 kB in 0s (2381 kB/s) dpkg-name: info: moved 'xorg-sgml-doctools_1%3a1.12.1-1_all.deb' to '/srv/rebuilderd/tmp/tmpdwmkuhrb/xorg-sgml-doctools_1.12.1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libappstream5 i386 1.1.3-1 [247 kB] Fetched 247 kB in 0s (18.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm71lmgac/libappstream5_1.1.3-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgraphicsmagick-q16-3t64 i386 1.4+really1.3.46-2 [1301 kB] Fetched 1301 kB in 0s (74.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0epbypo5/libgraphicsmagick-q16-3t64_1.4+really1.3.46-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsasl2-modules-db i386 2.1.28+dfsg1-11 [18.1 kB] Fetched 18.1 kB in 0s (1787 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpf3z5hhqr/libsasl2-modules-db_2.1.28+dfsg1-11_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libreadonly-perl all 2.050-3 [23.1 kB] Fetched 23.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1t80k0rb/libreadonly-perl_2.050-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsndfile1 i386 1.2.2-4+b1 [225 kB] Fetched 225 kB in 0s (22.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8skp3bzm/libsndfile1_1.2.2-4+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libconfig-model-backend-yaml-perl all 2.134-2 [10.8 kB] Fetched 10.8 kB in 0s (1072 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp75wfpw27/libconfig-model-backend-yaml-perl_2.134-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhogweed6t64 i386 3.10.2-1+b1 [338 kB] Fetched 338 kB in 0s (28.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphhrvk7l2/libhogweed6t64_3.10.2-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Fetched 20.2 kB in 0s (1948 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0nxarozz/liblwp-mediatypes-perl_6.04-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnetaddr-ip-perl i386 4.079+dfsg-2+b5 [98.8 kB] Fetched 98.8 kB in 0s (9296 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4lfnhrjs/libnetaddr-ip-perl_4.079+dfsg-2+b5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libexporter-tiny-perl all 1.006003-1 [37.5 kB] Fetched 37.5 kB in 0s (3656 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprbjavur3/libexporter-tiny-perl_1.006003-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsafe-isa-perl all 1.000010-1 [8288 B] Fetched 8288 B in 0s (816 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgc9as6k2/libsafe-isa-perl_1.000010-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 octave-dev i386 11.3.0-1 [1117 kB] Fetched 1117 kB in 0s (64.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp59l3rp_r/octave-dev_11.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxstring-perl i386 0.005-2+b5 [8204 B] Fetched 8204 B in 0s (791 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnrg8cq6i/libxstring-perl_0.005-2+b5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libstdc++6 i386 16.1.0-2 [858 kB] Fetched 858 kB in 0s (60.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp84h_f1g0/libstdc++6_16.1.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmodule-implementation-perl all 0.09-2 [12.6 kB] Fetched 12.6 kB in 0s (1032 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpt_o8699e/libmodule-implementation-perl_0.09-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 autotools-dev all 20240727.1+nmu1 [60.0 kB] Fetched 60.0 kB in 0s (5819 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpg2h6ctku/autotools-dev_20240727.1+nmu1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gcc-16-base i386 16.1.0-2 [36.8 kB] Fetched 36.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1mxuh9xk/gcc-16-base_16.1.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-markdown-discount-perl i386 0.18-1 [13.3 kB] Fetched 13.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk3n0bhgm/libtext-markdown-discount-perl_0.18-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-xslate-perl i386 3.5.9-2+b2 [177 kB] Fetched 177 kB in 0s (14.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp75q0h1j5/libtext-xslate-perl_3.5.9-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 fontconfig i386 2.17.1-5 [191 kB] Fetched 191 kB in 0s (17.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdrwdq30a/fontconfig_2.17.1-5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gpg i386 2.4.9-7 [682 kB] Fetched 682 kB in 0s (49.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpe9sjh0jd/gpg_2.4.9-7_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgmp-dev i386 2:6.3.0+dfsg-5+b2 [658 kB] Fetched 658 kB in 0s (52.9 MB/s) dpkg-name: info: moved 'libgmp-dev_2%3a6.3.0+dfsg-5+b2_i386.deb' to '/srv/rebuilderd/tmp/tmpv4ccafdj/libgmp-dev_6.3.0+dfsg-5+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 dpkg i386 1.23.7 [1557 kB] Fetched 1557 kB in 0s (87.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmpv6gt0i/dpkg_1.23.7_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmagic-mgc i386 1:5.47-4 [345 kB] Fetched 345 kB in 0s (25.4 MB/s) dpkg-name: info: moved 'libmagic-mgc_1%3a5.47-4_i386.deb' to '/srv/rebuilderd/tmp/tmp3hjjti51/libmagic-mgc_5.47-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libncurses6 i386 6.6+20260608-2 [113 kB] Fetched 113 kB in 0s (11.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp28n4ieyy/libncurses6_6.6+20260608-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libimagequant0 i386 4.4.1-1+b2 [275 kB] Fetched 275 kB in 0s (18.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk0u5sl21/libimagequant0_4.4.1-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libipc-system-simple-perl all 1.30-2 [26.8 kB] Fetched 26.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpauabs6nm/libipc-system-simple-perl_1.30-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 procps i386 2:4.0.6-2 [980 kB] Fetched 980 kB in 0s (73.1 MB/s) dpkg-name: info: moved 'procps_2%3a4.0.6-2_i386.deb' to '/srv/rebuilderd/tmp/tmpvqd8v15g/procps_4.0.6-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-sync1 i386 1.17.0-2+b2 [109 kB] Fetched 109 kB in 0s (10.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_vsuiocy/libxcb-sync1_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gfortran-15 i386 15.3.0-1 [22.2 kB] Fetched 22.2 kB in 0s (1986 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpddnzeifn/gfortran-15_15.3.0-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libngtcp2-dev i386 1.22.1-1 [229 kB] Fetched 229 kB in 0s (19.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6knqdt1n/libngtcp2-dev_1.22.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpkgconf7 i386 2.5.1-4 [49.8 kB] Fetched 49.8 kB in 0s (4757 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp612g_l1a/libpkgconf7_2.5.1-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxpm4 i386 1:3.5.19-1 [60.8 kB] Fetched 60.8 kB in 0s (5632 kB/s) dpkg-name: info: moved 'libxpm4_1%3a3.5.19-1_i386.deb' to '/srv/rebuilderd/tmp/tmpfsc90987/libxpm4_3.5.19-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 automake all 1:1.18.1-4 [877 kB] Fetched 877 kB in 0s (61.7 MB/s) dpkg-name: info: moved 'automake_1%3a1.18.1-4_all.deb' to '/srv/rebuilderd/tmp/tmp3c579ek4/automake_1.18.1-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxml-libxml-perl i386 2.0207+dfsg+really+2.0134-8 [323 kB] Fetched 323 kB in 0s (27.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvgwyuudk/libxml-libxml-perl_2.0207+dfsg+really+2.0134-8_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdebconfclient0 i386 0.283 [7596 B] Fetched 7596 B in 0s (757 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpexpybnby/libdebconfclient0_0.283_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcxsparse4 i386 1:7.12.2+dfsg-1 [112 kB] Fetched 112 kB in 0s (9446 kB/s) dpkg-name: info: moved 'libcxsparse4_1%3a7.12.2+dfsg-1_i386.deb' to '/srv/rebuilderd/tmp/tmpr_nter7_/libcxsparse4_7.12.2+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libidn2-0 i386 2.3.8-5 [110 kB] Fetched 110 kB in 0s (8472 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdp7_hwei/libidn2-0_2.3.8-5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libyaml-tiny-perl all 1.76-1 [29.8 kB] Fetched 29.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptwmp462x/libyaml-tiny-perl_1.76-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libngtcp2-crypto-gnutls8 i386 1.22.1-1 [21.4 kB] Fetched 21.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_ihas9ot/libngtcp2-crypto-gnutls8_1.22.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libio-socket-ssl-perl all 2.099-1 [229 kB] Fetched 229 kB in 0s (18.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqdf8zrvz/libio-socket-ssl-perl_2.099-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gcc-i686-linux-gnu i386 4:15.2.0-5+b1 [1432 B] Fetched 1432 B in 0s (0 B/s) dpkg-name: info: moved 'gcc-i686-linux-gnu_4%3a15.2.0-5+b1_i386.deb' to '/srv/rebuilderd/tmp/tmp8gxz1mgw/gcc-i686-linux-gnu_15.2.0-5+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdouble-conversion3 i386 3.4.0-1+b1 [45.2 kB] Fetched 45.2 kB in 0s (4150 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvbpyfoo1/libdouble-conversion3_3.4.0-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libreadline8t64 i386 8.3-4 [185 kB] Fetched 185 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp52xqdx0v/libreadline8t64_8.3-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxxhash0 i386 0.8.3-2+b2 [38.9 kB] Fetched 38.9 kB in 0s (3482 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpa8c_288b/libxxhash0_0.8.3-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libperlio-gzip-perl i386 0.20-1+b4 [17.9 kB] Fetched 17.9 kB in 0s (1762 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwe9oknyv/libperlio-gzip-perl_0.20-1+b4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpipeline1 i386 1.5.8-3 [49.4 kB] Fetched 49.4 kB in 0s (4609 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplvop6xn8/libpipeline1_1.5.8-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcap-ng0 i386 0.9.3-1+b1 [18.5 kB] Fetched 18.5 kB in 0s (1740 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpadzoxez7/libcap-ng0_0.9.3-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libglx0 i386 1.7.0-3+b1 [38.7 kB] Fetched 38.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpebup_fnp/libglx0_1.7.0-3+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdpkg-perl all 1.23.7 [669 kB] Fetched 669 kB in 0s (48.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmposeyfj1x/libdpkg-perl_1.23.7_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libyaml-pp-perl all 0.41.0-1 [112 kB] Fetched 112 kB in 0s (9134 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxnzk54uk/libyaml-pp-perl_0.41.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gcc-15-i686-linux-gnu i386 15.3.0-1 [25.3 MB] Fetched 25.3 MB in 0s (213 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl847gn_g/gcc-15-i686-linux-gnu_15.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libclass-xsaccessor-perl i386 1.19-4+b5 [37.4 kB] Fetched 37.4 kB in 0s (3148 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpswjco8nv/libclass-xsaccessor-perl_1.19-4+b5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdevel-size-perl i386 0.87-1 [24.2 kB] Fetched 24.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5xraq8sm/libdevel-size-perl_0.87-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libarchive-zip-perl all 1.68-1 [104 kB] Fetched 104 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkyp74133/libarchive-zip-perl_1.68-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libkrb5support0 i386 1.22.1-3 [33.2 kB] Fetched 33.2 kB in 0s (3276 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl12ttn_w/libkrb5support0_1.22.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfftw3-long3 i386 3.3.11-1 [326 kB] Fetched 326 kB in 0s (27.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgxm4wimv/libfftw3-long3_3.3.11-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libstring-escape-perl all 2010.002-3 [18.7 kB] Fetched 18.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp00ro0k84/libstring-escape-perl_2010.002-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libppix-regexp-perl all 0.092-1 [245 kB] Fetched 245 kB in 0s (22.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqlf0j_fc/libppix-regexp-perl_0.092-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsharpyuv0 i386 1.5.0-0.1+b2 [115 kB] Fetched 115 kB in 0s (10.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbl9_bwl8/libsharpyuv0_1.5.0-0.1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libvorbis0a i386 1.3.7-3+b2 [89.5 kB] Fetched 89.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp94tat23s/libvorbis0a_1.3.7-3+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxkbcommon-x11-0 i386 1.13.1-1 [22.4 kB] Fetched 22.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl0z0swcz/libxkbcommon-x11-0_1.13.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libvorbisenc2 i386 1.3.7-3+b2 [69.6 kB] Fetched 69.6 kB in 0s (6195 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7pq1lu1k/libvorbisenc2_1.3.7-3+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcpanel-json-xs-perl i386 4.42-1 [137 kB] Fetched 137 kB in 0s (10.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk553f_ti/libcpanel-json-xs-perl_4.42-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcurl4-openssl-dev i386 8.21.0-2 [617 kB] Fetched 617 kB in 0s (46.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdbdjqs70/libcurl4-openssl-dev_8.21.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libarpack2t64 i386 3.9.1-6+b2 [101 kB] Fetched 101 kB in 0s (9113 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprojepx0k/libarpack2t64_3.9.1-6+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libclass-inspector-perl all 1.36-3 [17.5 kB] Fetched 17.5 kB in 0s (1626 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmposber0pn/libclass-inspector-perl_1.36-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdatetime-format-rfc3339-perl all 1.10.0-1 [8660 B] Fetched 8660 B in 0s (831 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2srlsvve/libdatetime-format-rfc3339-perl_1.10.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 cpp-i686-linux-gnu i386 4:15.2.0-5+b1 [4644 B] Fetched 4644 B in 0s (389 kB/s) dpkg-name: info: moved 'cpp-i686-linux-gnu_4%3a15.2.0-5+b1_i386.deb' to '/srv/rebuilderd/tmp/tmpn6y73m77/cpp-i686-linux-gnu_15.2.0-5+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdatetime-timezone-perl all 1:2.69-1+2026c [260 kB] Fetched 260 kB in 0s (21.2 MB/s) dpkg-name: info: moved 'libdatetime-timezone-perl_1%3a2.69-1+2026c_all.deb' to '/srv/rebuilderd/tmp/tmpondptv6q/libdatetime-timezone-perl_2.69-1+2026c_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfltk-gl1.4 i386 1.4.4-4 [87.3 kB] Fetched 87.3 kB in 0s (8673 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprpm614qa/libfltk-gl1.4_1.4.4-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libx11-data all 2:1.8.13-1 [346 kB] Fetched 346 kB in 0s (26.8 MB/s) dpkg-name: info: moved 'libx11-data_2%3a1.8.13-1_all.deb' to '/srv/rebuilderd/tmp/tmp802_1vqr/libx11-data_1.8.13-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblapack3 i386 3.12.1-8 [2155 kB] Fetched 2155 kB in 0s (107 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzien4fmv/liblapack3_3.12.1-8_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 x11-common all 1:7.7+26 [217 kB] Fetched 217 kB in 0s (16.8 MB/s) dpkg-name: info: moved 'x11-common_1%3a7.7+26_all.deb' to '/srv/rebuilderd/tmp/tmp_5vkpw5v/x11-common_7.7+26_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdatetime-format-builder-perl all 0.8300-1 [63.8 kB] Fetched 63.8 kB in 0s (5593 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyg_cly_0/libdatetime-format-builder-perl_0.8300-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libaliased-perl all 0.34-3 [13.5 kB] Fetched 13.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqxnmrdaw/libaliased-perl_0.34-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libice6 i386 2:1.1.1-1+b2 [68.8 kB] Fetched 68.8 kB in 0s (0 B/s) dpkg-name: info: moved 'libice6_2%3a1.1.1-1+b2_i386.deb' to '/srv/rebuilderd/tmp/tmpd4bqtc9_/libice6_1.1.1-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libregexp-pattern-perl all 0.2.14-3 [18.3 kB] Fetched 18.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvolsy9ge/libregexp-pattern-perl_0.2.14-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsamplerate0 i386 0.2.2-4+b3 [954 kB] Fetched 954 kB in 0s (67.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbodo50c3/libsamplerate0_0.2.2-4+b3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblist-someutils-perl all 0.59-1 [37.1 kB] Fetched 37.1 kB in 0s (3516 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpa_wdribm/liblist-someutils-perl_0.59-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhdf5-hl-fortran-310 i386 1.14.6+repack-2+b1 [39.1 kB] Fetched 39.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv_9iftde/libhdf5-hl-fortran-310_1.14.6+repack-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmoox-aliases-perl all 0.001006-3 [6996 B] Fetched 6996 B in 0s (683 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpby5lpn8j/libmoox-aliases-perl_0.001006-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6widgets6 i386 6.10.2+dfsg-15 [2896 kB] Fetched 2896 kB in 0s (129 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfdek_1e8/libqt6widgets6_6.10.2+dfsg-15_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libstring-copyright-perl all 0.003014-1 [23.4 kB] Fetched 23.4 kB in 0s (2029 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6hi_0svs/libstring-copyright-perl_0.003014-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 t1utils i386 1.41-4 [62.3 kB] Fetched 62.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpj_0_yd5l/t1utils_1.41-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 xkb-data all 2.47-1 [835 kB] Fetched 835 kB in 0s (60.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpecap7z36/xkb-data_2.47-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libstring-rewriteprefix-perl all 0.009-1 [7140 B] Fetched 7140 B in 0s (612 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqcgp9kjm/libstring-rewriteprefix-perl_0.009-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-xinput0 i386 1.17.0-2+b2 [133 kB] Fetched 133 kB in 0s (11.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpaf4x_fm2/libxcb-xinput0_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libubsan1 i386 16.1.0-2 [1107 kB] Fetched 1107 kB in 0s (64.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb_jex9qe/libubsan1_16.1.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libkadm5clnt-mit12 i386 1.22.1-3 [42.5 kB] Fetched 42.5 kB in 0s (4116 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpomc3ebcx/libkadm5clnt-mit12_1.22.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsoftware-licensemoreutils-perl all 1.009-1 [22.0 kB] Fetched 22.0 kB in 0s (1979 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo2h8daxc/libsoftware-licensemoreutils-perl_1.009-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcc1-0 i386 16.1.0-2 [46.4 kB] Fetched 46.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplrg97z5o/libcc1-0_16.1.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libavif16 i386 1.4.2-1 [154 kB] Fetched 154 kB in 0s (14.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpe266makt/libavif16_1.4.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libconvert-binhex-perl all 1.125-3 [27.4 kB] Fetched 27.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyn1ylyzt/libconvert-binhex-perl_1.125-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libparams-classify-perl i386 0.015-2+b5 [23.2 kB] Fetched 23.2 kB in 0s (1926 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwrcerszg/libparams-classify-perl_0.015-2+b5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libbrotli1 i386 1.2.0-3 [307 kB] Fetched 307 kB in 0s (23.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpahhmorx3/libbrotli1_1.2.0-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblz1 i386 1.16-1 [39.8 kB] Fetched 39.8 kB in 0s (3899 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmps2369vh6/liblz1_1.16-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libmount1 i386 2.42.2-1 [231 kB] Fetched 231 kB in 0s (22.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzws00r2h/libmount1_2.42.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 patch i386 2.8-2 [142 kB] Fetched 142 kB in 0s (11.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4ao73q99/patch_2.8-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtime-moment-perl i386 0.46-1 [85.1 kB] Fetched 85.1 kB in 0s (7463 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpincxix_5/libtime-moment-perl_0.46-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 xtrans-dev all 1.6.0-1 [93.5 kB] Fetched 93.5 kB in 0s (8566 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpc9aciyjm/xtrans-dev_1.6.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libyaml-libyaml-perl i386 0.910.0+ds-1 [49.3 kB] Fetched 49.3 kB in 0s (4728 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpple06jh0/libyaml-libyaml-perl_0.910.0+ds-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblerc4 i386 4.1.1+ds-1 [189 kB] Fetched 189 kB in 0s (15.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk92oygtf/liblerc4_4.1.1+ds-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libperl-critic-perl all 1.156-1 [685 kB] Fetched 685 kB in 0s (41.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpubqg3bgs/libperl-critic-perl_1.156-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxml-sax-perl all 1.02+dfsg-5 [53.6 kB] Fetched 53.6 kB in 0s (4895 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4lkrwx5_/libxml-sax-perl_1.02+dfsg-5_all.deb' Downloading dependency 254 of 687: libkdb5-10t64:i386=1.22.1-3 Downloading dependency 255 of 687: libjpeg-dev:i386=1:3.1.3-4 Downloading dependency 256 of 687: openssl-provider-legacy:i386=3.6.3-1 Downloading dependency 257 of 687: bsdextrautils:i386=2.42.2-1 Downloading dependency 258 of 687: libqt6core5compat6:i386=6.10.2-3 Downloading dependency 259 of 687: libxcb-xfixes0:i386=1.17.0-2+b2 Downloading dependency 260 of 687: libproc-processtable-perl:i386=0.637-1+b2 Downloading dependency 261 of 687: libpsl-dev:i386=0.22.0-1 Downloading dependency 262 of 687: libgfortran5:i386=16.1.0-2 Downloading dependency 263 of 687: libcapture-tiny-perl:i386=0.50-1 Downloading dependency 264 of 687: base-files:i386=14.2 Downloading dependency 265 of 687: gettext-base:i386=1.0-3 Downloading dependency 266 of 687: libconfig-tiny-perl:i386=2.30-1 Downloading dependency 267 of 687: libx11-xcb1:i386=2:1.8.13-1 Downloading dependency 268 of 687: libxfixes3:i386=1:6.0.0-2+b5 Downloading dependency 269 of 687: make:i386=4.4.1-3 Downloading dependency 270 of 687: libproc2-1:i386=2:4.0.6-2 Downloading dependency 271 of 687: xorg-sgml-doctools:i386=1:1.12.1-1 Downloading dependency 272 of 687: libappstream5:i386=1.1.3-1 Downloading dependency 273 of 687: libgraphicsmagick-q16-3t64:i386=1.4+really1.3.46-2 Downloading dependency 274 of 687: libsasl2-modules-db:i386=2.1.28+dfsg1-11 Downloading dependency 275 of 687: libreadonly-perl:i386=2.050-3 Downloading dependency 276 of 687: libsndfile1:i386=1.2.2-4+b1 Downloading dependency 277 of 687: libconfig-model-backend-yaml-perl:i386=2.134-2 Downloading dependency 278 of 687: libhogweed6t64:i386=3.10.2-1+b1 Downloading dependency 279 of 687: liblwp-mediatypes-perl:i386=6.04-2 Downloading dependency 280 of 687: libnetaddr-ip-perl:i386=4.079+dfsg-2+b5 Downloading dependency 281 of 687: libexporter-tiny-perl:i386=1.006003-1 Downloading dependency 282 of 687: libsafe-isa-perl:i386=1.000010-1 Downloading dependency 283 of 687: octave-dev:i386=11.3.0-1 Downloading dependency 284 of 687: libxstring-perl:i386=0.005-2+b5 Downloading dependency 285 of 687: libstdc++6:i386=16.1.0-2 Downloading dependency 286 of 687: libmodule-implementation-perl:i386=0.09-2 Downloading dependency 287 of 687: autotools-dev:i386=20240727.1+nmu1 Downloading dependency 288 of 687: gcc-16-base:i386=16.1.0-2 Downloading dependency 289 of 687: libtext-markdown-discount-perl:i386=0.18-1 Downloading dependency 290 of 687: libtext-xslate-perl:i386=3.5.9-2+b2 Downloading dependency 291 of 687: fontconfig:i386=2.17.1-5 Downloading dependency 292 of 687: gpg:i386=2.4.9-7 Downloading dependency 293 of 687: libgmp-dev:i386=2:6.3.0+dfsg-5+b2 Downloading dependency 294 of 687: dpkg:i386=1.23.7 Downloading dependency 295 of 687: libmagic-mgc:i386=1:5.47-4 Downloading dependency 296 of 687: libncurses6:i386=6.6+20260608-2 Downloading dependency 297 of 687: libimagequant0:i386=4.4.1-1+b2 Downloading dependency 298 of 687: libipc-system-simple-perl:i386=1.30-2 Downloading dependency 299 of 687: procps:i386=2:4.0.6-2 Downloading dependency 300 of 687: libxcb-sync1:i386=1.17.0-2+b2 Downloading dependency 301 of 687: gfortran-15:i386=15.3.0-1 Downloading dependency 302 of 687: libngtcp2-dev:i386=1.22.1-1 Downloading dependency 303 of 687: libpkgconf7:i386=2.5.1-4 Downloading dependency 304 of 687: libxpm4:i386=1:3.5.19-1 Downloading dependency 305 of 687: automake:i386=1:1.18.1-4 Downloading dependency 306 of 687: libxml-libxml-perl:i386=2.0207+dfsg+really+2.0134-8 Downloading dependency 307 of 687: libdebconfclient0:i386=0.283 Downloading dependency 308 of 687: libcxsparse4:i386=1:7.12.2+dfsg-1 Downloading dependency 309 of 687: libidn2-0:i386=2.3.8-5 Downloading dependency 310 of 687: libyaml-tiny-perl:i386=1.76-1 Downloading dependency 311 of 687: libngtcp2-crypto-gnutls8:i386=1.22.1-1 Downloading dependency 312 of 687: libio-socket-ssl-perl:i386=2.099-1 Downloading dependency 313 of 687: gcc-i686-linux-gnu:i386=4:15.2.0-5+b1 Downloading dependency 314 of 687: libdouble-conversion3:i386=3.4.0-1+b1 Downloading dependency 315 of 687: libreadline8t64:i386=8.3-4 Downloading dependency 316 of 687: libxxhash0:i386=0.8.3-2+b2 Downloading dependency 317 of 687: libperlio-gzip-perl:i386=0.20-1+b4 Downloading dependency 318 of 687: libpipeline1:i386=1.5.8-3 Downloading dependency 319 of 687: libcap-ng0:i386=0.9.3-1+b1 Downloading dependency 320 of 687: libglx0:i386=1.7.0-3+b1 Downloading dependency 321 of 687: libdpkg-perl:i386=1.23.7 Downloading dependency 322 of 687: libyaml-pp-perl:i386=0.41.0-1 Downloading dependency 323 of 687: gcc-15-i686-linux-gnu:i386=15.3.0-1 Downloading dependency 324 of 687: libclass-xsaccessor-perl:i386=1.19-4+b5 Downloading dependency 325 of 687: libdevel-size-perl:i386=0.87-1 Downloading dependency 326 of 687: libarchive-zip-perl:i386=1.68-1 Downloading dependency 327 of 687: libkrb5support0:i386=1.22.1-3 Downloading dependency 328 of 687: libfftw3-long3:i386=3.3.11-1 Downloading dependency 329 of 687: libstring-escape-perl:i386=2010.002-3 Downloading dependency 330 of 687: libppix-regexp-perl:i386=0.092-1 Downloading dependency 331 of 687: libsharpyuv0:i386=1.5.0-0.1+b2 Downloading dependency 332 of 687: libvorbis0a:i386=1.3.7-3+b2 Downloading dependency 333 of 687: libxkbcommon-x11-0:i386=1.13.1-1 Downloading dependency 334 of 687: libvorbisenc2:i386=1.3.7-3+b2 Downloading dependency 335 of 687: libcpanel-json-xs-perl:i386=4.42-1 Downloading dependency 336 of 687: libcurl4-openssl-dev:i386=8.21.0-2 Downloading dependency 337 of 687: libarpack2t64:i386=3.9.1-6+b2 Downloading dependency 338 of 687: libclass-inspector-perl:i386=1.36-3 Downloading dependency 339 of 687: libdatetime-format-rfc3339-perl:i386=1.10.0-1 Downloading dependency 340 of 687: cpp-i686-linux-gnu:i386=4:15.2.0-5+b1 Downloading dependency 341 of 687: libdatetime-timezone-perl:i386=1:2.69-1+2026c Downloading dependency 342 of 687: libfltk-gl1.4:i386=1.4.4-4 Downloading dependency 343 of 687: libx11-data:i386=2:1.8.13-1 Downloading dependency 344 of 687: liblapack3:i386=3.12.1-8 Downloading dependency 345 of 687: x11-common:i386=1:7.7+26 Downloading dependency 346 of 687: libdatetime-format-builder-perl:i386=0.8300-1 Downloading dependency 347 of 687: libaliased-perl:i386=0.34-3 Downloading dependency 348 of 687: libice6:i386=2:1.1.1-1+b2 Downloading dependency 349 of 687: libregexp-pattern-perl:i386=0.2.14-3 Downloading dependency 350 of 687: libsamplerate0:i386=0.2.2-4+b3 Downloading dependency 351 of 687: liblist-someutils-perl:i386=0.59-1 Downloading dependency 352 of 687: libhdf5-hl-fortran-310:i386=1.14.6+repack-2+b1 Downloading dependency 353 of 687: libmoox-aliases-perl:i386=0.001006-3 Downloading dependency 354 of 687: libqt6widgets6:i386=6.10.2+dfsg-15 Downloading dependency 355 of 687: libstring-copyright-perl:i386=0.003014-1 Downloading dependency 356 of 687: t1utils:i386=1.41-4 Downloading dependency 357 of 687: xkb-data:i386=2.47-1 Downloading dependency 358 of 687: libstring-rewriteprefix-perl:i386=0.009-1 Downloading dependency 359 of 687: libxcb-xinput0:i386=1.17.0-2+b2 Downloading dependency 360 of 687: libubsan1:i386=16.1.0-2 Downloading dependency 361 of 687: libkadm5clnt-mit12:i386=1.22.1-3 Downloading dependency 362 of 687: libsoftware-licensemoreutils-perl:i386=1.009-1 Downloading dependency 363 of 687: libcc1-0:i386=16.1.0-2 Downloading dependency 364 of 687: libavif16:i386=1.4.2-1 Downloading dependency 365 of 687: libconvert-binhex-perl:i386=1.125-3 Downloading dependency 366 of 687: libparams-classify-perl:i386=0.015-2+b5 Downloading dependency 367 of 687: libbrotli1:i386=1.2.0-3 Downloading dependency 368 of 687: liblz1:i386=1.16-1 Downloading dependency 369 of 687: libmount1:i386=2.42.2-1 Downloading dependency 370 of 687: patch:i386=2.8-2 Downloading dependency 371 of 687: libtime-moment-perl:i386=0.46-1 Downloading dependency 372 of 687: xtrans-dev:i386=1.6.0-1 Downloading dependency 373 of 687: libyaml-libyaml-perl:i386=0.910.0+ds-1 Downloading dependency 374 of 687: liblerc4:i386=4.1.1+ds-1 Downloading dependency 375 of 687: libperl-critic-perl:i386=1.156-1 Downloading dependency 376 of 687: libxml-sax-perl:i386=1.02+dfsg-5 Downloading dependency 377 of 687: libjson-maybexs-perl:i386=1.004008-1Get:1 http://deb.debian.org/debian unstable/main i386 libjson-maybexs-perl all 1.004008-1 [12.9 kB] Fetched 12.9 kB in 0s (1283 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmx4vty3n/libjson-maybexs-perl_1.004008-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsub-install-perl all 0.929-1 [10.5 kB] Fetched 10.5 kB in 0s (1027 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2cg1ndi5/libsub-install-perl_0.929-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libblas-dev i386 3.12.1-8 [159 kB] Fetched 159 kB in 0s (15.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpc2oq9390/libblas-dev_3.12.1-8_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libclass-singleton-perl all 1.6-2 [12.5 kB] Fetched 12.5 kB in 0s (1213 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplwze221d/libclass-singleton-perl_1.6-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-cursor0 i386 0.1.6-1 [18.1 kB] Fetched 18.1 kB in 0s (1746 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_unianbx/libxcb-cursor0_0.1.6-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6network6 i386 6.10.2+dfsg-15 [883 kB] Fetched 883 kB in 0s (64.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxhbhz6pt/libqt6network6_6.10.2+dfsg-15_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 dwz i386 0.16-4 [114 kB] Fetched 114 kB in 0s (8775 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2fjv5agn/dwz_0.16-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdata-optlist-perl all 0.114-1 [10.6 kB] Fetched 10.6 kB in 0s (1000 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpspvbtocs/libdata-optlist-perl_0.114-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpangoft2-1.0-0 i386 1.58.0-1 [55.7 kB] Fetched 55.7 kB in 0s (5302 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7vz321fs/libpangoft2-1.0-0_1.58.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 m4 i386 1.4.21-1 [335 kB] Fetched 335 kB in 0s (25.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp221zhvqf/m4_1.4.21-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libemail-address-xs-perl i386 1.05-1+b4 [30.3 kB] Fetched 30.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdbulzqbh/libemail-address-xs-perl_1.05-1+b4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libyaml-0-2 i386 0.2.5-2+b1 [56.4 kB] Fetched 56.4 kB in 0s (5536 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_ezauxzw/libyaml-0-2_0.2.5-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 man-db i386 2.13.1-1 [1478 kB] Fetched 1478 kB in 0s (88.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7j8vvf9e/man-db_2.13.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdata-validate-ip-perl all 0.31-1 [20.6 kB] Fetched 20.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp84418hwi/libdata-validate-ip-perl_0.31-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-levenshtein-damerau-perl all 0.41-3 [12.3 kB] Fetched 12.3 kB in 0s (1226 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv7mmpu7i/libtext-levenshtein-damerau-perl_0.41-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libaec0 i386 1.1.7-1 [24.2 kB] Fetched 24.2 kB in 0s (1894 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_qsa4i3s/libaec0_1.1.7-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libarray-intspan-perl all 2.004-2 [25.7 kB] Fetched 25.7 kB in 0s (1984 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpiy5sowhc/libarray-intspan-perl_2.004-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libportaudio2 i386 19.7.0-1+b1 [67.7 kB] Fetched 67.7 kB in 0s (4692 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpie6mqi5s/libportaudio2_19.7.0-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libinput10 i386 1.31.3-1 [178 kB] Fetched 178 kB in 0s (15.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4zlc67s8/libinput10_1.31.3-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdata-validate-domain-perl all 0.15-1 [11.9 kB] Fetched 11.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb85s2_64/libdata-validate-domain-perl_0.15-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libglpk40 i386 5.0-3 [403 kB] Fetched 403 kB in 0s (29.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk3v0lwtu/libglpk40_5.0-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libjson-perl all 4.10000-1 [87.5 kB] Fetched 87.5 kB in 0s (7845 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprepv5lpd/libjson-perl_4.10000-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfeature-compat-try-perl all 0.05-1 [10.4 kB] Fetched 10.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpeju_95cm/libfeature-compat-try-perl_0.05-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 tex-common all 6.20 [29.7 kB] Fetched 29.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpiap1n_pj/tex-common_6.20_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgl-dev i386 1.7.0-3+b1 [99.8 kB] Fetched 99.8 kB in 0s (8100 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqmpkb_yg/libgl-dev_1.7.0-3+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libiterator-util-perl all 0.02+ds1-2 [14.0 kB] Fetched 14.0 kB in 0s (1115 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgsvsvev0/libiterator-util-perl_0.02+ds1-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 cpp i386 4:15.2.0-5+b1 [1572 B] Fetched 1572 B in 0s (155 kB/s) dpkg-name: info: moved 'cpp_4%3a15.2.0-5+b1_i386.deb' to '/srv/rebuilderd/tmp/tmptfggc0k9/cpp_15.2.0-5+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gzip i386 1.13-1 [139 kB] Fetched 139 kB in 0s (11.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptepfvbo6/gzip_1.13-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblzo2-2 i386 2.10-3+b2 [58.1 kB] Fetched 58.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp79acs9h2/liblzo2-2_2.10-3+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcarp-assert-more-perl all 2.9.0-1 [21.9 kB] Fetched 21.9 kB in 0s (2174 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcei0j2d_/libcarp-assert-more-perl_2.9.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 perl-modules-5.40 all 5.40.1-8 [3019 kB] Fetched 3019 kB in 0s (133 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpoly4651e/perl-modules-5.40_5.40.1-8_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfftw3-quad3 i386 3.3.11-1 [1818 kB] Fetched 1818 kB in 0s (89.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0nqrfx28/libfftw3-quad3_3.3.11-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 hostname i386 3.25 [11.3 kB] Fetched 11.3 kB in 0s (1090 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6nb03jez/hostname_3.25_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmd0 i386 1.2.0-2 [46.4 kB] Fetched 46.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8m5unfik/libmd0_1.2.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gnuplot-data all 6.0.3+dfsg1-1 [73.0 kB] Fetched 73.0 kB in 0s (6488 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpy684tocy/gnuplot-data_6.0.3+dfsg1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfile-which-perl all 1.27-2 [15.1 kB] Fetched 15.1 kB in 0s (1312 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp437cry53/libfile-which-perl_1.27-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblzma5 i386 5.8.3-1 [343 kB] Fetched 343 kB in 0s (27.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4_2z4gi1/liblzma5_5.8.3-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 util-linux i386 2.42.2-1 [1268 kB] Fetched 1268 kB in 0s (79.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbdqj5035/util-linux_2.42.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhdf5-fortran-310 i386 1.14.6+repack-2+b1 [113 kB] Fetched 113 kB in 0s (9689 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6uyx6mlm/libhdf5-fortran-310_1.14.6+repack-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhttp-date-perl all 6.08-1 [12.1 kB] Fetched 12.1 kB in 0s (984 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsm_mnco9/libhttp-date-perl_6.08-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6sql6 i386 6.10.2+dfsg-15 [157 kB] Fetched 157 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm7oiakbx/libqt6sql6_6.10.2+dfsg-15_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsub-uplevel-perl all 0.2800-3 [14.0 kB] Fetched 14.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnxi0ydds/libsub-uplevel-perl_0.2800-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libintl-perl all 1.37-1 [696 kB] Fetched 696 kB in 0s (59.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp559iyzga/libintl-perl_1.37-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfile-sharedir-perl all 1.118-3 [16.0 kB] Fetched 16.0 kB in 0s (1543 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpj_lyuyws/libfile-sharedir-perl_1.118-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 base-passwd i386 3.6.8 [55.1 kB] Fetched 55.1 kB in 0s (5087 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnzc1y8h3/base-passwd_3.6.8_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libjpeg62-turbo-dev i386 1:3.1.3-4 [368 kB] Fetched 368 kB in 0s (36.3 MB/s) dpkg-name: info: moved 'libjpeg62-turbo-dev_1%3a3.1.3-4_i386.deb' to '/srv/rebuilderd/tmp/tmpw9ux7r0c/libjpeg62-turbo-dev_3.1.3-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpod-spell-perl all 1.27-1 [32.0 kB] Fetched 32.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1xhbni5g/libpod-spell-perl_1.27-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqscintilla2-qt6-l10n all 2.14.1+dfsg-3 [103 kB] Fetched 103 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphsuq9g8v/libqscintilla2-qt6-l10n_2.14.1+dfsg-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 init-system-helpers all 1.69 [39.3 kB] Fetched 39.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl6y34_su/init-system-helpers_1.69_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libclass-tiny-perl all 1.008-2 [18.6 kB] Fetched 18.6 kB in 0s (1741 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyzidg32m/libclass-tiny-perl_1.008-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libindirect-perl i386 0.39-2+b4 [28.1 kB] Fetched 28.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_mps5teg/libindirect-perl_0.39-2+b4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpam-modules i386 1.7.0-8 [182 kB] Fetched 182 kB in 0s (16.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkivhfvp0/libpam-modules_1.7.0-8_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnet-ssleay-perl i386 1.96-1 [343 kB] Fetched 343 kB in 0s (29.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpe86jky22/libnet-ssleay-perl_1.96-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libltdl7 i386 2.5.4-11 [417 kB] Fetched 417 kB in 0s (32.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0ai5sm1z/libltdl7_2.5.4-11_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libspecio-perl all 0.53-1 [134 kB] Fetched 134 kB in 0s (11.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprxsb1iog/libspecio-perl_0.53-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpod-constants-perl all 0.19-2 [17.3 kB] Fetched 17.3 kB in 0s (1445 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqtijiuib/libpod-constants-perl_0.19-2_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 tzdata all 2026b-1 [260 kB] Fetched 260 kB in 0s (20.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpt6fsj65t/tzdata_2026b-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgnutls28-dev i386 3.8.13-1 [1535 kB] Fetched 1535 kB in 0s (88.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpr8vka3e0/libgnutls28-dev_3.8.13-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libllvm21 i386 1:21.1.8-7+b4 [32.2 MB] Fetched 32.2 MB in 0s (217 MB/s) dpkg-name: info: moved 'libllvm21_1%3a21.1.8-7+b4_i386.deb' to '/srv/rebuilderd/tmp/tmp77vpaoof/libllvm21_21.1.8-7+b4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblwp-protocol-https-perl all 6.15-1 [10.7 kB] Fetched 10.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7d5a2dqn/liblwp-protocol-https-perl_6.15-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-xkb1 i386 1.17.0-2+b2 [131 kB] Fetched 131 kB in 0s (9959 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpan494xsm/libxcb-xkb1_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libclass-method-modifiers-perl all 2.15-1 [18.0 kB] Fetched 18.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprgr5swi8/libclass-method-modifiers-perl_2.15-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcamd3 i386 1:7.12.2+dfsg-1 [50.7 kB] Fetched 50.7 kB in 0s (4348 kB/s) dpkg-name: info: moved 'libcamd3_1%3a7.12.2+dfsg-1_i386.deb' to '/srv/rebuilderd/tmp/tmps0o72i25/libcamd3_7.12.2+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfribidi0 i386 1.0.16-5+b1 [26.6 kB] Fetched 26.6 kB in 0s (2396 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_671xrac/libfribidi0_1.0.16-5+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdevel-callchecker-perl i386 0.009-3 [15.4 kB] Fetched 15.4 kB in 0s (1522 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwcxcn2ze/libdevel-callchecker-perl_0.009-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libevdev2 i386 1.13.6+dfsg-3 [30.0 kB] Fetched 30.0 kB in 0s (2942 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpp4i8mln2/libevdev2_1.13.6+dfsg-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gpgconf i386 2.4.9-7 [133 kB] Fetched 133 kB in 0s (11.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp41iz562n/gpgconf_2.4.9-7_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-autoformat-perl all 1.750000-2 [35.2 kB] Fetched 35.2 kB in 0s (3143 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_f1kiq18/libtext-autoformat-perl_1.750000-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libwebpmux3 i386 1.5.0-0.1+b2 [127 kB] Fetched 127 kB in 0s (11.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgh_j8gtb/libwebpmux3_1.5.0-0.1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 file i386 1:5.47-4 [43.1 kB] Fetched 43.1 kB in 0s (3075 kB/s) dpkg-name: info: moved 'file_1%3a5.47-4_i386.deb' to '/srv/rebuilderd/tmp/tmpi26ztu4m/file_5.47-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libavahi-client3 i386 0.8-18 [51.4 kB] Fetched 51.4 kB in 0s (3983 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpti0hq66u/libavahi-client3_0.8-18_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libaudit-common all 1:4.1.2-1 [14.3 kB] Fetched 14.3 kB in 0s (0 B/s) dpkg-name: info: moved 'libaudit-common_1%3a4.1.2-1_all.deb' to '/srv/rebuilderd/tmp/tmpcao_v_ld/libaudit-common_4.1.2-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgpg-error0 i386 1.61-3 [95.3 kB] Fetched 95.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp67i6qcaf/libgpg-error0_1.61-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 perltidy all 20250105-1 [706 kB] Fetched 706 kB in 0s (49.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9t32tgt_/perltidy_20250105-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libjxl0.11 i386 0.11.2-5 [1156 kB] Fetched 1156 kB in 0s (83.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwl7f2oaa/libjxl0.11_0.11.2-5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libstdc++-15-dev i386 15.3.0-1 [2823 kB] Fetched 2823 kB in 0s (125 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpae3pllm6/libstdc++-15-dev_15.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libwww-mechanize-perl all 2.22-1 [117 kB] Fetched 117 kB in 0s (10.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpz1v382fp/libwww-mechanize-perl_2.22-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libasan8 i386 16.1.0-2 [2734 kB] Fetched 2734 kB in 0s (123 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvw9rd1y3/libasan8_16.1.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libbsd0 i386 0.12.2-3 [135 kB] Fetched 135 kB in 0s (10.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkwijifbl/libbsd0_0.12.2-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libelf1t64 i386 0.195-1 [64.2 kB] Fetched 64.2 kB in 0s (6112 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp17nhzq6y/libelf1t64_0.195-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb1 i386 1.17.0-2+b2 [148 kB] Fetched 148 kB in 0s (13.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpybpy_0ma/libxcb1_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libconfig-model-dpkg-perl all 3.024 [191 kB] Fetched 191 kB in 0s (16.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnyfia0sc/libconfig-model-dpkg-perl_3.024_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblapack-dev i386 3.12.1-8 [4386 kB] Fetched 4386 kB in 0s (150 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpinz2kxe3/liblapack-dev_3.12.1-8_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libwmflite-0.2-7 i386 0.2.14-1 [77.5 kB] Fetched 77.5 kB in 0s (6391 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo0xhvrh4/libwmflite-0.2-7_0.2.14-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 coreutils i386 9.10-1 [3183 kB] Fetched 3183 kB in 0s (125 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxavn_pbm/coreutils_9.10-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libldap-dev i386 2.6.13+dfsg-1 [327 kB] Fetched 327 kB in 0s (24.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpc94tx5cu/libldap-dev_2.6.13+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libparams-validate-perl i386 1.31-2+b4 [65.2 kB] Fetched 65.2 kB in 0s (5875 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo4y_oex9/libparams-validate-perl_1.31-2+b4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqscintilla2-qt6-15 i386 2.14.1+dfsg-3 [1255 kB] Fetched 1255 kB in 0s (71.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpariaofqf/libqscintilla2-qt6-15_2.14.1+dfsg-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtimedate-perl all 2.3500-1 [64.2 kB] Fetched 64.2 kB in 0s (6066 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8eo9coq4/libtimedate-perl_2.3500-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libldap2 i386 2.6.13+dfsg-1 [201 kB] Fetched 201 kB in 0s (17.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8k4ewxhr/libldap2_2.6.13+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libapt-pkg7.0 i386 3.3.1 [1301 kB] Fetched 1301 kB in 0s (80.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcyxl7_oo/libapt-pkg7.0_3.3.1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 unzip i386 6.0-29 [173 kB] Fetched 173 kB in 0s (16.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxmj_4sjd/unzip_6.0-29_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpcre2-8-0 i386 10.46-1+b2 [294 kB] Fetched 294 kB in 0s (28.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpel82n81j/libpcre2-8-0_10.46-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtiff6 i386 4.7.2-1 [396 kB] Fetched 396 kB in 0s (34.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpertux7uk/libtiff6_4.7.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-render-util0 i386 0.3.10-1+b2 [19.1 kB] Fetched 19.1 kB in 0s (1823 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptlaqjamt/libxcb-render-util0_0.3.10-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfile-basedir-perl all 0.09-2 [15.1 kB] Fetched 15.1 kB in 0s (1491 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpj147c08y/libfile-basedir-perl_0.09-2_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 binutils i386 2.46.50.20260617-1 [289 kB] Fetched 289 kB in 0s (27.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4loa27xn/binutils_2.46.50.20260617-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libconfig-inifiles-perl all 3.000003-5 [44.9 kB] Fetched 44.9 kB in 0s (3484 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqnes4qlr/libconfig-inifiles-perl_3.000003-5_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfile-listing-perl all 6.16-1 [12.4 kB] Fetched 12.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppsdd1n60/libfile-listing-perl_6.16-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libnghttp3-dev i386 1.15.0-1 [108 kB] Fetched 108 kB in 0s (9956 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb82_hh94/libnghttp3-dev_1.15.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-glob-perl all 0.11-3 [7676 B] Fetched 7676 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdtmfhb1v/libtext-glob-perl_0.11-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Fetched 7496 B in 0s (663 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcvtc9cr0/libsub-exporter-progressive-perl_0.001013-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 ncurses-base all 6.6+20260608-2 [276 kB] Fetched 276 kB in 0s (22.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1ji1n0nu/ncurses-base_6.6+20260608-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 texinfo all 7.3-2 [1877 kB] Fetched 1877 kB in 0s (103 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl8zqb3oq/texinfo_7.3-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 dh-strip-nondeterminism all 1.15.1-1 [6020 B] Fetched 6020 B in 0s (548 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyixwqul0/dh-strip-nondeterminism_1.15.1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhdf5-hl-cpp-310 i386 1.14.6+repack-2+b1 [18.9 kB] Fetched 18.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpksja6dnq/libhdf5-hl-cpp-310_1.14.6+repack-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 patchutils i386 0.4.5-1 [87.6 kB] Fetched 87.6 kB in 0s (8063 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpi2mo8qu3/patchutils_0.4.5-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhtml-tree-perl all 5.07-3 [211 kB] Fetched 211 kB in 0s (18.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp76kb43bu/libhtml-tree-perl_5.07-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libkrb5-3 i386 1.22.1-3 [357 kB] Fetched 357 kB in 0s (34.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7inb1mhq/libkrb5-3_1.22.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libiterator-perl all 0.03+ds1-2 [18.8 kB] Fetched 18.8 kB in 0s (1844 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4m7m2eus/libiterator-perl_0.03+ds1-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libspqr4 i386 1:7.12.2+dfsg-1 [175 kB] Fetched 175 kB in 0s (13.1 MB/s) dpkg-name: info: moved 'libspqr4_1%3a7.12.2+dfsg-1_i386.deb' to '/srv/rebuilderd/tmp/tmpmzd_hrpi/libspqr4_7.12.2+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libexception-class-perl all 1.45-1 [34.6 kB] Fetched 34.6 kB in 0s (3271 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8fjkp8q8/libexception-class-perl_1.45-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdecor-0-0 i386 0.2.5-1+b1 [15.8 kB] Fetched 15.8 kB in 0s (1548 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp63vppdfa/libdecor-0-0_0.2.5-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmodule-pluggable-perl all 6.3-1 [24.1 kB] Fetched 24.1 kB in 0s (2304 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxn6dw8j4/libmodule-pluggable-perl_6.3-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libogg0 i386 1.3.6-2+b1 [24.7 kB] Fetched 24.7 kB in 0s (2399 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgmx2nj8y/libogg0_1.3.6-2+b1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libuuid1 i386 2.42.2-1 [35.0 kB] Fetched 35.0 kB in 0s (3386 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm27iyskn/libuuid1_2.42.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb1-dev i386 1.17.0-2+b2 [186 kB] Fetched 186 kB in 0s (14.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptr0dpo76/libxcb1-dev_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-present0 i386 1.17.0-2+b2 [106 kB] Fetched 106 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwxvm6cbe/libxcb-present0_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libp11-kit-dev i386 0.26.4-1 [225 kB] Fetched 225 kB in 0s (21.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp19bmn5zu/libp11-kit-dev_0.26.4-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpod-parser-perl all 1.67-1 [94.1 kB] Fetched 94.1 kB in 0s (9288 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_n932uyi/libpod-parser-perl_1.67-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsort-versions-perl all 1.62-3 [8928 B] Fetched 8928 B in 0s (770 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpeetpeq3e/libsort-versions-perl_1.62-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsub-exporter-perl all 0.990-1 [50.6 kB] Fetched 50.6 kB in 0s (4556 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmf02bziv/libsub-exporter-perl_0.990-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libde265-0 i386 1.1.1-1 [197 kB] Fetched 197 kB in 0s (17.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp629rfkwv/libde265-0_1.1.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfont-ttf-perl all 1.06-2 [318 kB] Fetched 318 kB in 0s (24.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3830gyed/libfont-ttf-perl_1.06-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 fontconfig-config i386 2.17.1-5 [56.0 kB] Fetched 56.0 kB in 0s (5485 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpursh1wch/fontconfig-config_2.17.1-5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxext6 i386 2:1.3.4-1+b4 [52.7 kB] Fetched 52.7 kB in 0s (4822 kB/s) dpkg-name: info: moved 'libxext6_2%3a1.3.4-1+b4_i386.deb' to '/srv/rebuilderd/tmp/tmpfi2ez0ql/libxext6_1.3.4-1+b4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libwww-perl all 6.83-1 [186 kB] Fetched 186 kB in 0s (15.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvdim27bv/libwww-perl_6.83-1_all.deb' Downloading dependency 378 of 687: libsub-install-perl:i386=0.929-1 Downloading dependency 379 of 687: libblas-dev:i386=3.12.1-8 Downloading dependency 380 of 687: libclass-singleton-perl:i386=1.6-2 Downloading dependency 381 of 687: libxcb-cursor0:i386=0.1.6-1 Downloading dependency 382 of 687: libqt6network6:i386=6.10.2+dfsg-15 Downloading dependency 383 of 687: dwz:i386=0.16-4 Downloading dependency 384 of 687: libdata-optlist-perl:i386=0.114-1 Downloading dependency 385 of 687: libpangoft2-1.0-0:i386=1.58.0-1 Downloading dependency 386 of 687: m4:i386=1.4.21-1 Downloading dependency 387 of 687: libemail-address-xs-perl:i386=1.05-1+b4 Downloading dependency 388 of 687: libyaml-0-2:i386=0.2.5-2+b1 Downloading dependency 389 of 687: man-db:i386=2.13.1-1 Downloading dependency 390 of 687: libdata-validate-ip-perl:i386=0.31-1 Downloading dependency 391 of 687: libtext-levenshtein-damerau-perl:i386=0.41-3 Downloading dependency 392 of 687: libaec0:i386=1.1.7-1 Downloading dependency 393 of 687: libarray-intspan-perl:i386=2.004-2 Downloading dependency 394 of 687: libportaudio2:i386=19.7.0-1+b1 Downloading dependency 395 of 687: libinput10:i386=1.31.3-1 Downloading dependency 396 of 687: libdata-validate-domain-perl:i386=0.15-1 Downloading dependency 397 of 687: libglpk40:i386=5.0-3 Downloading dependency 398 of 687: libjson-perl:i386=4.10000-1 Downloading dependency 399 of 687: libfeature-compat-try-perl:i386=0.05-1 Downloading dependency 400 of 687: tex-common:i386=6.20 Downloading dependency 401 of 687: libgl-dev:i386=1.7.0-3+b1 Downloading dependency 402 of 687: libiterator-util-perl:i386=0.02+ds1-2 Downloading dependency 403 of 687: cpp:i386=4:15.2.0-5+b1 Downloading dependency 404 of 687: gzip:i386=1.13-1 Downloading dependency 405 of 687: liblzo2-2:i386=2.10-3+b2 Downloading dependency 406 of 687: libcarp-assert-more-perl:i386=2.9.0-1 Downloading dependency 407 of 687: perl-modules-5.40:i386=5.40.1-8 Downloading dependency 408 of 687: libfftw3-quad3:i386=3.3.11-1 Downloading dependency 409 of 687: hostname:i386=3.25 Downloading dependency 410 of 687: libmd0:i386=1.2.0-2 Downloading dependency 411 of 687: gnuplot-data:i386=6.0.3+dfsg1-1 Downloading dependency 412 of 687: libfile-which-perl:i386=1.27-2 Downloading dependency 413 of 687: liblzma5:i386=5.8.3-1 Downloading dependency 414 of 687: util-linux:i386=2.42.2-1 Downloading dependency 415 of 687: libhdf5-fortran-310:i386=1.14.6+repack-2+b1 Downloading dependency 416 of 687: libhttp-date-perl:i386=6.08-1 Downloading dependency 417 of 687: libqt6sql6:i386=6.10.2+dfsg-15 Downloading dependency 418 of 687: libsub-uplevel-perl:i386=0.2800-3 Downloading dependency 419 of 687: libintl-perl:i386=1.37-1 Downloading dependency 420 of 687: libfile-sharedir-perl:i386=1.118-3 Downloading dependency 421 of 687: base-passwd:i386=3.6.8 Downloading dependency 422 of 687: libjpeg62-turbo-dev:i386=1:3.1.3-4 Downloading dependency 423 of 687: libpod-spell-perl:i386=1.27-1 Downloading dependency 424 of 687: libqscintilla2-qt6-l10n:i386=2.14.1+dfsg-3 Downloading dependency 425 of 687: init-system-helpers:i386=1.69 Downloading dependency 426 of 687: libclass-tiny-perl:i386=1.008-2 Downloading dependency 427 of 687: libindirect-perl:i386=0.39-2+b4 Downloading dependency 428 of 687: libpam-modules:i386=1.7.0-8 Downloading dependency 429 of 687: libnet-ssleay-perl:i386=1.96-1 Downloading dependency 430 of 687: libltdl7:i386=2.5.4-11 Downloading dependency 431 of 687: libspecio-perl:i386=0.53-1 Downloading dependency 432 of 687: libpod-constants-perl:i386=0.19-2 Downloading dependency 433 of 687: tzdata:i386=2026b-1 Downloading dependency 434 of 687: libgnutls28-dev:i386=3.8.13-1 Downloading dependency 435 of 687: libllvm21:i386=1:21.1.8-7+b4 Downloading dependency 436 of 687: liblwp-protocol-https-perl:i386=6.15-1 Downloading dependency 437 of 687: libxcb-xkb1:i386=1.17.0-2+b2 Downloading dependency 438 of 687: libclass-method-modifiers-perl:i386=2.15-1 Downloading dependency 439 of 687: libcamd3:i386=1:7.12.2+dfsg-1 Downloading dependency 440 of 687: libfribidi0:i386=1.0.16-5+b1 Downloading dependency 441 of 687: libdevel-callchecker-perl:i386=0.009-3 Downloading dependency 442 of 687: libevdev2:i386=1.13.6+dfsg-3 Downloading dependency 443 of 687: gpgconf:i386=2.4.9-7 Downloading dependency 444 of 687: libtext-autoformat-perl:i386=1.750000-2 Downloading dependency 445 of 687: libwebpmux3:i386=1.5.0-0.1+b2 Downloading dependency 446 of 687: file:i386=1:5.47-4 Downloading dependency 447 of 687: libavahi-client3:i386=0.8-18 Downloading dependency 448 of 687: libaudit-common:i386=1:4.1.2-1 Downloading dependency 449 of 687: libgpg-error0:i386=1.61-3 Downloading dependency 450 of 687: perltidy:i386=20250105-1 Downloading dependency 451 of 687: libjxl0.11:i386=0.11.2-5 Downloading dependency 452 of 687: libstdc++-15-dev:i386=15.3.0-1 Downloading dependency 453 of 687: libwww-mechanize-perl:i386=2.22-1 Downloading dependency 454 of 687: libasan8:i386=16.1.0-2 Downloading dependency 455 of 687: libbsd0:i386=0.12.2-3 Downloading dependency 456 of 687: libelf1t64:i386=0.195-1 Downloading dependency 457 of 687: libxcb1:i386=1.17.0-2+b2 Downloading dependency 458 of 687: libconfig-model-dpkg-perl:i386=3.024 Downloading dependency 459 of 687: liblapack-dev:i386=3.12.1-8 Downloading dependency 460 of 687: libwmflite-0.2-7:i386=0.2.14-1 Downloading dependency 461 of 687: coreutils:i386=9.10-1 Downloading dependency 462 of 687: libldap-dev:i386=2.6.13+dfsg-1 Downloading dependency 463 of 687: libparams-validate-perl:i386=1.31-2+b4 Downloading dependency 464 of 687: libqscintilla2-qt6-15:i386=2.14.1+dfsg-3 Downloading dependency 465 of 687: libtimedate-perl:i386=2.3500-1 Downloading dependency 466 of 687: libldap2:i386=2.6.13+dfsg-1 Downloading dependency 467 of 687: libapt-pkg7.0:i386=3.3.1 Downloading dependency 468 of 687: unzip:i386=6.0-29 Downloading dependency 469 of 687: libpcre2-8-0:i386=10.46-1+b2 Downloading dependency 470 of 687: libtiff6:i386=4.7.2-1 Downloading dependency 471 of 687: libxcb-render-util0:i386=0.3.10-1+b2 Downloading dependency 472 of 687: libfile-basedir-perl:i386=0.09-2 Downloading dependency 473 of 687: binutils:i386=2.46.50.20260617-1 Downloading dependency 474 of 687: libconfig-inifiles-perl:i386=3.000003-5 Downloading dependency 475 of 687: libfile-listing-perl:i386=6.16-1 Downloading dependency 476 of 687: libnghttp3-dev:i386=1.15.0-1 Downloading dependency 477 of 687: libtext-glob-perl:i386=0.11-3 Downloading dependency 478 of 687: libsub-exporter-progressive-perl:i386=0.001013-3 Downloading dependency 479 of 687: ncurses-base:i386=6.6+20260608-2 Downloading dependency 480 of 687: texinfo:i386=7.3-2 Downloading dependency 481 of 687: dh-strip-nondeterminism:i386=1.15.1-1 Downloading dependency 482 of 687: libhdf5-hl-cpp-310:i386=1.14.6+repack-2+b1 Downloading dependency 483 of 687: patchutils:i386=0.4.5-1 Downloading dependency 484 of 687: libhtml-tree-perl:i386=5.07-3 Downloading dependency 485 of 687: libkrb5-3:i386=1.22.1-3 Downloading dependency 486 of 687: libiterator-perl:i386=0.03+ds1-2 Downloading dependency 487 of 687: libspqr4:i386=1:7.12.2+dfsg-1 Downloading dependency 488 of 687: libexception-class-perl:i386=1.45-1 Downloading dependency 489 of 687: libdecor-0-0:i386=0.2.5-1+b1 Downloading dependency 490 of 687: libmodule-pluggable-perl:i386=6.3-1 Downloading dependency 491 of 687: libogg0:i386=1.3.6-2+b1 Downloading dependency 492 of 687: libuuid1:i386=2.42.2-1 Downloading dependency 493 of 687: libxcb1-dev:i386=1.17.0-2+b2 Downloading dependency 494 of 687: libxcb-present0:i386=1.17.0-2+b2 Downloading dependency 495 of 687: libp11-kit-dev:i386=0.26.4-1 Downloading dependency 496 of 687: libpod-parser-perl:i386=1.67-1 Downloading dependency 497 of 687: libsort-versions-perl:i386=1.62-3 Downloading dependency 498 of 687: libsub-exporter-perl:i386=0.990-1 Downloading dependency 499 of 687: libde265-0:i386=1.1.1-1 Downloading dependency 500 of 687: libfont-ttf-perl:i386=1.06-2 Downloading dependency 501 of 687: fontconfig-config:i386=2.17.1-5 Downloading dependency 502 of 687: libxext6:i386=2:1.3.4-1+b4 Downloading dependency 503 of 687: libwww-perl:i386=6.83-1 Downloading dependency 504 of 687: libclass-load-perl:i386=0.25-2Get:1 http://deb.debian.org/debian unstable/main i386 libclass-load-perl all 0.25-2 [15.3 kB] Fetched 15.3 kB in 0s (1432 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxyy5cuf7/libclass-load-perl_0.25-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-randr0 i386 1.17.0-2+b2 [118 kB] Fetched 118 kB in 0s (9261 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpw65vhk7p/libxcb-randr0_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libopus0 i386 1.6.1-1+b1 [3467 kB] Fetched 3467 kB in 0s (143 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpj2iy9_33/libopus0_1.6.1-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libwayland-egl1 i386 1.25.0-2 [5652 B] Fetched 5652 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp58r4s_74/libwayland-egl1_1.25.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsoftware-copyright-perl all 0.015-1 [15.5 kB] Fetched 15.5 kB in 0s (1305 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4n207l29/libsoftware-copyright-perl_0.015-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libaudit1 i386 1:4.1.2-1+b1 [58.5 kB] Fetched 58.5 kB in 0s (5130 kB/s) dpkg-name: info: moved 'libaudit1_1%3a4.1.2-1+b1_i386.deb' to '/srv/rebuilderd/tmp/tmp1if5t1gg/libaudit1_4.1.2-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libavahi-common-data i386 0.8-18 [113 kB] Fetched 113 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxeaeu9q4/libavahi-common-data_0.8-18_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-charwidth-perl i386 0.04-12 [9180 B] Fetched 9180 B in 0s (845 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_gjx4wdg/libtext-charwidth-perl_0.04-12_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgnutls-dane0t64 i386 3.8.13-1 [495 kB] Fetched 495 kB in 0s (39.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp823f_y1l/libgnutls-dane0t64_3.8.13-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libsystemd0 i386 261.1-2 [497 kB] Fetched 497 kB in 0s (30.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpq5ii5yuq/libsystemd0_261.1-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libharfbuzz0b i386 12.3.2-2+b2 [532 kB] Fetched 532 kB in 0s (46.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpafc6b1mx/libharfbuzz0b_12.3.2-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcgi-pm-perl all 4.72-1 [217 kB] Fetched 217 kB in 0s (18.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnsgpy0vv/libcgi-pm-perl_4.72-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libatomic1 i386 16.1.0-2 [8160 B] Fetched 8160 B in 0s (788 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwdyr_dcn/libatomic1_16.1.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libbrotli-dev i386 1.2.0-3 [311 kB] Fetched 311 kB in 0s (27.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp97be3utu/libbrotli-dev_1.2.0-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6openglwidgets6 i386 6.10.2+dfsg-15 [48.9 kB] Fetched 48.9 kB in 0s (4783 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphte1_fpz/libqt6openglwidgets6_6.10.2+dfsg-15_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 debianutils i386 5.23.2 [92.7 kB] Fetched 92.7 kB in 0s (9231 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpz_eygreh/debianutils_5.23.2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libheif1 i386 1.23.1-1 [801 kB] Fetched 801 kB in 0s (56.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_ba0f6dl/libheif1_1.23.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdynaloader-functions-perl all 0.004-2 [12.2 kB] Fetched 12.2 kB in 0s (1001 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4_hne81x/libdynaloader-functions-perl_0.004-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblog-any-perl all 1.720-1 [75.8 kB] Fetched 75.8 kB in 0s (6643 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcns9nyo_/liblog-any-perl_1.720-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libncurses-dev i386 6.6+20260608-2 [384 kB] Fetched 384 kB in 0s (31.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxg5c74x8/libncurses-dev_6.6+20260608-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libwayland-cursor0 i386 1.25.0-2 [12.3 kB] Fetched 12.3 kB in 0s (1138 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpofr3mwhn/libwayland-cursor0_1.25.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsasl2-2 i386 2.1.28+dfsg1-11 [58.7 kB] Fetched 58.7 kB in 0s (4915 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpr1oljg8y/libsasl2-2_2.1.28+dfsg1-11_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libaec-dev i386 1.1.7-1 [27.3 kB] Fetched 27.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpz5pzt5ny/libaec-dev_1.1.7-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libitm1 i386 16.1.0-2 [28.9 kB] Fetched 28.9 kB in 0s (2718 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpga3qjwjg/libitm1_16.1.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 octave-io i386 2.7.2-1 [249 kB] Fetched 249 kB in 0s (18.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphvajwwv4/octave-io_2.7.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libuchardet0 i386 0.0.8-2+b2 [69.2 kB] Fetched 69.2 kB in 0s (6196 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpte1dywoj/libuchardet0_0.0.8-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmarkdown2 i386 2.2.7-2.1+b2 [38.8 kB] Fetched 38.8 kB in 0s (3467 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9bw223dy/libmarkdown2_2.2.7-2.1+b2_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libbinutils i386 2.46.50.20260617-1 [583 kB] Fetched 583 kB in 0s (46.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsjekhesn/libbinutils_2.46.50.20260617-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsoftware-license-perl all 0.104007-1 [121 kB] Fetched 121 kB in 0s (9454 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp401g0bhb/libsoftware-license-perl_0.104007-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libassuan9 i386 3.0.2-2+b2 [62.6 kB] Fetched 62.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdfn8rriq/libassuan9_3.0.2-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 pci.ids all 0.0~2026.07.06-1 [285 kB] Fetched 285 kB in 0s (23.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpw4dj38aj/pci.ids_0.0~2026.07.06-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnumber-compare-perl all 0.03-3 [6332 B] Fetched 6332 B in 0s (614 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvj2yct1o/libnumber-compare-perl_0.03-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 cpp-15 i386 15.3.0-1 [1276 B] Fetched 1276 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb9b9__jt/cpp-15_15.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libattr1 i386 1:2.6.0-1 [25.2 kB] Fetched 25.2 kB in 0s (0 B/s) dpkg-name: info: moved 'libattr1_1%3a2.6.0-1_i386.deb' to '/srv/rebuilderd/tmp/tmpv8lorj80/libattr1_2.6.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libppix-utils-perl all 0.003-2 [28.0 kB] Fetched 28.0 kB in 0s (2473 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpez80tdbo/libppix-utils-perl_0.003-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libzstd1 i386 1.5.7+dfsg-3+b2 [305 kB] Fetched 305 kB in 0s (24.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp16tk5571/libzstd1_1.5.7+dfsg-3+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxmlb2 i386 0.3.28-1 [69.4 kB] Fetched 69.4 kB in 0s (5742 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpx1uh2lfd/libxmlb2_0.3.28-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 binutils-i686-linux-gnu i386 2.46.50.20260617-1 [1132 kB] Fetched 1132 kB in 0s (68.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbhps0uit/binutils-i686-linux-gnu_2.46.50.20260617-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcurl4-gnutls i386 8.21.0-2 [466 kB] Fetched 466 kB in 0s (31.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl5izci72/libcurl4-gnutls_8.21.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcholmod5 i386 1:7.12.2+dfsg-1 [736 kB] Fetched 736 kB in 0s (57.8 MB/s) dpkg-name: info: moved 'libcholmod5_1%3a7.12.2+dfsg-1_i386.deb' to '/srv/rebuilderd/tmp/tmp8m8it71j/libcholmod5_7.12.2+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtasn1-6 i386 4.21.0-2+b1 [51.1 kB] Fetched 51.1 kB in 0s (5011 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdmhx6vdb/libtasn1-6_4.21.0-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxshmfence1 i386 1.3.3-1+b2 [11.3 kB] Fetched 11.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppzv2h1u4/libxshmfence1_1.3.3-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdeflate0 i386 1.25-1 [46.8 kB] Fetched 46.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwg_i34fe/libdeflate0_1.25-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libacl1 i386 2.4.0-1 [38.6 kB] Fetched 38.6 kB in 0s (3760 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6upc8ozw/libacl1_2.4.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 debhelper all 14.3 [934 kB] Fetched 934 kB in 0s (68.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpshbvssee/debhelper_14.3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libbz2-1.0 i386 1.0.8-6+b2 [37.5 kB] Fetched 37.5 kB in 0s (3090 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxk9d32wr/libbz2-1.0_1.0.8-6+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdav1d7 i386 1.5.3-1+b2 [336 kB] Fetched 336 kB in 0s (32.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpahnhg761/libdav1d7_1.5.3-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 openssl i386 3.6.3-1 [1528 kB] Fetched 1528 kB in 0s (90.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkthdgzw6/openssl_3.6.3-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libencode-locale-perl all 1.05-3 [12.9 kB] Fetched 12.9 kB in 0s (1214 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqe3vrcec/libencode-locale-perl_1.05-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfile-stripnondeterminism-perl all 1.15.1-1 [17.1 kB] Fetched 17.1 kB in 0s (1421 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyixhxa9_/libfile-stripnondeterminism-perl_1.15.1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libx11-6 i386 2:1.8.13-1 [846 kB] Fetched 846 kB in 0s (52.8 MB/s) dpkg-name: info: moved 'libx11-6_2%3a1.8.13-1_i386.deb' to '/srv/rebuilderd/tmp/tmptno8vi7e/libx11-6_1.8.13-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 plzip i386 1.13-1 [71.2 kB] Fetched 71.2 kB in 0s (6648 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpijngkk2f/plzip_1.13-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libglvnd0 i386 1.7.0-3+b1 [45.6 kB] Fetched 45.6 kB in 0s (4105 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1pp5r3_j/libglvnd0_1.7.0-3+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Fetched 10.8 kB in 0s (1042 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9gba0ubg/libalgorithm-c3-perl_0.11-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnamespace-clean-perl all 0.27-2 [17.8 kB] Fetched 17.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyvzgnf6v/libnamespace-clean-perl_0.27-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpango-1.0-0 i386 1.58.0-1 [234 kB] Fetched 234 kB in 0s (20.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp80leekd3/libpango-1.0-0_1.58.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libc-bin i386 2.42-17 [643 kB] Fetched 643 kB in 0s (48.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpunz3woi9/libc-bin_2.42-17_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libegl1 i386 1.7.0-3+b1 [36.3 kB] Fetched 36.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzdig99du/libegl1_1.7.0-3+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libstemmer0d i386 3.1.1-1 [132 kB] Fetched 132 kB in 0s (11.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb0tg5t03/libstemmer0d_3.1.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libvariable-magic-perl i386 0.64-1+b1 [45.8 kB] Fetched 45.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4fwd150v/libvariable-magic-perl_0.64-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdatrie1 i386 0.2.14-2 [40.8 kB] Fetched 40.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo9c_vonf/libdatrie1_0.2.14-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 grep i386 3.12-1 [451 kB] Fetched 451 kB in 0s (38.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxcke0d24/grep_3.12-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 dpkg-dev all 1.23.7 [1318 kB] Fetched 1318 kB in 0s (93.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzib75wpy/dpkg-dev_1.23.7_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 liblcms2-2 i386 2.19.1-1 [175 kB] Fetched 175 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpetwnnljb/liblcms2-2_2.19.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfltk1.4 i386 1.4.4-4 [634 kB] Fetched 634 kB in 0s (43.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmph3ww_g0j/libfltk1.4_1.4.4-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmousex-strictconstructor-perl all 0.02-3 [5304 B] Fetched 5304 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphrbht6ut/libmousex-strictconstructor-perl_0.02-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libamd3 i386 1:7.12.2+dfsg-1 [53.5 kB] Fetched 53.5 kB in 0s (4822 kB/s) dpkg-name: info: moved 'libamd3_1%3a7.12.2+dfsg-1_i386.deb' to '/srv/rebuilderd/tmp/tmp98la_o8q/libamd3_7.12.2+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libp11-kit0 i386 0.26.4-1 [450 kB] Fetched 450 kB in 0s (38.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp59oa24g_/libp11-kit0_0.26.4-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsereal-decoder-perl i386 5.006+ds-1 [107 kB] Fetched 107 kB in 0s (8234 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpg1sbop32/libsereal-decoder-perl_5.006+ds-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libppix-quotelike-perl all 0.024-1 [64.7 kB] Fetched 64.7 kB in 0s (4899 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplf4fm4x0/libppix-quotelike-perl_0.024-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gcc-15-base i386 15.3.0-1 [37.4 kB] Fetched 37.4 kB in 0s (3389 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphi_lhavm/gcc-15-base_15.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libblas3 i386 3.12.1-8 [147 kB] Fetched 147 kB in 0s (13.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxpv67oxa/libblas3_3.12.1-8_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfftw3-double3 i386 3.3.11-1 [613 kB] Fetched 613 kB in 0s (41.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnqf4u76t/libfftw3-double3_3.3.11-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmousex-nativetraits-perl all 1.09-3 [53.5 kB] Fetched 53.5 kB in 0s (4557 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqfyi63u7/libmousex-nativetraits-perl_1.09-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdata-section-perl all 0.200008-1 [13.1 kB] Fetched 13.1 kB in 0s (1262 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9cpwklg7/libdata-section-perl_0.200008-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgdbm6t64 i386 1.26-1+b2 [83.3 kB] Fetched 83.3 kB in 0s (7160 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm334wjx4/libgdbm6t64_1.26-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libexporter-lite-perl all 0.09-2 [10.7 kB] Fetched 10.7 kB in 0s (897 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwiqgemtt/libexporter-lite-perl_0.09-2_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libblkid1 i386 2.42.2-1 [190 kB] Fetched 190 kB in 0s (15.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5tj5t1do/libblkid1_2.42.2-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtask-weaken-perl all 1.06-2 [9364 B] Fetched 9364 B in 0s (925 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp57nxq04z/libtask-weaken-perl_1.06-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libproxy1v5 i386 0.5.12-1+b1 [26.0 kB] Fetched 26.0 kB in 0s (2332 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1560qv0v/libproxy1v5_0.5.12-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcrypt1 i386 1:4.5.1-1+b1 [102 kB] Fetched 102 kB in 0s (9389 kB/s) dpkg-name: info: moved 'libcrypt1_1%3a4.5.1-1+b1_i386.deb' to '/srv/rebuilderd/tmp/tmpkz2bn5s9/libcrypt1_4.5.1-1+b1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libegl-mesa0 i386 26.1.4-1 [131 kB] Fetched 131 kB in 0s (11.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpe629vuy7/libegl-mesa0_26.1.4-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtoml-tiny-perl all 0.22-1 [23.2 kB] Fetched 23.2 kB in 0s (2291 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxc4ltwe7/libtoml-tiny-perl_0.22-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libc-gconv-modules-extra i386 2.42-17 [1105 kB] Fetched 1105 kB in 0s (76.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpezksv11q/libc-gconv-modules-extra_2.42-17_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpackage-stash-perl all 0.40-1 [22.0 kB] Fetched 22.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_o3bbptq/libpackage-stash-perl_0.40-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libflac14 i386 1.5.0+ds-5+b1 [194 kB] Fetched 194 kB in 0s (17.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpj6_m2d9n/libflac14_1.5.0+ds-5+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmtdev1t64 i386 1.1.7-1+b2 [23.1 kB] Fetched 23.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnumvlrxv/libmtdev1t64_1.1.7-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnpth0t64 i386 1.8-3+b2 [23.3 kB] Fetched 23.3 kB in 0s (2263 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp70ups62i/libnpth0t64_1.8-3+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 rpcsvc-proto i386 1.4.4-1 [67.1 kB] Fetched 67.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvpxn0s1f/rpcsvc-proto_1.4.4-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgomp1 i386 16.1.0-2 [153 kB] Fetched 153 kB in 0s (12.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm1gfaxb3/libgomp1_16.1.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libwayland-client0 i386 1.25.0-2 [29.5 kB] Fetched 29.5 kB in 0s (2845 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgs1j1023/libwayland-client0_1.25.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmldbm-perl all 2.05-4 [16.8 kB] Fetched 16.8 kB in 0s (1586 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9vpgr8ao/libmldbm-perl_2.05-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libzstd-dev i386 1.5.7+dfsg-3+b2 [372 kB] Fetched 372 kB in 0s (36.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0jtrj2a2/libzstd-dev_1.5.7+dfsg-3+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libobject-pad-perl i386 0.825-1 [146 kB] Fetched 146 kB in 0s (12.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpafc2hot1/libobject-pad-perl_0.825-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcurl4t64 i386 8.21.0-2 [471 kB] Fetched 471 kB in 0s (45.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1fq2_8lq/libcurl4t64_8.21.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libeval-closure-perl all 0.14-3 [11.2 kB] Fetched 11.2 kB in 0s (963 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphp34dqao/libeval-closure-perl_0.14-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libkrb5-dev i386 1.22.1-3 [14.0 kB] Fetched 14.0 kB in 0s (1358 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgukt4b8c/libkrb5-dev_1.22.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libparse-debcontrol-perl all 2.005-6 [21.6 kB] Fetched 21.6 kB in 0s (2129 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2uw_ibb2/libparse-debcontrol-perl_2.005-6_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libio-stringy-perl all 2.113-2 [48.3 kB] Fetched 48.3 kB in 0s (4534 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxuugcyc5/libio-stringy-perl_2.113-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpcre2-16-0 i386 10.46-1+b2 [277 kB] Fetched 277 kB in 0s (26.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpr0ag07xi/libpcre2-16-0_10.46-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtext-wrapi18n-perl all 0.06-11 [7788 B] Fetched 7788 B in 0s (688 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpek9nwirw/libtext-wrapi18n-perl_0.06-11_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 mesa-libgallium i386 26.1.4-1 [11.5 MB] Fetched 11.5 MB in 0s (87.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplror9_u3/mesa-libgallium_26.1.4-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 ucf all 3.0056 [47.1 kB] Fetched 47.1 kB in 0s (4661 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjic6mogv/ucf_3.0056_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libngtcp2-crypto-ossl0 i386 1.22.1-1 [24.1 kB] Fetched 24.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprohpm5pn/libngtcp2-crypto-ossl0_1.22.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libidn2-dev i386 2.3.8-5 [104 kB] Fetched 104 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyuxoexyf/libidn2-dev_2.3.8-5_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6opengl6 i386 6.10.2+dfsg-15 [449 kB] Fetched 449 kB in 0s (37.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxhv6j2ru/libqt6opengl6_6.10.2+dfsg-15_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsensors-config all 1:3.6.2-2 [16.2 kB] Fetched 16.2 kB in 0s (0 B/s) dpkg-name: info: moved 'libsensors-config_1%3a3.6.2-2_all.deb' to '/srv/rebuilderd/tmp/tmp1l7k1tin/libsensors-config_3.6.2-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdatetime-perl i386 2:1.65-1+b2 [119 kB] Fetched 119 kB in 0s (10.5 MB/s) dpkg-name: info: moved 'libdatetime-perl_2%3a1.65-1+b2_i386.deb' to '/srv/rebuilderd/tmp/tmpjki3rmfp/libdatetime-perl_1.65-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libevent-2.1-7t64 i386 2.1.13-stable-1 [196 kB] Fetched 196 kB in 0s (14.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_mj38v9t/libevent-2.1-7t64_2.1.13-stable-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libinput-bin i386 1.31.3-1 [28.4 kB] Fetched 28.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0jn0v0zx/libinput-bin_1.31.3-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgcc-15-dev i386 15.3.0-1 [2622 kB] Fetched 2622 kB in 0s (104 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpw7oxqy5k/libgcc-15-dev_15.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 pkgconf-bin i386 2.5.1-4 [36.1 kB] Fetched 36.1 kB in 0s (3303 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1r6u2ebe/pkgconf-bin_2.5.1-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdevel-stacktrace-perl all 2.0500-1 [26.4 kB] Fetched 26.4 kB in 0s (2430 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_qy7c5zj/libdevel-stacktrace-perl_2.0500-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libfile-libmagic-perl i386 1.23-2+b2 [31.8 kB] Fetched 31.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppx66h0sl/libfile-libmagic-perl_1.23-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libheif-plugin-libde265 i386 1.23.1-1 [18.3 kB] Fetched 18.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppz_byrf3/libheif-plugin-libde265_1.23.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libio-html-perl all 1.004-3 [16.2 kB] Fetched 16.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpz25pr4ng/libio-html-perl_1.004-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxs-parse-sublike-perl i386 0.41-1+b1 [52.3 kB] Fetched 52.3 kB in 0s (4983 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppv0yz7c7/libxs-parse-sublike-perl_0.41-1+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgfortran-15-dev i386 15.3.0-1 [779 kB] Fetched 779 kB in 0s (46.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmhofpzgy/libgfortran-15-dev_15.3.0-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnghttp2-14 i386 1.69.0-1 [95.7 kB] Fetched 95.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcs0k3zoi/libnghttp2-14_1.69.0-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libconfig-model-perl all 2.165-1 [410 kB] Fetched 410 kB in 0s (31.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpd8osbv1e/libconfig-model-perl_2.165-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 diffstat i386 1.69-1 [35.3 kB] Fetched 35.3 kB in 0s (3438 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7ndgb2px/diffstat_1.69-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libctf-nobfd0 i386 2.46.50.20260617-1 [161 kB] Fetched 161 kB in 0s (13.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpya53n0do/libctf-nobfd0_2.46.50.20260617-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libterm-readkey-perl i386 2.38-2+b4 [25.4 kB] Fetched 25.4 kB in 0s (2461 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzeyclsv9/libterm-readkey-perl_2.38-2+b4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libwebp7 i386 1.5.0-0.1+b2 [328 kB] Fetched 328 kB in 0s (28.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzmfdeaz8/libwebp7_1.5.0-0.1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libts0t64 i386 1.22-1.1+b2 [63.6 kB] Fetched 63.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppq1baap4/libts0t64_1.22-1.1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libpixman-1-0 i386 0.46.4-1+b2 [258 kB] Fetched 258 kB in 0s (21.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7yjgdau2/libpixman-1-0_0.46.4-1+b2_i386.deb' Downloading dependency 505 of 687: libxcb-randr0:i386=1.17.0-2+b2 Downloading dependency 506 of 687: libopus0:i386=1.6.1-1+b1 Downloading dependency 507 of 687: libwayland-egl1:i386=1.25.0-2 Downloading dependency 508 of 687: libsoftware-copyright-perl:i386=0.015-1 Downloading dependency 509 of 687: libaudit1:i386=1:4.1.2-1+b1 Downloading dependency 510 of 687: libavahi-common-data:i386=0.8-18 Downloading dependency 511 of 687: libtext-charwidth-perl:i386=0.04-12 Downloading dependency 512 of 687: libgnutls-dane0t64:i386=3.8.13-1 Downloading dependency 513 of 687: libsystemd0:i386=261.1-2 Downloading dependency 514 of 687: libharfbuzz0b:i386=12.3.2-2+b2 Downloading dependency 515 of 687: libcgi-pm-perl:i386=4.72-1 Downloading dependency 516 of 687: libatomic1:i386=16.1.0-2 Downloading dependency 517 of 687: libbrotli-dev:i386=1.2.0-3 Downloading dependency 518 of 687: libqt6openglwidgets6:i386=6.10.2+dfsg-15 Downloading dependency 519 of 687: debianutils:i386=5.23.2 Downloading dependency 520 of 687: libheif1:i386=1.23.1-1 Downloading dependency 521 of 687: libdynaloader-functions-perl:i386=0.004-2 Downloading dependency 522 of 687: liblog-any-perl:i386=1.720-1 Downloading dependency 523 of 687: libncurses-dev:i386=6.6+20260608-2 Downloading dependency 524 of 687: libwayland-cursor0:i386=1.25.0-2 Downloading dependency 525 of 687: libsasl2-2:i386=2.1.28+dfsg1-11 Downloading dependency 526 of 687: libaec-dev:i386=1.1.7-1 Downloading dependency 527 of 687: libitm1:i386=16.1.0-2 Downloading dependency 528 of 687: octave-io:i386=2.7.2-1 Downloading dependency 529 of 687: libuchardet0:i386=0.0.8-2+b2 Downloading dependency 530 of 687: libmarkdown2:i386=2.2.7-2.1+b2 Downloading dependency 531 of 687: libbinutils:i386=2.46.50.20260617-1 Downloading dependency 532 of 687: libsoftware-license-perl:i386=0.104007-1 Downloading dependency 533 of 687: libassuan9:i386=3.0.2-2+b2 Downloading dependency 534 of 687: pci.ids:i386=0.0~2026.07.06-1 Downloading dependency 535 of 687: libnumber-compare-perl:i386=0.03-3 Downloading dependency 536 of 687: cpp-15:i386=15.3.0-1 Downloading dependency 537 of 687: libattr1:i386=1:2.6.0-1 Downloading dependency 538 of 687: libppix-utils-perl:i386=0.003-2 Downloading dependency 539 of 687: libzstd1:i386=1.5.7+dfsg-3+b2 Downloading dependency 540 of 687: libxmlb2:i386=0.3.28-1 Downloading dependency 541 of 687: binutils-i686-linux-gnu:i386=2.46.50.20260617-1 Downloading dependency 542 of 687: libcurl4-gnutls:i386=8.21.0-2 Downloading dependency 543 of 687: libcholmod5:i386=1:7.12.2+dfsg-1 Downloading dependency 544 of 687: libtasn1-6:i386=4.21.0-2+b1 Downloading dependency 545 of 687: libxshmfence1:i386=1.3.3-1+b2 Downloading dependency 546 of 687: libdeflate0:i386=1.25-1 Downloading dependency 547 of 687: libacl1:i386=2.4.0-1 Downloading dependency 548 of 687: debhelper:i386=14.3 Downloading dependency 549 of 687: libbz2-1.0:i386=1.0.8-6+b2 Downloading dependency 550 of 687: libdav1d7:i386=1.5.3-1+b2 Downloading dependency 551 of 687: openssl:i386=3.6.3-1 Downloading dependency 552 of 687: libencode-locale-perl:i386=1.05-3 Downloading dependency 553 of 687: libfile-stripnondeterminism-perl:i386=1.15.1-1 Downloading dependency 554 of 687: libx11-6:i386=2:1.8.13-1 Downloading dependency 555 of 687: plzip:i386=1.13-1 Downloading dependency 556 of 687: libglvnd0:i386=1.7.0-3+b1 Downloading dependency 557 of 687: libalgorithm-c3-perl:i386=0.11-2 Downloading dependency 558 of 687: libnamespace-clean-perl:i386=0.27-2 Downloading dependency 559 of 687: libpango-1.0-0:i386=1.58.0-1 Downloading dependency 560 of 687: libc-bin:i386=2.42-17 Downloading dependency 561 of 687: libegl1:i386=1.7.0-3+b1 Downloading dependency 562 of 687: libstemmer0d:i386=3.1.1-1 Downloading dependency 563 of 687: libvariable-magic-perl:i386=0.64-1+b1 Downloading dependency 564 of 687: libdatrie1:i386=0.2.14-2 Downloading dependency 565 of 687: grep:i386=3.12-1 Downloading dependency 566 of 687: dpkg-dev:i386=1.23.7 Downloading dependency 567 of 687: liblcms2-2:i386=2.19.1-1 Downloading dependency 568 of 687: libfltk1.4:i386=1.4.4-4 Downloading dependency 569 of 687: libmousex-strictconstructor-perl:i386=0.02-3 Downloading dependency 570 of 687: libamd3:i386=1:7.12.2+dfsg-1 Downloading dependency 571 of 687: libp11-kit0:i386=0.26.4-1 Downloading dependency 572 of 687: libsereal-decoder-perl:i386=5.006+ds-1 Downloading dependency 573 of 687: libppix-quotelike-perl:i386=0.024-1 Downloading dependency 574 of 687: gcc-15-base:i386=15.3.0-1 Downloading dependency 575 of 687: libblas3:i386=3.12.1-8 Downloading dependency 576 of 687: libfftw3-double3:i386=3.3.11-1 Downloading dependency 577 of 687: libmousex-nativetraits-perl:i386=1.09-3 Downloading dependency 578 of 687: libdata-section-perl:i386=0.200008-1 Downloading dependency 579 of 687: libgdbm6t64:i386=1.26-1+b2 Downloading dependency 580 of 687: libexporter-lite-perl:i386=0.09-2 Downloading dependency 581 of 687: libblkid1:i386=2.42.2-1 Downloading dependency 582 of 687: libtask-weaken-perl:i386=1.06-2 Downloading dependency 583 of 687: libproxy1v5:i386=0.5.12-1+b1 Downloading dependency 584 of 687: libcrypt1:i386=1:4.5.1-1+b1 Downloading dependency 585 of 687: libegl-mesa0:i386=26.1.4-1 Downloading dependency 586 of 687: libtoml-tiny-perl:i386=0.22-1 Downloading dependency 587 of 687: libc-gconv-modules-extra:i386=2.42-17 Downloading dependency 588 of 687: libpackage-stash-perl:i386=0.40-1 Downloading dependency 589 of 687: libflac14:i386=1.5.0+ds-5+b1 Downloading dependency 590 of 687: libmtdev1t64:i386=1.1.7-1+b2 Downloading dependency 591 of 687: libnpth0t64:i386=1.8-3+b2 Downloading dependency 592 of 687: rpcsvc-proto:i386=1.4.4-1 Downloading dependency 593 of 687: libgomp1:i386=16.1.0-2 Downloading dependency 594 of 687: libwayland-client0:i386=1.25.0-2 Downloading dependency 595 of 687: libmldbm-perl:i386=2.05-4 Downloading dependency 596 of 687: libzstd-dev:i386=1.5.7+dfsg-3+b2 Downloading dependency 597 of 687: libobject-pad-perl:i386=0.825-1 Downloading dependency 598 of 687: libcurl4t64:i386=8.21.0-2 Downloading dependency 599 of 687: libeval-closure-perl:i386=0.14-3 Downloading dependency 600 of 687: libkrb5-dev:i386=1.22.1-3 Downloading dependency 601 of 687: libparse-debcontrol-perl:i386=2.005-6 Downloading dependency 602 of 687: libio-stringy-perl:i386=2.113-2 Downloading dependency 603 of 687: libpcre2-16-0:i386=10.46-1+b2 Downloading dependency 604 of 687: libtext-wrapi18n-perl:i386=0.06-11 Downloading dependency 605 of 687: mesa-libgallium:i386=26.1.4-1 Downloading dependency 606 of 687: ucf:i386=3.0056 Downloading dependency 607 of 687: libngtcp2-crypto-ossl0:i386=1.22.1-1 Downloading dependency 608 of 687: libidn2-dev:i386=2.3.8-5 Downloading dependency 609 of 687: libqt6opengl6:i386=6.10.2+dfsg-15 Downloading dependency 610 of 687: libsensors-config:i386=1:3.6.2-2 Downloading dependency 611 of 687: libdatetime-perl:i386=2:1.65-1+b2 Downloading dependency 612 of 687: libevent-2.1-7t64:i386=2.1.13-stable-1 Downloading dependency 613 of 687: libinput-bin:i386=1.31.3-1 Downloading dependency 614 of 687: libgcc-15-dev:i386=15.3.0-1 Downloading dependency 615 of 687: pkgconf-bin:i386=2.5.1-4 Downloading dependency 616 of 687: libdevel-stacktrace-perl:i386=2.0500-1 Downloading dependency 617 of 687: libfile-libmagic-perl:i386=1.23-2+b2 Downloading dependency 618 of 687: libheif-plugin-libde265:i386=1.23.1-1 Downloading dependency 619 of 687: libio-html-perl:i386=1.004-3 Downloading dependency 620 of 687: libxs-parse-sublike-perl:i386=0.41-1+b1 Downloading dependency 621 of 687: libgfortran-15-dev:i386=15.3.0-1 Downloading dependency 622 of 687: libnghttp2-14:i386=1.69.0-1 Downloading dependency 623 of 687: libconfig-model-perl:i386=2.165-1 Downloading dependency 624 of 687: diffstat:i386=1.69-1 Downloading dependency 625 of 687: libctf-nobfd0:i386=2.46.50.20260617-1 Downloading dependency 626 of 687: libterm-readkey-perl:i386=2.38-2+b4 Downloading dependency 627 of 687: libwebp7:i386=1.5.0-0.1+b2 Downloading dependency 628 of 687: libts0t64:i386=1.22-1.1+b2 Downloading dependency 629 of 687: libpixman-1-0:i386=0.46.4-1+b2 Downloading dependency 630 of 687: libsuitesparseconfig7:i386=1:7.12.2+dfsg-1Get:1 http://deb.debian.org/debian unstable/main i386 libsuitesparseconfig7 i386 1:7.12.2+dfsg-1 [33.9 kB] Fetched 33.9 kB in 0s (3128 kB/s) dpkg-name: info: moved 'libsuitesparseconfig7_1%3a7.12.2+dfsg-1_i386.deb' to '/srv/rebuilderd/tmp/tmpmmfo2zat/libsuitesparseconfig7_7.12.2+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 autoconf all 2.73-2 [516 kB] Fetched 516 kB in 0s (44.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp89spbxop/autoconf_2.73-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 debconf all 1.5.92 [123 kB] Fetched 123 kB in 0s (9973 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfc9cuz0o/debconf_1.5.92_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdrm-amdgpu1 i386 2.4.134-3 [26.4 kB] Fetched 26.4 kB in 0s (2160 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_um0neey/libdrm-amdgpu1_2.4.134-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libqt6core6t64 i386 6.10.2+dfsg-15 [2014 kB] Fetched 2014 kB in 0s (107 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpoapqr5mq/libqt6core6t64_6.10.2+dfsg-15_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libedit2 i386 3.1-20260512-1 [98.4 kB] Fetched 98.4 kB in 0s (8134 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpplsr1ywn/libedit2_3.1-20260512-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libb-hooks-endofscope-perl all 0.28-2 [17.6 kB] Fetched 17.6 kB in 0s (1357 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpib4bnmot/libb-hooks-endofscope-perl_0.28-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libwww-robotrules-perl all 6.03-1 [15.8 kB] Fetched 15.8 kB in 0s (1501 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptt04t1dw/libwww-robotrules-perl_6.03-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcolamd3 i386 1:7.12.2+dfsg-1 [45.1 kB] Fetched 45.1 kB in 0s (3904 kB/s) dpkg-name: info: moved 'libcolamd3_1%3a7.12.2+dfsg-1_i386.deb' to '/srv/rebuilderd/tmp/tmp1jw0oqrv/libcolamd3_7.12.2+dfsg-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libreadline-dev i386 8.3-4 [175 kB] Fetched 175 kB in 0s (14.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_f2fl5_i/libreadline-dev_8.3-4_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 dh-octave-autopkgtest all 1.16.0 [10.4 kB] Fetched 10.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjdwdhigh/dh-octave-autopkgtest_1.16.0_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 gfortran i386 4:15.2.0-5+b1 [1436 B] Fetched 1436 B in 0s (0 B/s) dpkg-name: info: moved 'gfortran_4%3a15.2.0-5+b1_i386.deb' to '/srv/rebuilderd/tmp/tmpcvx93ovl/gfortran_15.2.0-5+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libcurl3t64-gnutls i386 8.21.0-2 [17.0 kB] Fetched 17.0 kB in 0s (1361 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7koyeahx/libcurl3t64-gnutls_8.21.0-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libclass-c3-perl all 0.35-2 [21.0 kB] Fetched 21.0 kB in 0s (2049 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkgq39jzw/libclass-c3-perl_0.35-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libthai0 i386 0.1.30-2 [52.8 kB] Fetched 52.8 kB in 0s (4429 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwfr2pdlx/libthai0_0.1.30-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 zlib1g i386 1:1.3.dfsg+really1.3.2-3 [86.9 kB] Fetched 86.9 kB in 0s (7679 kB/s) dpkg-name: info: moved 'zlib1g_1%3a1.3.dfsg+really1.3.2-3_i386.deb' to '/srv/rebuilderd/tmp/tmpvm3ntgff/zlib1g_1.3.dfsg+really1.3.2-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 bzip2 i386 1.0.8-6+b2 [40.6 kB] Fetched 40.6 kB in 0s (3697 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwec05xf4/bzip2_1.0.8-6+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libclone-pp-perl all 1.08-2 [9224 B] Fetched 9224 B in 0s (852 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplyjunapy/libclone-pp-perl_1.08-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libdrm-common all 2.4.134-3 [7860 B] Fetched 7860 B in 0s (775 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2ej9di1u/libdrm-common_2.4.134-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 librtmp1 i386 2.6-1 [62.3 kB] Fetched 62.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk2b2eo5r/librtmp1_2.6-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libtime-duration-perl all 1.21-2 [13.1 kB] Fetched 13.1 kB in 0s (1203 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp99ndz4cm/libtime-duration-perl_1.21-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 bash i386 5.3-3 [1593 kB] Fetched 1593 kB in 0s (92.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpj4gnu0j7/bash_5.3-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhdf5-cpp-310 i386 1.14.6+repack-2+b1 [135 kB] Fetched 135 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphv_al1v0/libhdf5-cpp-310_1.14.6+repack-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libipc-run3-perl all 0.049-1 [31.5 kB] Fetched 31.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsd91nfnq/libipc-run3-perl_0.049-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 dash i386 0.5.12-12 [103 kB] Fetched 103 kB in 0s (9263 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6t6yns1_/dash_0.5.12-12_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxdmcp6 i386 1:1.1.5-2+b1 [28.7 kB] Fetched 28.7 kB in 0s (2533 kB/s) dpkg-name: info: moved 'libxdmcp6_1%3a1.1.5-2+b1_i386.deb' to '/srv/rebuilderd/tmp/tmpr0f4axuo/libxdmcp6_1.1.5-2+b1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libisl23 i386 0.27-2 [752 kB] Fetched 752 kB in 0s (51.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp629i5vtd/libisl23_0.27-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxrender1 i386 1:0.9.12-1+b2 [29.1 kB] Fetched 29.1 kB in 0s (2527 kB/s) dpkg-name: info: moved 'libxrender1_1%3a0.9.12-1+b2_i386.deb' to '/srv/rebuilderd/tmp/tmpyvv6tzy2/libxrender1_0.9.12-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 linux-libc-dev all 7.1.3-1 [1963 kB] Fetched 1963 kB in 0s (99.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3h9wol60/linux-libc-dev_7.1.3-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 ca-certificates all 20260601 [134 kB] Fetched 134 kB in 0s (9951 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpehh1kk93/ca-certificates_20260601_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsub-identify-perl i386 0.14-4 [10.9 kB] Fetched 10.9 kB in 0s (863 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcdsaxvp7/libsub-identify-perl_0.14-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxcb-render0 i386 1.17.0-2+b2 [116 kB] Fetched 116 kB in 0s (11.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysmi89ji/libxcb-render0_1.17.0-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhtml-form-perl all 6.13-1 [32.6 kB] Fetched 32.6 kB in 0s (3258 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb4x2stnp/libhtml-form-perl_6.13-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libkadm5srv-mit12 i386 1.22.1-3 [56.8 kB] Fetched 56.8 kB in 0s (5107 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpu99_9p5c/libkadm5srv-mit12_1.22.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 iso-codes all 4.20.1-1 [3319 kB] Fetched 3319 kB in 0s (139 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysww5i4s/iso-codes_4.20.1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxs-parse-keyword-perl i386 0.49-1 [67.8 kB] Fetched 67.8 kB in 0s (6195 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp383ocbdd/libxs-parse-keyword-perl_0.49-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libapt-pkg-perl i386 0.1.43 [70.2 kB] Fetched 70.2 kB in 0s (6355 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp98elz83m/libapt-pkg-perl_0.1.43_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 hdf5-helpers i386 1.14.6+repack-2+b1 [20.6 kB] Fetched 20.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0ttmavgf/hdf5-helpers_1.14.6+repack-2+b1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libgbm1 i386 26.1.4-1 [49.2 kB] Fetched 49.2 kB in 0s (4724 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9fmfbj8c/libgbm1_26.1.4-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libconst-fast-perl all 0.014-2 [8792 B] Fetched 8792 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwweh04e9/libconst-fast-perl_0.014-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libregexp-common-perl all 2024080801-1 [167 kB] Fetched 167 kB in 0s (14.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptf_hb8br/libregexp-common-perl_2024080801-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnet-http-perl all 6.24-1 [23.2 kB] Fetched 23.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpczd74yrx/libnet-http-perl_6.24-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libgav1-2 i386 0.20.0-2+b1 [330 kB] Fetched 330 kB in 0s (25.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpub5qxpmy/libgav1-2_0.20.0-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 groff-base i386 1.24.1-1 [1351 kB] Fetched 1351 kB in 0s (86.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9hix15xs/groff-base_1.24.1-1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libk5crypto3 i386 1.22.1-3 [81.7 kB] Fetched 81.7 kB in 0s (7882 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv5391t3_/libk5crypto3_1.22.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libicu78 i386 78.3-2 [10.2 MB] Fetched 10.2 MB in 0s (184 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfl608p_q/libicu78_78.3-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmpc3 i386 1.3.1-3 [59.6 kB] Fetched 59.6 kB in 0s (5407 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpoqnkqh__/libmpc3_1.3.1-3_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libsensors5 i386 1:3.6.2-2+b2 [38.0 kB] Fetched 38.0 kB in 0s (3457 kB/s) dpkg-name: info: moved 'libsensors5_1%3a3.6.2-2+b2_i386.deb' to '/srv/rebuilderd/tmp/tmphax8pscq/libsensors5_3.6.2-2+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libhtml-parser-perl i386 3.83-2 [99.9 kB] Fetched 99.9 kB in 0s (8378 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpru97drl_/libhtml-parser-perl_3.83-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libstring-format-perl all 1.18-1 [9408 B] Fetched 9408 B in 0s (870 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl_tzons1/libstring-format-perl_1.18-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxau-dev i386 1:1.0.11-1+b2 [24.2 kB] Fetched 24.2 kB in 0s (2380 kB/s) dpkg-name: info: moved 'libxau-dev_1%3a1.0.11-1+b2_i386.deb' to '/srv/rebuilderd/tmp/tmpmfsy7r59/libxau-dev_1.0.11-1+b2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libmodule-runtime-perl all 0.018-1 [17.8 kB] Fetched 17.8 kB in 0s (1736 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl2g0ci4a/libmodule-runtime-perl_0.018-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 comerr-dev i386 2.1-1.47.4-1 [51.2 kB] Fetched 51.2 kB in 0s (5007 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1l1o4nwu/comerr-dev_2.1-1.47.4-1_i386.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main i386 libudev1 i386 261.1-2 [142 kB] Fetched 142 kB in 0s (12.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp35g8c0t5/libudev1_261.1-2_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libnet-smtp-ssl-perl all 1.04-2 [6548 B] Fetched 6548 B in 0s (488 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqwihcfx7/libnet-smtp-ssl-perl_1.04-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libxdmcp-dev i386 1:1.1.5-2+b1 [44.8 kB] Fetched 44.8 kB in 0s (3343 kB/s) dpkg-name: info: moved 'libxdmcp-dev_1%3a1.1.5-2+b1_i386.deb' to '/srv/rebuilderd/tmp/tmp59z4s35n/libxdmcp-dev_1.1.5-2+b1_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libssh2-1-dev i386 1.11.1-4 [407 kB] Fetched 407 kB in 0s (33.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpja0oa4nj/libssh2-1-dev_1.11.1-4_i386.deb' Get:1 http://deb.debian.org/debian unstable/main i386 libperl5.40 i386 5.40.1-8 [3964 kB] Fetched 3964 kB in 0s (141 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_15adj21/libperl5.40_5.40.1-8_i386.deb' dpkg-buildpackage: info: source package debootsnap-dummy dpkg-buildpackage: info: source version 1.0 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Equivs Dummy Package Generator dpkg-buildpackage: info: host architecture amd64 dpkg-source --before-build . debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --destdir=debian/debootsnap-dummy/ dh_install dh_installdocs dh_installchangelogs dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'debootsnap-dummy' in '../debootsnap-dummy_1.0_all.deb'. dpkg-genbuildinfo --build=binary -O../debootsnap-dummy_1.0_amd64.buildinfo dpkg-genchanges --build=binary -O../debootsnap-dummy_1.0_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) The package has been created. Attention, the package has been created in the /srv/rebuilderd/tmp/tmpnaom1r5l/cache directory, not in ".." as indicated by the message above! I: automatically chosen mode: unshare I: i386 is different from amd64 but can be executed natively I: using /srv/rebuilderd/tmp/mmdebstrap.d2mGOx6VVJ as tempdir I: running --setup-hook directly: /usr/share/mmdebstrap/hooks/maybe-merged-usr/setup00.sh /srv/rebuilderd/tmp/mmdebstrap.d2mGOx6VVJ 127.0.0.1 - - [18/Jul/2026 11:14:09] code 404, message File not found 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./InRelease HTTP/1.1" 404 - Ign:1 http://localhost:33533 ./ InRelease 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./Release HTTP/1.1" 200 - Get:2 http://localhost:33533 ./ Release [462 B] 127.0.0.1 - - [18/Jul/2026 11:14:09] code 404, message File not found 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./Release.gpg HTTP/1.1" 404 - Ign:3 http://localhost:33533 ./ Release.gpg 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./Packages HTTP/1.1" 200 - Get:4 http://localhost:33533 ./ Packages [848 kB] Fetched 848 kB in 0s (38.3 MB/s) Reading package lists... usr-is-merged found but not real -- not running merged-usr setup hook I: skipping apt-get update because it was already run I: downloading packages with apt... 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./gcc-16-base_16.1.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libc-gconv-modules-extra_2.42-17_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libc6_2.42-17_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libgcc-s1_16.1.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./mawk_1.3.4.20260302-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./base-files_14.2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libtinfo6_6.6%2b20260608-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./debianutils_5.23.2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./bash_5.3-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libacl1_2.4.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libattr1_2.6.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libgmp10_6.3.0%2bdfsg-5%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libpcre2-8-0_10.46-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libselinux1_3.10-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libzstd1_1.5.7%2bdfsg-3%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./zlib1g_1.3.dfsg%2breally1.3.2-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libssl3t64_3.6.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./openssl-provider-legacy_3.6.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libsystemd0_261.1-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./coreutils_9.10-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./dash_0.5.12-12_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./diffutils_3.12-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libbz2-1.0_1.0.8-6%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./liblzma5_5.8.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libmd0_1.2.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./tar_1.35%2bdfsg-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./dpkg_1.23.7_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./findutils_4.10.0-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./grep_3.12-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./gzip_1.13-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./hostname_3.25_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./ncurses-bin_6.6%2b20260608-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./libcrypt1_4.5.1-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./perl-base_5.40.1-8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:09] "GET /./sed_4.9-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libaudit-common_4.1.2-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libcap-ng0_0.9.3-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libaudit1_4.1.2-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libdb5.3t64_5.3.28%2bdfsg2-11%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./debconf_1.5.92_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libpam0g_1.7.0-8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libpam-modules-bin_1.7.0-8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libpam-modules_1.7.0-8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libpam-runtime_1.7.0-8_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libblkid1_2.42.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libmount1_2.42.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libsmartcols1_2.42.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libudev1_261.1-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libuuid1_2.42.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./util-linux_2.42.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libdebconfclient0_0.283_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./base-passwd_3.6.8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./init-system-helpers_1.69_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./libc-bin_2.42-17_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./ncurses-base_6.6%2b20260608-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:10] "GET /./sysvinit-utils_3.18-1_i386.deb HTTP/1.1" 200 - I: extracting archives... I: running --extract-hook directly: /usr/share/mmdebstrap/hooks/maybe-merged-usr/extract00.sh /srv/rebuilderd/tmp/mmdebstrap.d2mGOx6VVJ 127.0.0.1 - - [18/Jul/2026 11:14:11] code 404, message File not found 127.0.0.1 - - [18/Jul/2026 11:14:11] "GET /./InRelease HTTP/1.1" 404 - Ign:1 http://localhost:33533 ./ InRelease 127.0.0.1 - - [18/Jul/2026 11:14:11] "GET /./Release HTTP/1.1" 304 - Hit:2 http://localhost:33533 ./ Release 127.0.0.1 - - [18/Jul/2026 11:14:11] code 404, message File not found 127.0.0.1 - - [18/Jul/2026 11:14:11] "GET /./Release.gpg HTTP/1.1" 404 - Ign:3 http://localhost:33533 ./ Release.gpg Reading package lists... usr-is-merged found but not real -- not running merged-usr extract hook I: installing essential packages... I: running --essential-hook directly: /usr/share/mmdebstrap/hooks/maybe-merged-usr/essential00.sh /srv/rebuilderd/tmp/mmdebstrap.d2mGOx6VVJ usr-is-merged was not installed in a previous hook -- not running merged-usr essential hook I: installing remaining packages inside the chroot... 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libexpat1_2.8.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./sensible-utils_0.0.26_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./tzdata_2026b-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libstdc%2b%2b6_16.1.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libuchardet0_0.0.8-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./groff-base_1.24.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./bsdextrautils_2.42.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libgdbm6t64_1.26-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libpipeline1_1.5.8-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libseccomp2_2.6.0-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./man-db_2.13.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./netbase_6.5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libncursesw6_6.6%2b20260608-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libproc2-1_4.0.6-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./procps_4.0.6-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./bzip2_1.0.8-6%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./openssl_3.6.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./ca-certificates_20260601_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libmagic-mgc_5.47-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libmagic1t64_5.47-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./file_5.47-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./gettext-base_1.0-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./perl-modules-5.40_5.40.1-8_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libgdbm-compat4t64_1.26-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libperl5.40_5.40.1-8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./perl_5.40.1-8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libtext-charwidth-perl_0.04-12_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libtext-wrapi18n-perl_0.06-11_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./ucf_3.0056_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./xz-utils_5.8.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./aglfn_1.7%2bgit20191031.4036a9c-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libatomic1_16.1.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libffi8_3.5.2-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libglib2.0-0t64_2.88.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libxml2-16_2.15.3%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./shared-mime-info_2.4-5%2bb3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libnghttp3-9_1.15.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libngtcp2-16_1.22.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libbrotli1_1.2.0-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libnettle8t64_3.10.2-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libhogweed6t64_3.10.2-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libunistring5_1.4.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libidn2-0_2.3.8-5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libp11-kit0_0.26.4-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libtasn1-6_4.21.0-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libgnutls30t64_3.8.13-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libkrb5support0_1.22.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libcom-err2_1.47.4-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libk5crypto3_1.22.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libkeyutils1_1.6.3-6%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libkrb5-3_1.22.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libgssapi-krb5-2_1.22.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libsasl2-modules-db_2.1.28%2bdfsg1-11_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libsasl2-2_2.1.28%2bdfsg1-11_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libldap2_2.6.13%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libnghttp2-14_1.69.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libngtcp2-crypto-gnutls8_1.22.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libpsl5t64_0.22.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libssh2-1t64_1.11.1-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libcurl4-gnutls_8.21.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libfyaml0_0.9.4-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libstemmer0d_3.1.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libxmlb2_0.3.28-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libappstream5_1.1.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./appstream_1.1.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./m4_1.4.21-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./autoconf_2.73-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./autotools-dev_20240727.1%2bnmu1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./automake_1.18.1-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./autopoint_1.0-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libsframe3_2.46.50.20260617-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./binutils-common_2.46.50.20260617-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libbinutils_2.46.50.20260617-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libgprofng0_2.46.50.20260617-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libctf-nobfd0_2.46.50.20260617-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libctf0_2.46.50.20260617-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libjansson4_2.15.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./binutils-i686-linux-gnu_2.46.50.20260617-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./binutils_2.46.50.20260617-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libc-dev-bin_2.42-17_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./linux-libc-dev_7.1.3-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./rpcsvc-proto_1.4.4-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libc6-dev_2.42-17_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./gcc-15-base_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libisl23_0.27-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libmpfr6_4.2.2-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libmpc3_1.3.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./cpp-15-i686-linux-gnu_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./cpp-15_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./cpp-i686-linux-gnu_15.2.0-5%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./cpp_15.2.0-5%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libcc1-0_16.1.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libgomp1_16.1.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libitm1_16.1.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libasan8_16.1.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libubsan1_16.1.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libquadmath0_16.1.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libgcc-15-dev_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./gcc-15-i686-linux-gnu_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./gcc-15_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./gcc-i686-linux-gnu_15.2.0-5%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./gcc_15.2.0-5%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./libstdc%2b%2b-15-dev_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:25] "GET /./g%2b%2b-15-i686-linux-gnu_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./g%2b%2b-15_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./g%2b%2b-i686-linux-gnu_15.2.0-5%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./g%2b%2b_15.2.0-5%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./make_4.4.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdpkg-perl_1.23.7_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./patch_2.8-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./dpkg-dev_1.23.7_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./build-essential_12.12_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libcapture-tiny-perl_0.50-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libparams-util-perl_1.102-3%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libsub-install-perl_0.929-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdata-optlist-perl_0.114-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libb-hooks-op-check-perl_0.22-3%2bb4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdynaloader-functions-perl_0.004-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdevel-callchecker-perl_0.009-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libparams-classify-perl_0.015-2%2bb5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libmodule-runtime-perl_0.018-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libtry-tiny-perl_0.32-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libmodule-implementation-perl_0.09-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libpackage-stash-perl_0.40-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libclass-load-perl_0.25-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libio-stringy-perl_2.113-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libparams-validate-perl_1.31-2%2bb4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libsub-exporter-perl_0.990-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libgetopt-long-descriptive-perl_0.117-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libio-tiecombine-perl_1.005-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libmodule-pluggable-perl_6.3-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libstring-rewriteprefix-perl_0.009-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libapp-cmd-perl_0.340-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libboolean-perl_0.46-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libsub-uplevel-perl_0.2800-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libtest-exception-perl_0.43-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libcarp-assert-more-perl_2.9.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libfile-which-perl_1.27-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libfile-homedir-perl_1.006-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libclone-choose-perl_0.010-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libhash-merge-perl_0.302-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libexporter-tiny-perl_1.006003-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./liblist-moreutils-xs-perl_0.430-4%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./liblist-moreutils-perl_0.430-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./liblog-log4perl-perl_1.57-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libmouse-perl_2.6.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libmousex-nativetraits-perl_1.09-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libmousex-strictconstructor-perl_0.02-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libparse-recdescent-perl_1.967015%2bdfsg-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libpath-tiny-perl_0.150-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libregexp-common-perl_2024080801-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libconfig-model-perl_2.165-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libjson-perl_4.10000-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libpod-pom-perl_2.01-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libyaml-pp-perl_0.41.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./cme_1.049-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./comerr-dev_2.1-1.47.4-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdebhelper-perl_14.3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libtool_2.5.4-11_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./dh-autoreconf_22_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libarchive-zip-perl_1.68-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libfile-stripnondeterminism-perl_1.15.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./dh-strip-nondeterminism_1.15.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libelf1t64_0.195-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./dwz_0.16-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./gettext_1.0-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./intltool-debian_0.35.0%2b20060710.6_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./po-debconf_1.0.22_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./debhelper_14.3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libthai-data_0.1.30-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libpng16-16t64_1.6.58-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libglvnd0_1.7.0-3%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libopengl0_1.7.0-3%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libngtcp2-crypto-ossl0_1.22.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libngtcp2-crypto-ossl-dev_1.22.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libevdev2_1.13.6%2bdfsg-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libgudev-1.0-0_238-7%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libwacom-common_2.18.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libwacom9_2.18.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libnet-netmask-perl_2.0003-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libclass-inspector-perl_1.36-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libfile-sharedir-perl_1.118-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libindirect-perl_0.39-2%2bb4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxs-parse-keyword-perl_0.49-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxs-parse-sublike-perl_0.41-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libobject-pad-perl_0.825-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libfeature-compat-class-perl_0.08-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./librtmp1_2.6-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libgmpxx4ldbl_6.3.0%2bdfsg-5%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libgmp-dev_6.3.0%2bdfsg-5%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libevent-2.1-7t64_2.1.13-stable-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libunbound8_1.25.1-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libgnutls-dane0t64_3.8.13-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libidn2-dev_2.3.8-5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libp11-kit-dev_0.26.4-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libtasn1-6-dev_4.21.0-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./nettle-dev_3.10.2-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libgnutls28-dev_3.8.13-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./zlib1g-dev_1.3.dfsg%2breally1.3.2-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./librtmp-dev_2.6-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libfreetype6_2.14.3%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./fonts-freefont-otf_20211204%2bsvn4273-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./fontconfig-config_2.17.1-5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libfontconfig1_2.17.1-5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libpixman-1-0_0.46.4-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxau6_1.0.11-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxdmcp6_1.1.5-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxcb1_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libx11-data_1.8.13-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libx11-6_1.8.13-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxcb-render0_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxcb-shm0_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxext6_1.3.4-1%2bb4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxrender1_0.9.12-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libcairo2_1.18.4-3%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./liblzo2-2_2.10-3%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./lzop_1.04-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libgfortran5_16.1.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libgfortran-15-dev_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./gfortran-15-i686-linux-gnu_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./gfortran-i686-linux-gnu_15.2.0-5%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libmpg123-0t64_1.33.6-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libclass-data-inheritable-perl_0.10-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdata-messagepack-perl_1.02-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libasound2-data_1.2.16.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libasound2t64_1.2.16.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libgpg-error0_1.61-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libksba8_1.8.0-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libsereal-encoder-perl_5.006%2bds-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libio-interactive-perl_1.027-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libmd4c0_0.5.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libarray-intspan-perl_2.004-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./liblog-any-perl_1.720-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libsub-exporter-progressive-perl_0.001013-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libvariable-magic-perl_0.64-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libb-hooks-endofscope-perl_0.28-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libsub-identify-perl_0.14-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libsub-name-perl_0.28-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libnamespace-clean-perl_0.27-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libregexp-pattern-license-perl_3.11.2-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libregexp-pattern-perl_0.2.14-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libstring-license-perl_0.0.11-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libset-intspan-perl_1.19-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxcb-util1_0.4.1-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxcb-image0_0.4.0-2%2bb3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./liblua5.4-0_5.4.8-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxml-namespacesupport-perl_1.12-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libpkgconf7_2.5.1-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./pkgconf-bin_2.5.1-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./pkgconf_2.5.1-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libnghttp2-dev_1.69.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libperlio-utf8-strict-perl_0.010-1%2bb3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libsvtav1enc4_4.1.0%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxxf86vm1_1.1.4-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libtext-template-perl_1.61-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libavahi-common-data_0.8-18_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libavahi-common3_0.8-18_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdbus-1-3_1.16.2-5%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libavahi-client3_0.8-18_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libcups2t64_2.4.18-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libb2-1_0.98.1-1.1%2bb3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdouble-conversion3_3.4.0-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libicu78_78.3-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libpcre2-16-0_10.46-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libqt6core6t64_6.10.2%2bdfsg-15_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./fontconfig_2.17.1-5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdrm-common_2.4.134-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdrm2_2.4.134-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdrm-amdgpu1_2.4.134-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./pci.ids_0.0%7e2026.07.06-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libpciaccess0_0.19-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libdrm-intel1_2.4.134-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libbsd0_0.12.2-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libedit2_3.1-20260512-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libz3-4_4.13.3-1.1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libllvm21_21.1.8-7%2bb4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libsensors-config_3.6.2-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libsensors5_3.6.2-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libx11-xcb1_1.8.13-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxcb-dri3-0_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxcb-present0_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxcb-randr0_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxcb-sync1_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxcb-xfixes0_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./libxshmfence1_1.3.3-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:26] "GET /./mesa-libgallium_26.1.4-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libgbm1_26.1.4-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libwayland-client0_1.25.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libegl-mesa0_26.1.4-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libegl1_1.7.0-3%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libvulkan1_1.4.341.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libgl1-mesa-dri_26.1.4-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxcb-glx0_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libglx-mesa0_26.1.4-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libglx0_1.7.0-3%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libgraphite2-3_1.3.15-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libharfbuzz0b_12.3.2-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./x11-common_7.7%2b26_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libice6_1.1.1-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libmtdev1t64_1.1.7-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libinput-bin_1.31.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libinput10_1.31.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libjpeg62-turbo_3.1.3-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libqt6dbus6_6.10.2%2bdfsg-15_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsm6_1.2.6-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libts0t64_1.22-1.1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxcb-render-util0_0.3.10-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxcb-cursor0_0.1.6-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxcb-icccm4_0.4.2-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxcb-keysyms1_0.4.1-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxcb-shape0_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxcb-xinput0_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxcb-xkb1_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./xkb-data_2.47-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxkbcommon0_1.13.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxkbcommon-x11-0_1.13.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libqt6gui6_6.10.2%2bdfsg-15_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libqt6widgets6_6.10.2%2bdfsg-15_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libqt6printsupport6_6.10.2%2bdfsg-15_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libaom3_3.13.1-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdav1d7_1.5.3-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libabsl20260107_20260107.0-5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libgav1-2_0.20.0-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./librav1e0.8_0.8.1-10_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libyuv0_0.0.1949.20260706-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libavif16_1.4.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsharpyuv0_1.5.0-0.1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libde265-0_1.1.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libheif-plugin-libde265_1.23.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libheif-plugin-dav1d_1.23.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libheif1_1.23.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libimagequant0_4.4.1-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdeflate0_1.25-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libjbig0_2.1-6.1%2bb3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblerc4_4.1.1%2bds-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libwebp7_1.5.0-0.1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtiff6_4.7.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxpm4_3.5.19-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libgd3_2.3.3-13%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libqt6sql6_6.10.2%2bdfsg-15_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libqt6help6_6.10.2-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./readline-common_8.3-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libmp3lame0_3.101%7esvn6531%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libberkeleydb-perl_0.66-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libnet-ipv6addr-perl_1.02-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libnamespace-autoclean-perl_0.31-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libeval-closure-perl_0.14-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdevel-stacktrace-perl_2.0500-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libexception-class-perl_1.45-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libparams-validationcompiler-perl_0.31-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libclone-perl_0.50-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libclone-pp-perl_1.08-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libalgorithm-c3-perl_0.11-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libclass-c3-perl_0.35-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libmro-compat-perl_0.15-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libclass-method-modifiers-perl_2.15-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./librole-tiny-perl_2.002005-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsub-quote-perl_2.006009-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxstring-perl_0.005-2%2bb5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libspecio-perl_0.53-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdatetime-locale-perl_1.45-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libclass-singleton-perl_1.6-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdatetime-timezone-perl_2.69-1%2b2026c_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdatetime-perl_1.65-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdatetime-format-strptime-perl_1.8000-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdatetime-format-builder-perl_0.8300-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdatetime-format-iso8601-perl_0.19-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsyntax-keyword-try-perl_0.31-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsuitesparseconfig7_7.12.2%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libamd3_7.12.2%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libblas3_3.12.1-8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libcamd3_7.12.2%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libccolamd3_7.12.2%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libcolamd3_7.12.2%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblapack3_3.12.1-8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libcholmod5_7.12.2%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libumfpack6_7.12.2%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhwy1t64_1.3.0-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libqrupdate1_1.1.5-3%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libregexp-wildcards-perl_1.05-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libduktape207_2.7.0-2%2bb3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfftw3-double3_3.3.11-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfftw3-long3_3.3.11-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfftw3-quad3_3.3.11-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfftw3-single3_3.3.11-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfftw3-bin_3.3.11-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxml-sax-base-perl_1.09-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libio-string-perl_1.08-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblcms2-2_2.19.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libjxl0.11_0.11.2-5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libwebpmux3_1.5.0-0.1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libwmflite-0.2-7_0.2.14-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libgraphicsmagick-q16-3t64_1.4%2breally1.3.46-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libgraphicsmagick%2b%2b-q16-12t64_1.4%2breally1.3.46-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libglu1-mesa_9.0.2-1.1%2bb4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsqlite3-0_3.53.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libimport-into-perl_1.002005-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./gnuplot-data_6.0.3%2bdfsg1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfribidi0_1.0.16-5%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdatrie1_0.2.14-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libthai0_0.1.30-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libpango-1.0-0_1.58.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libpangoft2-1.0-0_1.58.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libpangocairo-1.0-0_1.58.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./gnuplot-nox_6.0.3%2bdfsg1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./dh-octave-autopkgtest_1.16.0_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxxhash0_0.8.3-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblz4-1_1.10.0-10_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libapt-pkg7.0_3.3.1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libapt-pkg-perl_0.1.43_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libconfig-inifiles-perl_3.000003-5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libyaml-0-2_0.2.5-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libyaml-libyaml-perl_0.910.0%2bds-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libconfig-model-backend-yaml-perl_2.134-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libexporter-lite-perl_0.09-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libencode-locale-perl_1.05-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtimedate-perl_2.3500-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhttp-date-perl_6.08-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfile-listing-perl_6.16-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhtml-tagset-perl_3.24-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liburi-perl_5.35-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhtml-parser-perl_3.83-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhtml-tree-perl_5.07-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libio-html-perl_1.004-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblwp-mediatypes-perl_6.04-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhttp-message-perl_7.02-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhttp-cookies-perl_6.11-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhttp-negotiate-perl_6.01-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./perl-openssl-defaults_7%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libnet-ssleay-perl_1.96-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libio-socket-ssl-perl_2.099-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libnet-http-perl_6.24-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblwp-protocol-https-perl_6.15-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libwww-robotrules-perl_6.03-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libwww-perl_6.83-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liberror-perl_0.17030-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libparse-debcontrol-perl_2.005-6_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsoftware-copyright-perl_0.015-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdata-section-perl_0.200008-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsoftware-license-perl_0.104007-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libyaml-tiny-perl_1.76-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsoftware-licensemoreutils-perl_1.009-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsort-versions-perl_1.62-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtext-reform-perl_1.20-5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtext-autoformat-perl_1.750000-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtext-levenshtein-damerau-perl_0.41-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdatetime-format-rfc3339-perl_1.10.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtoml-tiny-perl_0.22-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfeature-compat-try-perl_0.05-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblog-any-adapter-screen-perl_0.141-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libnumber-compare-perl_0.03-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtext-glob-perl_0.11-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libpath-iterator-rule-perl_1.015-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libpod-parser-perl_1.67-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libpod-constants-perl_0.19-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libstring-copyright-perl_0.003014-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libstring-escape-perl_2010.002-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./licensecheck_3.3.9-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./diffstat_1.69-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libassuan9_3.0.2-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libgcrypt20_1.12.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libreadline8t64_8.3-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./gpgconf_2.4.9-7_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libnpth0t64_1.8-3%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./gpg_2.4.9-7_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./iso-codes_4.20.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libconfig-tiny-perl_2.30-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libconst-fast-perl_0.014-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libcpanel-json-xs-perl_4.42-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libaliased-perl_0.34-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libclass-xsaccessor-perl_1.19-4%2bb5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libiterator-perl_0.03%2bds1-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libiterator-util-perl_0.02%2bds1-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdata-dpath-perl_0.60-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libnet-domain-tld-perl_1.75-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdata-validate-domain-perl_0.15-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libnetaddr-ip-perl_4.079%2bdfsg-2%2bb5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdata-validate-ip-perl_0.31-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdata-validate-uri-perl_0.07-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdevel-size-perl_0.87-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libemail-address-xs-perl_1.05-1%2bb4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libipc-system-simple-perl_1.30-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfile-basedir-perl_0.09-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfile-find-rule-perl_0.35-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfile-libmagic-perl_1.23-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfont-ttf-perl_1.06-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhtml-html5-entities-perl_0.004-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhtml-tokeparser-simple-perl_3.16-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libipc-run3-perl_0.049-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libjson-maybexs-perl_1.004008-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblist-compare-perl_0.55-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblist-someutils-perl_0.59-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblist-utilsby-perl_0.12-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libmldbm-perl_2.05-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libmoo-perl_2.005005-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libstrictures-perl_2.000006-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libmoox-aliases-perl_0.001006-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libperlio-gzip-perl_0.20-1%2bb4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libproc-processtable-perl_0.637-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsereal-decoder-perl_5.006%2bds-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libterm-readkey-perl_2.38-2%2bb4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtext-levenshteinxs-perl_0.03-5%2bb4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libmarkdown2_2.2.7-2.1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtext-markdown-discount-perl_0.18-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtext-xslate-perl_3.5.9-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtime-duration-perl_1.21-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtime-moment-perl_0.46-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libunicode-utf8-perl_0.72-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libcgi-pm-perl_4.72-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhtml-form-perl_6.13-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libwww-mechanize-perl_2.22-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxml-sax-perl_1.02%2bdfsg-5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxml-libxml-perl_2.0207%2bdfsg%2breally%2b2.0134-8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblz1_1.16-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./plzip_1.13-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./patchutils_0.4.5-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./t1utils_1.41-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./unzip_6.0-29_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./lintian_2.137.1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libconfig-model-dpkg-perl_3.024_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libconvert-binhex-perl_1.125-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libnet-smtp-ssl-perl_1.04-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libmailtools-perl_2.22-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libmime-tools-perl_5.517-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libb-keywords-perl_1.29-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libclass-tiny-perl_1.008-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./liblingua-en-inflect-perl_1.905-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libpod-spell-perl_1.27-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsafe-isa-perl_1.000010-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtask-weaken-perl_1.06-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libppi-perl_1.291-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libreadonly-perl_2.050-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libppix-quotelike-perl_0.024-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libppix-regexp-perl_0.092-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libppix-utils-perl_0.003-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libstring-format-perl_1.18-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./perltidy_20250105-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libperl-critic-perl_1.156-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libtext-wrapper-perl_1.05-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libarpack2t64_3.9.1-6%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libcxsparse4_7.12.2%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libdecor-0-0_0.2.5-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libwayland-cursor0_1.25.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxfixes3_6.0.0-2%2bb5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxcursor1_1.2.3-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libxinerama1_1.1.4-3%2bb5_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfltk1.4_1.4.4-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libgl1_1.7.0-3%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libwayland-egl1_1.25.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libfltk-gl1.4_1.4.4-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libgl2ps1.4_1.4.2%2bdfsg1-4%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libltdl7_2.5.4-11_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libglpk40_5.0-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libcurl4t64_8.21.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsz2_1.1.7-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libhdf5-310_1.14.6%2brepack-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libopus0_1.6.1-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libsamplerate0_0.2.2-4%2bb3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libjack-jackd2-0_1.9.22%7edfsg-5%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libportaudio2_19.7.0-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:27] "GET /./libqhull-r8.0_2020.2-9_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libqscintilla2-qt6-l10n_2.14.1%2bdfsg-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libqscintilla2-qt6-15_2.14.1%2bdfsg-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libqt6core5compat6_6.10.2-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libcurl3t64-gnutls_8.21.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libproxy1v5_0.5.12-1%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libqt6network6_6.10.2%2bdfsg-15_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libqt6opengl6_6.10.2%2bdfsg-15_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libqt6openglwidgets6_6.10.2%2bdfsg-15_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libqt6xml6_6.10.2%2bdfsg-15_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libogg0_1.3.6-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libflac14_1.5.0%2bds-5%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libvorbis0a_1.3.7-3%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libvorbisenc2_1.3.7-3%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libsndfile1_1.2.2-4%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libspqr4_7.12.2%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libtext-unidecode-perl_1.30-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libintl-perl_1.37-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./texinfo-lib_7.3-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./tex-common_6.20_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./texinfo_7.3-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./octave-common_11.3.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./octave_11.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libncurses6_6.6%2b20260608-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libncurses-dev_6.6%2b20260608-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libreadline-dev_8.3-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libhdf5-fortran-310_1.14.6%2brepack-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libhdf5-hl-310_1.14.6%2brepack-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libhdf5-hl-fortran-310_1.14.6%2brepack-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libhdf5-cpp-310_1.14.6%2brepack-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libhdf5-hl-cpp-310_1.14.6%2brepack-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libjpeg62-turbo-dev_3.1.3-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libjpeg-dev_3.1.3-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libaec0_1.1.7-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libaec-dev_1.1.7-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libbrotli-dev_1.2.0-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libgssrpc4t64_1.22.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libkadm5clnt-mit12_1.22.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libkdb5-10t64_1.22.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libkadm5srv-mit12_1.22.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./krb5-multidev_1.22.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libkrb5-dev_1.22.1-3_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libldap-dev_2.6.13%2bdfsg-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libnghttp3-dev_1.15.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libngtcp2-dev_1.22.1-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libunistring-dev_1.4.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libpsl-dev_0.22.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libssl-dev_3.6.3-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libssh2-1-dev_1.11.1-4_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libzstd-dev_1.5.7%2bdfsg-3%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libcurl4-openssl-dev_8.21.0-2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./hdf5-helpers_1.14.6%2brepack-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libhdf5-dev_1.14.6%2brepack-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./xorg-sgml-doctools_1.12.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./x11proto-dev_2025.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libxau-dev_1.0.11-1%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libxdmcp-dev_1.1.5-2%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./xtrans-dev_1.6.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libxcb1-dev_1.17.0-2%2bb2_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libx11-dev_1.8.13-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libglx-dev_1.7.0-3%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libgl-dev_1.7.0-3%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libblas-dev_3.12.1-8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./liblapack-dev_3.12.1-8_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./libfftw3-dev_3.3.11-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./gfortran-15_15.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./gfortran_15.2.0-5%2bb1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./octave-dev_11.3.0-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./dh-octave_1.16.0_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./octave-datatypes_1.2.6-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./octave-io_2.7.2-1_i386.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 11:14:28] "GET /./debootsnap-dummy_1.0_all.deb HTTP/1.1" 200 - I: running --customize-hook directly: /srv/rebuilderd/tmp/tmpnaom1r5l/apt_install.sh /srv/rebuilderd/tmp/mmdebstrap.d2mGOx6VVJ Reading package lists... Building dependency tree... Reading state information... libthai-data is already the newest version (0.1.30-2). libthai-data set to manually installed. libpam-modules-bin is already the newest version (1.7.0-8). libpng16-16t64 is already the newest version (1.6.58-1). libpng16-16t64 set to manually installed. libopengl0 is already the newest version (1.7.0-3+b1). libopengl0 set to manually installed. libngtcp2-crypto-ossl-dev is already the newest version (1.22.1-1). libngtcp2-crypto-ossl-dev set to manually installed. libwacom9 is already the newest version (2.18.0-1). libwacom9 set to manually installed. libnet-netmask-perl is already the newest version (2.0003-1). libnet-netmask-perl set to manually installed. libdebhelper-perl is already the newest version (14.3). libdebhelper-perl set to manually installed. libc6-dev is already the newest version (2.42-17). libc6-dev set to manually installed. libfeature-compat-class-perl is already the newest version (0.08-1). libfeature-compat-class-perl set to manually installed. librtmp-dev is already the newest version (2.6-1). librtmp-dev set to manually installed. libcairo2 is already the newest version (1.18.4-3+b1). libcairo2 set to manually installed. gcc is already the newest version (4:15.2.0-5+b1). gcc set to manually installed. lzop is already the newest version (1.04-2). lzop set to manually installed. gfortran-i686-linux-gnu is already the newest version (4:15.2.0-5+b1). gfortran-i686-linux-gnu set to manually installed. libquadmath0 is already the newest version (16.1.0-2). libquadmath0 set to manually installed. libmpg123-0t64 is already the newest version (1.33.6-1). libmpg123-0t64 set to manually installed. libclass-data-inheritable-perl is already the newest version (0.10-1). libclass-data-inheritable-perl set to manually installed. libdata-messagepack-perl is already the newest version (1.02-3). libdata-messagepack-perl set to manually installed. sysvinit-utils is already the newest version (3.18-1). libxau6 is already the newest version (1:1.0.11-1+b2). libxau6 set to manually installed. libasound2t64 is already the newest version (1.2.16.1-1). libasound2t64 set to manually installed. libgcc-s1 is already the newest version (16.1.0-2). libksba8 is already the newest version (1.8.0-3). libksba8 set to manually installed. libboolean-perl is already the newest version (0.46-3). libboolean-perl set to manually installed. libpod-pom-perl is already the newest version (2.01-4). libpod-pom-perl set to manually installed. libsereal-encoder-perl is already the newest version (5.006+ds-1). libsereal-encoder-perl set to manually installed. libpam0g is already the newest version (1.7.0-8). libparse-recdescent-perl is already the newest version (1.967015+dfsg-4). libparse-recdescent-perl set to manually installed. libio-interactive-perl is already the newest version (1.027-1). libio-interactive-perl set to manually installed. netbase is already the newest version (6.5). netbase set to manually installed. tar is already the newest version (1.35+dfsg-4). libmd4c0 is already the newest version (0.5.3-1). libmd4c0 set to manually installed. libstring-license-perl is already the newest version (0.0.11-1). libstring-license-perl set to manually installed. libset-intspan-perl is already the newest version (1.19-3). libset-intspan-perl set to manually installed. libxcb-image0 is already the newest version (0.4.0-2+b3). libxcb-image0 set to manually installed. libwacom-common is already the newest version (2.18.0-1). libwacom-common set to manually installed. liblua5.4-0 is already the newest version (5.4.8-2). liblua5.4-0 set to manually installed. libxml-namespacesupport-perl is already the newest version (1.12-2). libxml-namespacesupport-perl set to manually installed. libnghttp2-dev is already the newest version (1.69.0-1). libnghttp2-dev set to manually installed. libperlio-utf8-strict-perl is already the newest version (0.010-1+b3). libperlio-utf8-strict-perl set to manually installed. sensible-utils is already the newest version (0.0.26). sensible-utils set to manually installed. diffutils is already the newest version (1:3.12-1). libgprofng0 is already the newest version (2.46.50.20260617-1). libgprofng0 set to manually installed. libsvtav1enc4 is already the newest version (4.1.0+dfsg-1). libsvtav1enc4 set to manually installed. libngtcp2-16 is already the newest version (1.22.1-1). libngtcp2-16 set to manually installed. libxxf86vm1 is already the newest version (1:1.1.4-2+b1). libxxf86vm1 set to manually installed. gettext is already the newest version (1.0-3). gettext set to manually installed. libtext-template-perl is already the newest version (1.61-1). libtext-template-perl set to manually installed. libncursesw6 is already the newest version (6.6+20260608-2). libncursesw6 set to manually installed. libqt6printsupport6 is already the newest version (6.10.2+dfsg-15). libqt6printsupport6 set to manually installed. libexpat1 is already the newest version (2.8.2-1). libexpat1 set to manually installed. liblog-log4perl-perl is already the newest version (1.57-1). liblog-log4perl-perl set to manually installed. libgd3 is already the newest version (2.3.3-13+b2). libgd3 set to manually installed. libapp-cmd-perl is already the newest version (0.340-1). libapp-cmd-perl set to manually installed. libio-tiecombine-perl is already the newest version (1.005-3). libio-tiecombine-perl set to manually installed. nettle-dev is already the newest version (3.10.2-1+b1). nettle-dev set to manually installed. libqt6help6 is already the newest version (6.10.2-3). libqt6help6 set to manually installed. readline-common is already the newest version (8.3-4). readline-common set to manually installed. libffi8 is already the newest version (3.5.2-4). libffi8 set to manually installed. libmp3lame0 is already the newest version (3.101~svn6531+dfsg-1). libmp3lame0 set to manually installed. libberkeleydb-perl is already the newest version (0.66-2+b1). libberkeleydb-perl set to manually installed. libvulkan1 is already the newest version (1.4.341.0-1). libvulkan1 set to manually installed. libnet-ipv6addr-perl is already the newest version (1.02-1). libnet-ipv6addr-perl set to manually installed. libdatetime-format-iso8601-perl is already the newest version (0.19-1). libdatetime-format-iso8601-perl set to manually installed. libparams-util-perl is already the newest version (1.102-3+b1). libparams-util-perl set to manually installed. libsyntax-keyword-try-perl is already the newest version (0.31-1). libsyntax-keyword-try-perl set to manually installed. libumfpack6 is already the newest version (1:7.12.2+dfsg-1). libumfpack6 set to manually installed. libnghttp3-9 is already the newest version (1.15.0-1). libnghttp3-9 set to manually installed. libhwy1t64 is already the newest version (1.3.0-2+b1). libhwy1t64 set to manually installed. gcc-15 is already the newest version (15.3.0-1). gcc-15 set to manually installed. libpam-runtime is already the newest version (1.7.0-8). libxcb-shape0 is already the newest version (1.17.0-2+b2). libxcb-shape0 set to manually installed. libqrupdate1 is already the newest version (1.1.5-3+b1). libqrupdate1 set to manually installed. libparams-validationcompiler-perl is already the newest version (0.31-1). libparams-validationcompiler-perl set to manually installed. libxcb-icccm4 is already the newest version (0.4.2-1+b2). libxcb-icccm4 set to manually installed. libregexp-wildcards-perl is already the newest version (1.05-3). libregexp-wildcards-perl set to manually installed. libduktape207 is already the newest version (2.7.0-2+b3). libduktape207 set to manually installed. libxcb-util1 is already the newest version (0.4.1-1+b2). libxcb-util1 set to manually installed. sed is already the newest version (4.9-3). libclone-choose-perl is already the newest version (0.010-2). libclone-choose-perl set to manually installed. libfftw3-bin is already the newest version (3.3.11-1). libfftw3-bin set to manually installed. libtest-exception-perl is already the newest version (0.43-3). libtest-exception-perl set to manually installed. ncurses-bin is already the newest version (6.6+20260608-2). libc6 is already the newest version (2.42-17). libb2-1 is already the newest version (0.98.1-1.1+b3). libb2-1 set to manually installed. libselinux1 is already the newest version (3.10-1). libxml-sax-base-perl is already the newest version (1.09-3). libxml-sax-base-perl set to manually installed. xz-utils is already the newest version (5.8.3-1). xz-utils set to manually installed. libseccomp2 is already the newest version (2.6.0-2+b1). libseccomp2 set to manually installed. libjpeg62-turbo is already the newest version (1:3.1.3-4). libjpeg62-turbo set to manually installed. libxcb-glx0 is already the newest version (1.17.0-2+b2). libxcb-glx0 set to manually installed. libio-string-perl is already the newest version (1.08-4). libio-string-perl set to manually installed. libccolamd3 is already the newest version (1:7.12.2+dfsg-1). libccolamd3 set to manually installed. pkgconf is already the newest version (2.5.1-4). pkgconf set to manually installed. libgraphicsmagick++-q16-12t64 is already the newest version (1.4+really1.3.46-2). libgraphicsmagick++-q16-12t64 set to manually installed. libglu1-mesa is already the newest version (9.0.2-1.1+b4). libglu1-mesa set to manually installed. libdb5.3t64 is already the newest version (5.3.28+dfsg2-11+b1). libsqlite3-0 is already the newest version (3.53.3-1). libsqlite3-0 set to manually installed. libgetopt-long-descriptive-perl is already the newest version (0.117-1). libgetopt-long-descriptive-perl set to manually installed. libimport-into-perl is already the newest version (1.002005-2). libimport-into-perl set to manually installed. dh-octave is already the newest version (1.16.0). dh-octave set to manually installed. libfftw3-dev is already the newest version (3.3.11-1). libfftw3-dev set to manually installed. libavahi-common3 is already the newest version (0.8-18). libavahi-common3 set to manually installed. libunistring5 is already the newest version (1.4.2-1). libunistring5 set to manually installed. licensecheck is already the newest version (3.3.9-1). licensecheck set to manually installed. libgdbm-compat4t64 is already the newest version (1.26-1+b2). libgdbm-compat4t64 set to manually installed. libunistring-dev is already the newest version (1.4.2-1). libunistring-dev set to manually installed. cpp-15-i686-linux-gnu is already the newest version (15.3.0-1). cpp-15-i686-linux-gnu set to manually installed. libxml2-16 is already the newest version (2.15.3+dfsg-1). libxml2-16 set to manually installed. libdatetime-format-strptime-perl is already the newest version (1.8000-1). libdatetime-format-strptime-perl set to manually installed. libhash-merge-perl is already the newest version (0.302-1). libhash-merge-perl set to manually installed. libssh2-1t64 is already the newest version (1.11.1-4). libssh2-1t64 set to manually installed. libtext-reform-perl is already the newest version (1.20-5). libtext-reform-perl set to manually installed. libunicode-utf8-perl is already the newest version (0.72-1). libunicode-utf8-perl set to manually installed. libhtml-html5-entities-perl is already the newest version (0.004-3). libhtml-html5-entities-perl set to manually installed. libcups2t64 is already the newest version (2.4.18-1). libcups2t64 set to manually installed. liblz4-1 is already the newest version (1.10.0-10). liblz4-1 set to manually installed. dh-autoreconf is already the newest version (22). dh-autoreconf set to manually installed. findutils is already the newest version (4.10.0-4). octave is already the newest version (11.3.0-1). octave set to manually installed. build-essential is already the newest version (12.12). build-essential set to manually installed. liburi-perl is already the newest version (5.35-1). liburi-perl set to manually installed. perl-base is already the newest version (5.40.1-8). libfile-homedir-perl is already the newest version (1.006-2). libfile-homedir-perl set to manually installed. octave-common is already the newest version (11.3.0-1). octave-common set to manually installed. libmoo-perl is already the newest version (2.005005-1). libmoo-perl set to manually installed. gfortran-15-i686-linux-gnu is already the newest version (15.3.0-1). gfortran-15-i686-linux-gnu set to manually installed. libqhull-r8.0 is already the newest version (2020.2-9). libqhull-r8.0 set to manually installed. libgcrypt20 is already the newest version (1.12.2-1). libgcrypt20 set to manually installed. aglfn is already the newest version (1.7+git20191031.4036a9c-2). aglfn set to manually installed. libdrm-intel1 is already the newest version (2.4.134-3). libdrm-intel1 set to manually installed. libdbus-1-3 is already the newest version (1.16.2-5+b1). libdbus-1-3 set to manually installed. libgl1-mesa-dri is already the newest version (26.1.4-1). libgl1-mesa-dri set to manually installed. g++-i686-linux-gnu is already the newest version (4:15.2.0-5+b1). g++-i686-linux-gnu set to manually installed. libhttp-message-perl is already the newest version (7.02-1). libhttp-message-perl set to manually installed. libsub-name-perl is already the newest version (0.28-1+b2). libsub-name-perl set to manually installed. libnet-domain-tld-perl is already the newest version (1.75-4). libnet-domain-tld-perl set to manually installed. libfile-find-rule-perl is already the newest version (0.35-1). libfile-find-rule-perl set to manually installed. libtext-wrapper-perl is already the newest version (1.05-4). libtext-wrapper-perl set to manually installed. liblist-moreutils-perl is already the newest version (0.430-2). liblist-moreutils-perl set to manually installed. libaom3 is already the newest version (3.13.1-2+b1). libaom3 set to manually installed. perl-openssl-defaults is already the newest version (7+b2). perl-openssl-defaults set to manually installed. libhttp-cookies-perl is already the newest version (6.11-1). libhttp-cookies-perl set to manually installed. libstrictures-perl is already the newest version (2.000006-1). libstrictures-perl set to manually installed. libyuv0 is already the newest version (0.0.1949.20260706-1). libyuv0 set to manually installed. libfftw3-single3 is already the newest version (3.3.11-1). libfftw3-single3 set to manually installed. cme is already the newest version (1.049-1). cme set to manually installed. libqt6xml6 is already the newest version (6.10.2+dfsg-15). libqt6xml6 set to manually installed. libhdf5-dev is already the newest version (1.14.6+repack-2+b1). libhdf5-dev set to manually installed. libregexp-pattern-license-perl is already the newest version (3.11.2-1). libregexp-pattern-license-perl set to manually installed. libnamespace-autoclean-perl is already the newest version (0.31-1). libnamespace-autoclean-perl set to manually installed. g++-15 is already the newest version (15.3.0-1). g++-15 set to manually installed. libppi-perl is already the newest version (1.291-1). libppi-perl set to manually installed. libctf0 is already the newest version (2.46.50.20260617-1). libctf0 set to manually installed. libc-dev-bin is already the newest version (2.42-17). libc-dev-bin set to manually installed. texinfo-lib is already the newest version (7.3-2). texinfo-lib set to manually installed. libpsl5t64 is already the newest version (0.22.0-1). libpsl5t64 set to manually installed. librav1e0.8 is already the newest version (0.8.1-10). librav1e0.8 set to manually installed. mawk is already the newest version (1.3.4.20260302-1). libtext-levenshteinxs-perl is already the newest version (0.03-5+b4). libtext-levenshteinxs-perl set to manually installed. shared-mime-info is already the newest version (2.4-5+b3). shared-mime-info set to manually installed. libnettle8t64 is already the newest version (3.10.2-1+b1). libnettle8t64 set to manually installed. krb5-multidev is already the newest version (1.22.1-3). krb5-multidev set to manually installed. libgudev-1.0-0 is already the newest version (238-7+b2). libgudev-1.0-0 set to manually installed. libpciaccess0 is already the newest version (0.19-2). libpciaccess0 set to manually installed. libfontconfig1 is already the newest version (2.17.1-5). libfontconfig1 set to manually installed. liblog-any-adapter-screen-perl is already the newest version (0.141-2). liblog-any-adapter-screen-perl set to manually installed. libdata-validate-uri-perl is already the newest version (0.07-3). libdata-validate-uri-perl set to manually installed. libqt6gui6 is already the newest version (6.10.2+dfsg-15). libqt6gui6 set to manually installed. libgraphite2-3 is already the newest version (1.3.15-2). libgraphite2-3 set to manually installed. libkeyutils1 is already the newest version (1.6.3-6+b2). libkeyutils1 set to manually installed. libhtml-tagset-perl is already the newest version (3.24-1). libhtml-tagset-perl set to manually installed. libhdf5-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-310 set to manually installed. libcom-err2 is already the newest version (1.47.4-1). libcom-err2 set to manually installed. libpath-iterator-rule-perl is already the newest version (1.015-2). libpath-iterator-rule-perl set to manually installed. libmagic1t64 is already the newest version (1:5.47-4). libmagic1t64 set to manually installed. libz3-4 is already the newest version (4.13.3-1.1). libz3-4 set to manually installed. g++-15-i686-linux-gnu is already the newest version (15.3.0-1). g++-15-i686-linux-gnu set to manually installed. liblist-compare-perl is already the newest version (0.55-2). liblist-compare-perl set to manually installed. libgmp10 is already the newest version (2:6.3.0+dfsg-5+b2). libfyaml0 is already the newest version (0.9.4-1). libfyaml0 set to manually installed. libjansson4 is already the newest version (2.15.1-1). libjansson4 set to manually installed. libgnutls30t64 is already the newest version (3.8.13-1). libgnutls30t64 set to manually installed. liblingua-en-inflect-perl is already the newest version (1.905-2). liblingua-en-inflect-perl set to manually installed. libdata-dpath-perl is already the newest version (0.60-1). libdata-dpath-perl set to manually installed. libsframe3 is already the newest version (2.46.50.20260617-1). libsframe3 set to manually installed. intltool-debian is already the newest version (0.35.0+20060710.6). intltool-debian set to manually installed. libsz2 is already the newest version (1.1.7-1). libsz2 set to manually installed. binutils-common is already the newest version (2.46.50.20260617-1). binutils-common set to manually installed. libabsl20260107 is already the newest version (20260107.0-5). libabsl20260107 set to manually installed. libtool is already the newest version (2.5.4-11). libtool set to manually installed. libb-keywords-perl is already the newest version (1.29-1). libb-keywords-perl set to manually installed. libsmartcols1 is already the newest version (2.42.2-1). libgssrpc4t64 is already the newest version (1.22.1-3). libgssrpc4t64 set to manually installed. libjbig0 is already the newest version (2.1-6.1+b3). libjbig0 set to manually installed. libasound2-data is already the newest version (1.2.16.1-1). libasound2-data set to manually installed. po-debconf is already the newest version (1.0.22). po-debconf set to manually installed. librole-tiny-perl is already the newest version (2.002005-1). librole-tiny-perl set to manually installed. libhtml-tokeparser-simple-perl is already the newest version (3.16-4). libhtml-tokeparser-simple-perl set to manually installed. libclone-perl is already the newest version (0.50-1). libclone-perl set to manually installed. libmouse-perl is already the newest version (2.6.2-1). libmouse-perl set to manually installed. libtasn1-6-dev is already the newest version (4.21.0-2+b1). libtasn1-6-dev set to manually installed. libxcb-dri3-0 is already the newest version (1.17.0-2+b2). libxcb-dri3-0 set to manually installed. libgmpxx4ldbl is already the newest version (2:6.3.0+dfsg-5+b2). libgmpxx4ldbl set to manually installed. libgl2ps1.4 is already the newest version (1.4.2+dfsg1-4+b1). libgl2ps1.4 set to manually installed. libjack-jackd2-0 is already the newest version (1.9.22~dfsg-5+b2). libjack-jackd2-0 set to manually installed. libb-hooks-op-check-perl is already the newest version (0.22-3+b4). libb-hooks-op-check-perl set to manually installed. libmpfr6 is already the newest version (4.2.2-3). libmpfr6 set to manually installed. g++ is already the newest version (4:15.2.0-5+b1). g++ set to manually installed. liblist-utilsby-perl is already the newest version (0.12-2). liblist-utilsby-perl set to manually installed. libtinfo6 is already the newest version (6.6+20260608-2). libxcursor1 is already the newest version (1:1.2.3-1+b2). libxcursor1 set to manually installed. libsm6 is already the newest version (2:1.2.6-1+b2). libsm6 set to manually installed. libxkbcommon0 is already the newest version (1.13.1-1). libxkbcommon0 set to manually installed. autopoint is already the newest version (1.0-3). autopoint set to manually installed. libhttp-negotiate-perl is already the newest version (6.01-2). libhttp-negotiate-perl set to manually installed. libssl-dev is already the newest version (3.6.3-1). libssl-dev set to manually installed. x11proto-dev is already the newest version (2025.1-1). x11proto-dev set to manually installed. libxcb-keysyms1 is already the newest version (0.4.1-1+b2). libxcb-keysyms1 set to manually installed. libtext-unidecode-perl is already the newest version (1.30-3). libtext-unidecode-perl set to manually installed. lintian is already the newest version (2.137.1). lintian set to manually installed. libx11-dev is already the newest version (2:1.8.13-1). libx11-dev set to manually installed. libglx-dev is already the newest version (1.7.0-3+b1). libglx-dev set to manually installed. libpangocairo-1.0-0 is already the newest version (1.58.0-1). libpangocairo-1.0-0 set to manually installed. appstream is already the newest version (1.1.3-1). appstream set to manually installed. libdrm2 is already the newest version (2.4.134-3). libdrm2 set to manually installed. octave-datatypes is already the newest version (1.2.6-1). octave-datatypes set to manually installed. liberror-perl is already the newest version (0.17030-1). liberror-perl set to manually installed. libhdf5-hl-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-hl-310 set to manually installed. zlib1g-dev is already the newest version (1:1.3.dfsg+really1.3.2-3). zlib1g-dev set to manually installed. fonts-freefont-otf is already the newest version (20211204+svn4273-4). fonts-freefont-otf set to manually installed. libdatetime-locale-perl is already the newest version (1:1.45-1). libdatetime-locale-perl set to manually installed. libheif-plugin-dav1d is already the newest version (1.23.1-1). libheif-plugin-dav1d set to manually installed. libgssapi-krb5-2 is already the newest version (1.22.1-3). libgssapi-krb5-2 set to manually installed. liblist-moreutils-xs-perl is already the newest version (0.430-4+b2). liblist-moreutils-xs-perl set to manually installed. libxcb-shm0 is already the newest version (1.17.0-2+b2). libxcb-shm0 set to manually installed. libmro-compat-perl is already the newest version (0.15-2). libmro-compat-perl set to manually installed. libunbound8 is already the newest version (1.25.1-1+b1). libunbound8 set to manually installed. libtry-tiny-perl is already the newest version (0.32-1). libtry-tiny-perl set to manually installed. libqt6dbus6 is already the newest version (6.10.2+dfsg-15). libqt6dbus6 set to manually installed. libpath-tiny-perl is already the newest version (0.150-1). libpath-tiny-perl set to manually installed. gnuplot-nox is already the newest version (6.0.3+dfsg1-1). gnuplot-nox set to manually installed. libfreetype6 is already the newest version (2.14.3+dfsg-1). libfreetype6 set to manually installed. libsub-quote-perl is already the newest version (2.006009-1). libsub-quote-perl set to manually installed. libxinerama1 is already the newest version (2:1.1.4-3+b5). libxinerama1 set to manually installed. libssl3t64 is already the newest version (3.6.3-1). libmime-tools-perl is already the newest version (5.517-1). libmime-tools-perl set to manually installed. libglx-mesa0 is already the newest version (26.1.4-1). libglx-mesa0 set to manually installed. libmailtools-perl is already the newest version (2.22-1). libmailtools-perl set to manually installed. perl is already the newest version (5.40.1-8). perl set to manually installed. libglib2.0-0t64 is already the newest version (2.88.2-1). libglib2.0-0t64 set to manually installed. libgl1 is already the newest version (1.7.0-3+b1). libgl1 set to manually installed. libkdb5-10t64 is already the newest version (1.22.1-3). libkdb5-10t64 set to manually installed. libjpeg-dev is already the newest version (1:3.1.3-4). libjpeg-dev set to manually installed. openssl-provider-legacy is already the newest version (3.6.3-1). bsdextrautils is already the newest version (2.42.2-1). bsdextrautils set to manually installed. libqt6core5compat6 is already the newest version (6.10.2-3). libqt6core5compat6 set to manually installed. libxcb-xfixes0 is already the newest version (1.17.0-2+b2). libxcb-xfixes0 set to manually installed. libproc-processtable-perl is already the newest version (0.637-1+b2). libproc-processtable-perl set to manually installed. libpsl-dev is already the newest version (0.22.0-1). libpsl-dev set to manually installed. libgfortran5 is already the newest version (16.1.0-2). libgfortran5 set to manually installed. libcapture-tiny-perl is already the newest version (0.50-1). libcapture-tiny-perl set to manually installed. base-files is already the newest version (14.2). gettext-base is already the newest version (1.0-3). gettext-base set to manually installed. libconfig-tiny-perl is already the newest version (2.30-1). libconfig-tiny-perl set to manually installed. libx11-xcb1 is already the newest version (2:1.8.13-1). libx11-xcb1 set to manually installed. libxfixes3 is already the newest version (1:6.0.0-2+b5). libxfixes3 set to manually installed. make is already the newest version (4.4.1-3). make set to manually installed. libproc2-1 is already the newest version (2:4.0.6-2). libproc2-1 set to manually installed. xorg-sgml-doctools is already the newest version (1:1.12.1-1). xorg-sgml-doctools set to manually installed. libappstream5 is already the newest version (1.1.3-1). libappstream5 set to manually installed. libgraphicsmagick-q16-3t64 is already the newest version (1.4+really1.3.46-2). libgraphicsmagick-q16-3t64 set to manually installed. libsasl2-modules-db is already the newest version (2.1.28+dfsg1-11). libsasl2-modules-db set to manually installed. libreadonly-perl is already the newest version (2.050-3). libreadonly-perl set to manually installed. libsndfile1 is already the newest version (1.2.2-4+b1). libsndfile1 set to manually installed. libconfig-model-backend-yaml-perl is already the newest version (2.134-2). libconfig-model-backend-yaml-perl set to manually installed. libhogweed6t64 is already the newest version (3.10.2-1+b1). libhogweed6t64 set to manually installed. liblwp-mediatypes-perl is already the newest version (6.04-2). liblwp-mediatypes-perl set to manually installed. libnetaddr-ip-perl is already the newest version (4.079+dfsg-2+b5). libnetaddr-ip-perl set to manually installed. libexporter-tiny-perl is already the newest version (1.006003-1). libexporter-tiny-perl set to manually installed. libsafe-isa-perl is already the newest version (1.000010-1). libsafe-isa-perl set to manually installed. octave-dev is already the newest version (11.3.0-1). octave-dev set to manually installed. libxstring-perl is already the newest version (0.005-2+b5). libxstring-perl set to manually installed. libstdc++6 is already the newest version (16.1.0-2). libstdc++6 set to manually installed. libmodule-implementation-perl is already the newest version (0.09-2). libmodule-implementation-perl set to manually installed. autotools-dev is already the newest version (20240727.1+nmu1). autotools-dev set to manually installed. gcc-16-base is already the newest version (16.1.0-2). libtext-markdown-discount-perl is already the newest version (0.18-1). libtext-markdown-discount-perl set to manually installed. libtext-xslate-perl is already the newest version (3.5.9-2+b2). libtext-xslate-perl set to manually installed. fontconfig is already the newest version (2.17.1-5). fontconfig set to manually installed. gpg is already the newest version (2.4.9-7). gpg set to manually installed. libgmp-dev is already the newest version (2:6.3.0+dfsg-5+b2). libgmp-dev set to manually installed. dpkg is already the newest version (1.23.7). libmagic-mgc is already the newest version (1:5.47-4). libmagic-mgc set to manually installed. libncurses6 is already the newest version (6.6+20260608-2). libncurses6 set to manually installed. libimagequant0 is already the newest version (4.4.1-1+b2). libimagequant0 set to manually installed. libipc-system-simple-perl is already the newest version (1.30-2). libipc-system-simple-perl set to manually installed. procps is already the newest version (2:4.0.6-2). procps set to manually installed. libxcb-sync1 is already the newest version (1.17.0-2+b2). libxcb-sync1 set to manually installed. gfortran-15 is already the newest version (15.3.0-1). gfortran-15 set to manually installed. libngtcp2-dev is already the newest version (1.22.1-1). libngtcp2-dev set to manually installed. libpkgconf7 is already the newest version (2.5.1-4). libpkgconf7 set to manually installed. libxpm4 is already the newest version (1:3.5.19-1). libxpm4 set to manually installed. automake is already the newest version (1:1.18.1-4). automake set to manually installed. libxml-libxml-perl is already the newest version (2.0207+dfsg+really+2.0134-8). libxml-libxml-perl set to manually installed. libdebconfclient0 is already the newest version (0.283). libcxsparse4 is already the newest version (1:7.12.2+dfsg-1). libcxsparse4 set to manually installed. libidn2-0 is already the newest version (2.3.8-5). libidn2-0 set to manually installed. libyaml-tiny-perl is already the newest version (1.76-1). libyaml-tiny-perl set to manually installed. libngtcp2-crypto-gnutls8 is already the newest version (1.22.1-1). libngtcp2-crypto-gnutls8 set to manually installed. libio-socket-ssl-perl is already the newest version (2.099-1). libio-socket-ssl-perl set to manually installed. gcc-i686-linux-gnu is already the newest version (4:15.2.0-5+b1). gcc-i686-linux-gnu set to manually installed. libdouble-conversion3 is already the newest version (3.4.0-1+b1). libdouble-conversion3 set to manually installed. libreadline8t64 is already the newest version (8.3-4). libreadline8t64 set to manually installed. libxxhash0 is already the newest version (0.8.3-2+b2). libxxhash0 set to manually installed. libperlio-gzip-perl is already the newest version (0.20-1+b4). libperlio-gzip-perl set to manually installed. libpipeline1 is already the newest version (1.5.8-3). libpipeline1 set to manually installed. libcap-ng0 is already the newest version (0.9.3-1+b1). libglx0 is already the newest version (1.7.0-3+b1). libglx0 set to manually installed. libdpkg-perl is already the newest version (1.23.7). libdpkg-perl set to manually installed. libyaml-pp-perl is already the newest version (0.41.0-1). libyaml-pp-perl set to manually installed. gcc-15-i686-linux-gnu is already the newest version (15.3.0-1). gcc-15-i686-linux-gnu set to manually installed. libclass-xsaccessor-perl is already the newest version (1.19-4+b5). libclass-xsaccessor-perl set to manually installed. libdevel-size-perl is already the newest version (0.87-1). libdevel-size-perl set to manually installed. libarchive-zip-perl is already the newest version (1.68-1). libarchive-zip-perl set to manually installed. libkrb5support0 is already the newest version (1.22.1-3). libkrb5support0 set to manually installed. libfftw3-long3 is already the newest version (3.3.11-1). libfftw3-long3 set to manually installed. libstring-escape-perl is already the newest version (2010.002-3). libstring-escape-perl set to manually installed. libppix-regexp-perl is already the newest version (0.092-1). libppix-regexp-perl set to manually installed. libsharpyuv0 is already the newest version (1.5.0-0.1+b2). libsharpyuv0 set to manually installed. libvorbis0a is already the newest version (1.3.7-3+b2). libvorbis0a set to manually installed. libxkbcommon-x11-0 is already the newest version (1.13.1-1). libxkbcommon-x11-0 set to manually installed. libvorbisenc2 is already the newest version (1.3.7-3+b2). libvorbisenc2 set to manually installed. libcpanel-json-xs-perl is already the newest version (4.42-1). libcpanel-json-xs-perl set to manually installed. libcurl4-openssl-dev is already the newest version (8.21.0-2). libcurl4-openssl-dev set to manually installed. libarpack2t64 is already the newest version (3.9.1-6+b2). libarpack2t64 set to manually installed. libclass-inspector-perl is already the newest version (1.36-3). libclass-inspector-perl set to manually installed. libdatetime-format-rfc3339-perl is already the newest version (1.10.0-1). libdatetime-format-rfc3339-perl set to manually installed. cpp-i686-linux-gnu is already the newest version (4:15.2.0-5+b1). cpp-i686-linux-gnu set to manually installed. libdatetime-timezone-perl is already the newest version (1:2.69-1+2026c). libdatetime-timezone-perl set to manually installed. libfltk-gl1.4 is already the newest version (1.4.4-4). libfltk-gl1.4 set to manually installed. libx11-data is already the newest version (2:1.8.13-1). libx11-data set to manually installed. liblapack3 is already the newest version (3.12.1-8). liblapack3 set to manually installed. x11-common is already the newest version (1:7.7+26). x11-common set to manually installed. libdatetime-format-builder-perl is already the newest version (0.8300-1). libdatetime-format-builder-perl set to manually installed. libaliased-perl is already the newest version (0.34-3). libaliased-perl set to manually installed. libice6 is already the newest version (2:1.1.1-1+b2). libice6 set to manually installed. libregexp-pattern-perl is already the newest version (0.2.14-3). libregexp-pattern-perl set to manually installed. libsamplerate0 is already the newest version (0.2.2-4+b3). libsamplerate0 set to manually installed. liblist-someutils-perl is already the newest version (0.59-1). liblist-someutils-perl set to manually installed. libhdf5-hl-fortran-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-hl-fortran-310 set to manually installed. libmoox-aliases-perl is already the newest version (0.001006-3). libmoox-aliases-perl set to manually installed. libqt6widgets6 is already the newest version (6.10.2+dfsg-15). libqt6widgets6 set to manually installed. libstring-copyright-perl is already the newest version (0.003014-1). libstring-copyright-perl set to manually installed. t1utils is already the newest version (1.41-4). t1utils set to manually installed. xkb-data is already the newest version (2.47-1). xkb-data set to manually installed. libstring-rewriteprefix-perl is already the newest version (0.009-1). libstring-rewriteprefix-perl set to manually installed. libxcb-xinput0 is already the newest version (1.17.0-2+b2). libxcb-xinput0 set to manually installed. libubsan1 is already the newest version (16.1.0-2). libubsan1 set to manually installed. libkadm5clnt-mit12 is already the newest version (1.22.1-3). libkadm5clnt-mit12 set to manually installed. libsoftware-licensemoreutils-perl is already the newest version (1.009-1). libsoftware-licensemoreutils-perl set to manually installed. libcc1-0 is already the newest version (16.1.0-2). libcc1-0 set to manually installed. libavif16 is already the newest version (1.4.2-1). libavif16 set to manually installed. libconvert-binhex-perl is already the newest version (1.125-3). libconvert-binhex-perl set to manually installed. libparams-classify-perl is already the newest version (0.015-2+b5). libparams-classify-perl set to manually installed. libbrotli1 is already the newest version (1.2.0-3). libbrotli1 set to manually installed. liblz1 is already the newest version (1.16-1). liblz1 set to manually installed. libmount1 is already the newest version (2.42.2-1). patch is already the newest version (2.8-2). patch set to manually installed. libtime-moment-perl is already the newest version (0.46-1). libtime-moment-perl set to manually installed. xtrans-dev is already the newest version (1.6.0-1). xtrans-dev set to manually installed. libyaml-libyaml-perl is already the newest version (0.910.0+ds-1). libyaml-libyaml-perl set to manually installed. liblerc4 is already the newest version (4.1.1+ds-1). liblerc4 set to manually installed. libperl-critic-perl is already the newest version (1.156-1). libperl-critic-perl set to manually installed. libxml-sax-perl is already the newest version (1.02+dfsg-5). libxml-sax-perl set to manually installed. libjson-maybexs-perl is already the newest version (1.004008-1). libjson-maybexs-perl set to manually installed. libsub-install-perl is already the newest version (0.929-1). libsub-install-perl set to manually installed. libblas-dev is already the newest version (3.12.1-8). libblas-dev set to manually installed. libclass-singleton-perl is already the newest version (1.6-2). libclass-singleton-perl set to manually installed. libxcb-cursor0 is already the newest version (0.1.6-1). libxcb-cursor0 set to manually installed. libqt6network6 is already the newest version (6.10.2+dfsg-15). libqt6network6 set to manually installed. dwz is already the newest version (0.16-4). dwz set to manually installed. libdata-optlist-perl is already the newest version (0.114-1). libdata-optlist-perl set to manually installed. libpangoft2-1.0-0 is already the newest version (1.58.0-1). libpangoft2-1.0-0 set to manually installed. m4 is already the newest version (1.4.21-1). m4 set to manually installed. libemail-address-xs-perl is already the newest version (1.05-1+b4). libemail-address-xs-perl set to manually installed. libyaml-0-2 is already the newest version (0.2.5-2+b1). libyaml-0-2 set to manually installed. man-db is already the newest version (2.13.1-1). man-db set to manually installed. libdata-validate-ip-perl is already the newest version (0.31-1). libdata-validate-ip-perl set to manually installed. libtext-levenshtein-damerau-perl is already the newest version (0.41-3). libtext-levenshtein-damerau-perl set to manually installed. libaec0 is already the newest version (1.1.7-1). libaec0 set to manually installed. libarray-intspan-perl is already the newest version (2.004-2). libarray-intspan-perl set to manually installed. libportaudio2 is already the newest version (19.7.0-1+b1). libportaudio2 set to manually installed. libinput10 is already the newest version (1.31.3-1). libinput10 set to manually installed. libdata-validate-domain-perl is already the newest version (0.15-1). libdata-validate-domain-perl set to manually installed. libglpk40 is already the newest version (5.0-3). libglpk40 set to manually installed. libjson-perl is already the newest version (4.10000-1). libjson-perl set to manually installed. libfeature-compat-try-perl is already the newest version (0.05-1). libfeature-compat-try-perl set to manually installed. tex-common is already the newest version (6.20). tex-common set to manually installed. libgl-dev is already the newest version (1.7.0-3+b1). libgl-dev set to manually installed. libiterator-util-perl is already the newest version (0.02+ds1-2). libiterator-util-perl set to manually installed. cpp is already the newest version (4:15.2.0-5+b1). cpp set to manually installed. gzip is already the newest version (1.13-1). liblzo2-2 is already the newest version (2.10-3+b2). liblzo2-2 set to manually installed. libcarp-assert-more-perl is already the newest version (2.9.0-1). libcarp-assert-more-perl set to manually installed. perl-modules-5.40 is already the newest version (5.40.1-8). perl-modules-5.40 set to manually installed. libfftw3-quad3 is already the newest version (3.3.11-1). libfftw3-quad3 set to manually installed. hostname is already the newest version (3.25). libmd0 is already the newest version (1.2.0-2). gnuplot-data is already the newest version (6.0.3+dfsg1-1). gnuplot-data set to manually installed. libfile-which-perl is already the newest version (1.27-2). libfile-which-perl set to manually installed. liblzma5 is already the newest version (5.8.3-1). util-linux is already the newest version (2.42.2-1). libhdf5-fortran-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-fortran-310 set to manually installed. libhttp-date-perl is already the newest version (6.08-1). libhttp-date-perl set to manually installed. libqt6sql6 is already the newest version (6.10.2+dfsg-15). libqt6sql6 set to manually installed. libsub-uplevel-perl is already the newest version (0.2800-3). libsub-uplevel-perl set to manually installed. libintl-perl is already the newest version (1.37-1). libintl-perl set to manually installed. libfile-sharedir-perl is already the newest version (1.118-3). libfile-sharedir-perl set to manually installed. base-passwd is already the newest version (3.6.8). libjpeg62-turbo-dev is already the newest version (1:3.1.3-4). libjpeg62-turbo-dev set to manually installed. libpod-spell-perl is already the newest version (1.27-1). libpod-spell-perl set to manually installed. libqscintilla2-qt6-l10n is already the newest version (2.14.1+dfsg-3). libqscintilla2-qt6-l10n set to manually installed. init-system-helpers is already the newest version (1.69). libclass-tiny-perl is already the newest version (1.008-2). libclass-tiny-perl set to manually installed. libindirect-perl is already the newest version (0.39-2+b4). libindirect-perl set to manually installed. libpam-modules is already the newest version (1.7.0-8). libnet-ssleay-perl is already the newest version (1.96-1). libnet-ssleay-perl set to manually installed. libltdl7 is already the newest version (2.5.4-11). libltdl7 set to manually installed. libspecio-perl is already the newest version (0.53-1). libspecio-perl set to manually installed. libpod-constants-perl is already the newest version (0.19-2). libpod-constants-perl set to manually installed. tzdata is already the newest version (2026b-1). tzdata set to manually installed. libgnutls28-dev is already the newest version (3.8.13-1). libgnutls28-dev set to manually installed. libllvm21 is already the newest version (1:21.1.8-7+b4). libllvm21 set to manually installed. liblwp-protocol-https-perl is already the newest version (6.15-1). liblwp-protocol-https-perl set to manually installed. libxcb-xkb1 is already the newest version (1.17.0-2+b2). libxcb-xkb1 set to manually installed. libclass-method-modifiers-perl is already the newest version (2.15-1). libclass-method-modifiers-perl set to manually installed. libcamd3 is already the newest version (1:7.12.2+dfsg-1). libcamd3 set to manually installed. libfribidi0 is already the newest version (1.0.16-5+b1). libfribidi0 set to manually installed. libdevel-callchecker-perl is already the newest version (0.009-3). libdevel-callchecker-perl set to manually installed. libevdev2 is already the newest version (1.13.6+dfsg-3). libevdev2 set to manually installed. gpgconf is already the newest version (2.4.9-7). gpgconf set to manually installed. libtext-autoformat-perl is already the newest version (1.750000-2). libtext-autoformat-perl set to manually installed. libwebpmux3 is already the newest version (1.5.0-0.1+b2). libwebpmux3 set to manually installed. file is already the newest version (1:5.47-4). file set to manually installed. libavahi-client3 is already the newest version (0.8-18). libavahi-client3 set to manually installed. libaudit-common is already the newest version (1:4.1.2-1). libgpg-error0 is already the newest version (1.61-3). libgpg-error0 set to manually installed. perltidy is already the newest version (20250105-1). perltidy set to manually installed. libjxl0.11 is already the newest version (0.11.2-5). libjxl0.11 set to manually installed. libstdc++-15-dev is already the newest version (15.3.0-1). libstdc++-15-dev set to manually installed. libwww-mechanize-perl is already the newest version (2.22-1). libwww-mechanize-perl set to manually installed. libasan8 is already the newest version (16.1.0-2). libasan8 set to manually installed. libbsd0 is already the newest version (0.12.2-3). libbsd0 set to manually installed. libelf1t64 is already the newest version (0.195-1). libelf1t64 set to manually installed. libxcb1 is already the newest version (1.17.0-2+b2). libxcb1 set to manually installed. libconfig-model-dpkg-perl is already the newest version (3.024). libconfig-model-dpkg-perl set to manually installed. liblapack-dev is already the newest version (3.12.1-8). liblapack-dev set to manually installed. libwmflite-0.2-7 is already the newest version (0.2.14-1). libwmflite-0.2-7 set to manually installed. coreutils is already the newest version (9.10-1). libldap-dev is already the newest version (2.6.13+dfsg-1). libldap-dev set to manually installed. libparams-validate-perl is already the newest version (1.31-2+b4). libparams-validate-perl set to manually installed. libqscintilla2-qt6-15 is already the newest version (2.14.1+dfsg-3). libqscintilla2-qt6-15 set to manually installed. libtimedate-perl is already the newest version (2.3500-1). libtimedate-perl set to manually installed. libldap2 is already the newest version (2.6.13+dfsg-1). libldap2 set to manually installed. libapt-pkg7.0 is already the newest version (3.3.1). libapt-pkg7.0 set to manually installed. unzip is already the newest version (6.0-29). unzip set to manually installed. libpcre2-8-0 is already the newest version (10.46-1+b2). libtiff6 is already the newest version (4.7.2-1). libtiff6 set to manually installed. libxcb-render-util0 is already the newest version (0.3.10-1+b2). libxcb-render-util0 set to manually installed. libfile-basedir-perl is already the newest version (0.09-2). libfile-basedir-perl set to manually installed. binutils is already the newest version (2.46.50.20260617-1). binutils set to manually installed. libconfig-inifiles-perl is already the newest version (3.000003-5). libconfig-inifiles-perl set to manually installed. libfile-listing-perl is already the newest version (6.16-1). libfile-listing-perl set to manually installed. libnghttp3-dev is already the newest version (1.15.0-1). libnghttp3-dev set to manually installed. libtext-glob-perl is already the newest version (0.11-3). libtext-glob-perl set to manually installed. libsub-exporter-progressive-perl is already the newest version (0.001013-3). libsub-exporter-progressive-perl set to manually installed. ncurses-base is already the newest version (6.6+20260608-2). texinfo is already the newest version (7.3-2). texinfo set to manually installed. dh-strip-nondeterminism is already the newest version (1.15.1-1). dh-strip-nondeterminism set to manually installed. libhdf5-hl-cpp-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-hl-cpp-310 set to manually installed. patchutils is already the newest version (0.4.5-1). patchutils set to manually installed. libhtml-tree-perl is already the newest version (5.07-3). libhtml-tree-perl set to manually installed. libkrb5-3 is already the newest version (1.22.1-3). libkrb5-3 set to manually installed. libiterator-perl is already the newest version (0.03+ds1-2). libiterator-perl set to manually installed. libspqr4 is already the newest version (1:7.12.2+dfsg-1). libspqr4 set to manually installed. libexception-class-perl is already the newest version (1.45-1). libexception-class-perl set to manually installed. libdecor-0-0 is already the newest version (0.2.5-1+b1). libdecor-0-0 set to manually installed. libmodule-pluggable-perl is already the newest version (6.3-1). libmodule-pluggable-perl set to manually installed. libogg0 is already the newest version (1.3.6-2+b1). libogg0 set to manually installed. libuuid1 is already the newest version (2.42.2-1). libxcb1-dev is already the newest version (1.17.0-2+b2). libxcb1-dev set to manually installed. libxcb-present0 is already the newest version (1.17.0-2+b2). libxcb-present0 set to manually installed. libp11-kit-dev is already the newest version (0.26.4-1). libp11-kit-dev set to manually installed. libpod-parser-perl is already the newest version (1.67-1). libpod-parser-perl set to manually installed. libsort-versions-perl is already the newest version (1.62-3). libsort-versions-perl set to manually installed. libsub-exporter-perl is already the newest version (0.990-1). libsub-exporter-perl set to manually installed. libde265-0 is already the newest version (1.1.1-1). libde265-0 set to manually installed. libfont-ttf-perl is already the newest version (1.06-2). libfont-ttf-perl set to manually installed. fontconfig-config is already the newest version (2.17.1-5). fontconfig-config set to manually installed. libxext6 is already the newest version (2:1.3.4-1+b4). libxext6 set to manually installed. libwww-perl is already the newest version (6.83-1). libwww-perl set to manually installed. libclass-load-perl is already the newest version (0.25-2). libclass-load-perl set to manually installed. libxcb-randr0 is already the newest version (1.17.0-2+b2). libxcb-randr0 set to manually installed. libopus0 is already the newest version (1.6.1-1+b1). libopus0 set to manually installed. libwayland-egl1 is already the newest version (1.25.0-2). libwayland-egl1 set to manually installed. libsoftware-copyright-perl is already the newest version (0.015-1). libsoftware-copyright-perl set to manually installed. libaudit1 is already the newest version (1:4.1.2-1+b1). libavahi-common-data is already the newest version (0.8-18). libavahi-common-data set to manually installed. libtext-charwidth-perl is already the newest version (0.04-12). libtext-charwidth-perl set to manually installed. libgnutls-dane0t64 is already the newest version (3.8.13-1). libgnutls-dane0t64 set to manually installed. libsystemd0 is already the newest version (261.1-2). libharfbuzz0b is already the newest version (12.3.2-2+b2). libharfbuzz0b set to manually installed. libcgi-pm-perl is already the newest version (4.72-1). libcgi-pm-perl set to manually installed. libatomic1 is already the newest version (16.1.0-2). libatomic1 set to manually installed. libbrotli-dev is already the newest version (1.2.0-3). libbrotli-dev set to manually installed. libqt6openglwidgets6 is already the newest version (6.10.2+dfsg-15). libqt6openglwidgets6 set to manually installed. debianutils is already the newest version (5.23.2). libheif1 is already the newest version (1.23.1-1). libheif1 set to manually installed. libdynaloader-functions-perl is already the newest version (0.004-2). libdynaloader-functions-perl set to manually installed. liblog-any-perl is already the newest version (1.720-1). liblog-any-perl set to manually installed. libncurses-dev is already the newest version (6.6+20260608-2). libncurses-dev set to manually installed. libwayland-cursor0 is already the newest version (1.25.0-2). libwayland-cursor0 set to manually installed. libsasl2-2 is already the newest version (2.1.28+dfsg1-11). libsasl2-2 set to manually installed. libaec-dev is already the newest version (1.1.7-1). libaec-dev set to manually installed. libitm1 is already the newest version (16.1.0-2). libitm1 set to manually installed. octave-io is already the newest version (2.7.2-1). octave-io set to manually installed. libuchardet0 is already the newest version (0.0.8-2+b2). libuchardet0 set to manually installed. libmarkdown2 is already the newest version (2.2.7-2.1+b2). libmarkdown2 set to manually installed. libbinutils is already the newest version (2.46.50.20260617-1). libbinutils set to manually installed. libsoftware-license-perl is already the newest version (0.104007-1). libsoftware-license-perl set to manually installed. libassuan9 is already the newest version (3.0.2-2+b2). libassuan9 set to manually installed. pci.ids is already the newest version (0.0~2026.07.06-1). pci.ids set to manually installed. libnumber-compare-perl is already the newest version (0.03-3). libnumber-compare-perl set to manually installed. cpp-15 is already the newest version (15.3.0-1). cpp-15 set to manually installed. libattr1 is already the newest version (1:2.6.0-1). libppix-utils-perl is already the newest version (0.003-2). libppix-utils-perl set to manually installed. libzstd1 is already the newest version (1.5.7+dfsg-3+b2). libxmlb2 is already the newest version (0.3.28-1). libxmlb2 set to manually installed. binutils-i686-linux-gnu is already the newest version (2.46.50.20260617-1). binutils-i686-linux-gnu set to manually installed. libcurl4-gnutls is already the newest version (8.21.0-2). libcurl4-gnutls set to manually installed. libcholmod5 is already the newest version (1:7.12.2+dfsg-1). libcholmod5 set to manually installed. libtasn1-6 is already the newest version (4.21.0-2+b1). libtasn1-6 set to manually installed. libxshmfence1 is already the newest version (1.3.3-1+b2). libxshmfence1 set to manually installed. libdeflate0 is already the newest version (1.25-1). libdeflate0 set to manually installed. libacl1 is already the newest version (2.4.0-1). debhelper is already the newest version (14.3). debhelper set to manually installed. libbz2-1.0 is already the newest version (1.0.8-6+b2). libdav1d7 is already the newest version (1.5.3-1+b2). libdav1d7 set to manually installed. openssl is already the newest version (3.6.3-1). openssl set to manually installed. libencode-locale-perl is already the newest version (1.05-3). libencode-locale-perl set to manually installed. libfile-stripnondeterminism-perl is already the newest version (1.15.1-1). libfile-stripnondeterminism-perl set to manually installed. libx11-6 is already the newest version (2:1.8.13-1). libx11-6 set to manually installed. plzip is already the newest version (1.13-1). plzip set to manually installed. libglvnd0 is already the newest version (1.7.0-3+b1). libglvnd0 set to manually installed. libalgorithm-c3-perl is already the newest version (0.11-2). libalgorithm-c3-perl set to manually installed. libnamespace-clean-perl is already the newest version (0.27-2). libnamespace-clean-perl set to manually installed. libpango-1.0-0 is already the newest version (1.58.0-1). libpango-1.0-0 set to manually installed. libc-bin is already the newest version (2.42-17). libegl1 is already the newest version (1.7.0-3+b1). libegl1 set to manually installed. libstemmer0d is already the newest version (3.1.1-1). libstemmer0d set to manually installed. libvariable-magic-perl is already the newest version (0.64-1+b1). libvariable-magic-perl set to manually installed. libdatrie1 is already the newest version (0.2.14-2). libdatrie1 set to manually installed. grep is already the newest version (3.12-1). dpkg-dev is already the newest version (1.23.7). dpkg-dev set to manually installed. liblcms2-2 is already the newest version (2.19.1-1). liblcms2-2 set to manually installed. libfltk1.4 is already the newest version (1.4.4-4). libfltk1.4 set to manually installed. libmousex-strictconstructor-perl is already the newest version (0.02-3). libmousex-strictconstructor-perl set to manually installed. libamd3 is already the newest version (1:7.12.2+dfsg-1). libamd3 set to manually installed. libp11-kit0 is already the newest version (0.26.4-1). libp11-kit0 set to manually installed. libsereal-decoder-perl is already the newest version (5.006+ds-1). libsereal-decoder-perl set to manually installed. libppix-quotelike-perl is already the newest version (0.024-1). libppix-quotelike-perl set to manually installed. gcc-15-base is already the newest version (15.3.0-1). gcc-15-base set to manually installed. libblas3 is already the newest version (3.12.1-8). libblas3 set to manually installed. libfftw3-double3 is already the newest version (3.3.11-1). libfftw3-double3 set to manually installed. libmousex-nativetraits-perl is already the newest version (1.09-3). libmousex-nativetraits-perl set to manually installed. libdata-section-perl is already the newest version (0.200008-1). libdata-section-perl set to manually installed. libgdbm6t64 is already the newest version (1.26-1+b2). libgdbm6t64 set to manually installed. libexporter-lite-perl is already the newest version (0.09-2). libexporter-lite-perl set to manually installed. libblkid1 is already the newest version (2.42.2-1). libtask-weaken-perl is already the newest version (1.06-2). libtask-weaken-perl set to manually installed. libproxy1v5 is already the newest version (0.5.12-1+b1). libproxy1v5 set to manually installed. libcrypt1 is already the newest version (1:4.5.1-1+b1). libegl-mesa0 is already the newest version (26.1.4-1). libegl-mesa0 set to manually installed. libtoml-tiny-perl is already the newest version (0.22-1). libtoml-tiny-perl set to manually installed. libc-gconv-modules-extra is already the newest version (2.42-17). libpackage-stash-perl is already the newest version (0.40-1). libpackage-stash-perl set to manually installed. libflac14 is already the newest version (1.5.0+ds-5+b1). libflac14 set to manually installed. libmtdev1t64 is already the newest version (1.1.7-1+b2). libmtdev1t64 set to manually installed. libnpth0t64 is already the newest version (1.8-3+b2). libnpth0t64 set to manually installed. rpcsvc-proto is already the newest version (1.4.4-1). rpcsvc-proto set to manually installed. libgomp1 is already the newest version (16.1.0-2). libgomp1 set to manually installed. libwayland-client0 is already the newest version (1.25.0-2). libwayland-client0 set to manually installed. libmldbm-perl is already the newest version (2.05-4). libmldbm-perl set to manually installed. libzstd-dev is already the newest version (1.5.7+dfsg-3+b2). libzstd-dev set to manually installed. libobject-pad-perl is already the newest version (0.825-1). libobject-pad-perl set to manually installed. libcurl4t64 is already the newest version (8.21.0-2). libcurl4t64 set to manually installed. libeval-closure-perl is already the newest version (0.14-3). libeval-closure-perl set to manually installed. libkrb5-dev is already the newest version (1.22.1-3). libkrb5-dev set to manually installed. libparse-debcontrol-perl is already the newest version (2.005-6). libparse-debcontrol-perl set to manually installed. libio-stringy-perl is already the newest version (2.113-2). libio-stringy-perl set to manually installed. libpcre2-16-0 is already the newest version (10.46-1+b2). libpcre2-16-0 set to manually installed. libtext-wrapi18n-perl is already the newest version (0.06-11). libtext-wrapi18n-perl set to manually installed. mesa-libgallium is already the newest version (26.1.4-1). mesa-libgallium set to manually installed. ucf is already the newest version (3.0056). ucf set to manually installed. libngtcp2-crypto-ossl0 is already the newest version (1.22.1-1). libngtcp2-crypto-ossl0 set to manually installed. libidn2-dev is already the newest version (2.3.8-5). libidn2-dev set to manually installed. libqt6opengl6 is already the newest version (6.10.2+dfsg-15). libqt6opengl6 set to manually installed. libsensors-config is already the newest version (1:3.6.2-2). libsensors-config set to manually installed. libdatetime-perl is already the newest version (2:1.65-1+b2). libdatetime-perl set to manually installed. libevent-2.1-7t64 is already the newest version (2.1.13-stable-1). libevent-2.1-7t64 set to manually installed. libinput-bin is already the newest version (1.31.3-1). libinput-bin set to manually installed. libgcc-15-dev is already the newest version (15.3.0-1). libgcc-15-dev set to manually installed. pkgconf-bin is already the newest version (2.5.1-4). pkgconf-bin set to manually installed. libdevel-stacktrace-perl is already the newest version (2.0500-1). libdevel-stacktrace-perl set to manually installed. libfile-libmagic-perl is already the newest version (1.23-2+b2). libfile-libmagic-perl set to manually installed. libheif-plugin-libde265 is already the newest version (1.23.1-1). libheif-plugin-libde265 set to manually installed. libio-html-perl is already the newest version (1.004-3). libio-html-perl set to manually installed. libxs-parse-sublike-perl is already the newest version (0.41-1+b1). libxs-parse-sublike-perl set to manually installed. libgfortran-15-dev is already the newest version (15.3.0-1). libgfortran-15-dev set to manually installed. libnghttp2-14 is already the newest version (1.69.0-1). libnghttp2-14 set to manually installed. libconfig-model-perl is already the newest version (2.165-1). libconfig-model-perl set to manually installed. diffstat is already the newest version (1.69-1). diffstat set to manually installed. libctf-nobfd0 is already the newest version (2.46.50.20260617-1). libctf-nobfd0 set to manually installed. libterm-readkey-perl is already the newest version (2.38-2+b4). libterm-readkey-perl set to manually installed. libwebp7 is already the newest version (1.5.0-0.1+b2). libwebp7 set to manually installed. libts0t64 is already the newest version (1.22-1.1+b2). libts0t64 set to manually installed. libpixman-1-0 is already the newest version (0.46.4-1+b2). libpixman-1-0 set to manually installed. libsuitesparseconfig7 is already the newest version (1:7.12.2+dfsg-1). libsuitesparseconfig7 set to manually installed. autoconf is already the newest version (2.73-2). autoconf set to manually installed. debconf is already the newest version (1.5.92). libdrm-amdgpu1 is already the newest version (2.4.134-3). libdrm-amdgpu1 set to manually installed. libqt6core6t64 is already the newest version (6.10.2+dfsg-15). libqt6core6t64 set to manually installed. libedit2 is already the newest version (3.1-20260512-1). libedit2 set to manually installed. libb-hooks-endofscope-perl is already the newest version (0.28-2). libb-hooks-endofscope-perl set to manually installed. libwww-robotrules-perl is already the newest version (6.03-1). libwww-robotrules-perl set to manually installed. libcolamd3 is already the newest version (1:7.12.2+dfsg-1). libcolamd3 set to manually installed. libreadline-dev is already the newest version (8.3-4). libreadline-dev set to manually installed. dh-octave-autopkgtest is already the newest version (1.16.0). dh-octave-autopkgtest set to manually installed. gfortran is already the newest version (4:15.2.0-5+b1). gfortran set to manually installed. libcurl3t64-gnutls is already the newest version (8.21.0-2). libcurl3t64-gnutls set to manually installed. libclass-c3-perl is already the newest version (0.35-2). libclass-c3-perl set to manually installed. libthai0 is already the newest version (0.1.30-2). libthai0 set to manually installed. zlib1g is already the newest version (1:1.3.dfsg+really1.3.2-3). bzip2 is already the newest version (1.0.8-6+b2). bzip2 set to manually installed. libclone-pp-perl is already the newest version (1.08-2). libclone-pp-perl set to manually installed. libdrm-common is already the newest version (2.4.134-3). libdrm-common set to manually installed. librtmp1 is already the newest version (2.6-1). librtmp1 set to manually installed. libtime-duration-perl is already the newest version (1.21-2). libtime-duration-perl set to manually installed. bash is already the newest version (5.3-3). libhdf5-cpp-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-cpp-310 set to manually installed. libipc-run3-perl is already the newest version (0.049-1). libipc-run3-perl set to manually installed. dash is already the newest version (0.5.12-12). libxdmcp6 is already the newest version (1:1.1.5-2+b1). libxdmcp6 set to manually installed. libisl23 is already the newest version (0.27-2). libisl23 set to manually installed. libxrender1 is already the newest version (1:0.9.12-1+b2). libxrender1 set to manually installed. linux-libc-dev is already the newest version (7.1.3-1). linux-libc-dev set to manually installed. ca-certificates is already the newest version (20260601). ca-certificates set to manually installed. libsub-identify-perl is already the newest version (0.14-4). libsub-identify-perl set to manually installed. libxcb-render0 is already the newest version (1.17.0-2+b2). libxcb-render0 set to manually installed. libhtml-form-perl is already the newest version (6.13-1). libhtml-form-perl set to manually installed. libkadm5srv-mit12 is already the newest version (1.22.1-3). libkadm5srv-mit12 set to manually installed. iso-codes is already the newest version (4.20.1-1). iso-codes set to manually installed. libxs-parse-keyword-perl is already the newest version (0.49-1). libxs-parse-keyword-perl set to manually installed. libapt-pkg-perl is already the newest version (0.1.43). libapt-pkg-perl set to manually installed. hdf5-helpers is already the newest version (1.14.6+repack-2+b1). hdf5-helpers set to manually installed. libgbm1 is already the newest version (26.1.4-1). libgbm1 set to manually installed. libconst-fast-perl is already the newest version (0.014-2). libconst-fast-perl set to manually installed. libregexp-common-perl is already the newest version (2024080801-1). libregexp-common-perl set to manually installed. libnet-http-perl is already the newest version (6.24-1). libnet-http-perl set to manually installed. libgav1-2 is already the newest version (0.20.0-2+b1). libgav1-2 set to manually installed. groff-base is already the newest version (1.24.1-1). groff-base set to manually installed. libk5crypto3 is already the newest version (1.22.1-3). libk5crypto3 set to manually installed. libicu78 is already the newest version (78.3-2). libicu78 set to manually installed. libmpc3 is already the newest version (1.3.1-3). libmpc3 set to manually installed. libsensors5 is already the newest version (1:3.6.2-2+b2). libsensors5 set to manually installed. libhtml-parser-perl is already the newest version (3.83-2). libhtml-parser-perl set to manually installed. libstring-format-perl is already the newest version (1.18-1). libstring-format-perl set to manually installed. libxau-dev is already the newest version (1:1.0.11-1+b2). libxau-dev set to manually installed. libmodule-runtime-perl is already the newest version (0.018-1). libmodule-runtime-perl set to manually installed. comerr-dev is already the newest version (2.1-1.47.4-1). comerr-dev set to manually installed. libudev1 is already the newest version (261.1-2). libnet-smtp-ssl-perl is already the newest version (1.04-2). libnet-smtp-ssl-perl set to manually installed. libxdmcp-dev is already the newest version (1:1.1.5-2+b1). libxdmcp-dev set to manually installed. libssh2-1-dev is already the newest version (1.11.1-4). libssh2-1-dev set to manually installed. libperl5.40 is already the newest version (5.40.1-8). libperl5.40 set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: running --customize-hook in shell: sh -c 'chroot "$1" dpkg -r debootsnap-dummy' exec /srv/rebuilderd/tmp/mmdebstrap.d2mGOx6VVJ (Reading database ... 38419 files and directories currently installed.) Removing debootsnap-dummy (1.0) ... I: running --customize-hook in shell: sh -c 'chroot "$1" dpkg-query --showformat '${binary:Package}=${Version}\n' --show > "$1/pkglist"' exec /srv/rebuilderd/tmp/mmdebstrap.d2mGOx6VVJ I: running special hook: download /pkglist ./pkglist I: running --customize-hook in shell: sh -c 'rm "$1/pkglist"' exec /srv/rebuilderd/tmp/mmdebstrap.d2mGOx6VVJ I: running special hook: upload sources.list /etc/apt/sources.list I: waiting for background processes to finish... I: cleaning package lists and apt cache... I: skipping cleanup/reproducible as requested I: creating tarball... I: done I: removing tempdir /srv/rebuilderd/tmp/mmdebstrap.d2mGOx6VVJ... I: success in 190.1012 seconds Downloading dependency 631 of 687: autoconf:i386=2.73-2 Downloading dependency 632 of 687: debconf:i386=1.5.92 Downloading dependency 633 of 687: libdrm-amdgpu1:i386=2.4.134-3 Downloading dependency 634 of 687: libqt6core6t64:i386=6.10.2+dfsg-15 Downloading dependency 635 of 687: libedit2:i386=3.1-20260512-1 Downloading dependency 636 of 687: libb-hooks-endofscope-perl:i386=0.28-2 Downloading dependency 637 of 687: libwww-robotrules-perl:i386=6.03-1 Downloading dependency 638 of 687: libcolamd3:i386=1:7.12.2+dfsg-1 Downloading dependency 639 of 687: libreadline-dev:i386=8.3-4 Downloading dependency 640 of 687: dh-octave-autopkgtest:i386=1.16.0 Downloading dependency 641 of 687: gfortran:i386=4:15.2.0-5+b1 Downloading dependency 642 of 687: libcurl3t64-gnutls:i386=8.21.0-2 Downloading dependency 643 of 687: libclass-c3-perl:i386=0.35-2 Downloading dependency 644 of 687: libthai0:i386=0.1.30-2 Downloading dependency 645 of 687: zlib1g:i386=1:1.3.dfsg+really1.3.2-3 Downloading dependency 646 of 687: bzip2:i386=1.0.8-6+b2 Downloading dependency 647 of 687: libclone-pp-perl:i386=1.08-2 Downloading dependency 648 of 687: libdrm-common:i386=2.4.134-3 Downloading dependency 649 of 687: librtmp1:i386=2.6-1 Downloading dependency 650 of 687: libtime-duration-perl:i386=1.21-2 Downloading dependency 651 of 687: bash:i386=5.3-3 Downloading dependency 652 of 687: libhdf5-cpp-310:i386=1.14.6+repack-2+b1 Downloading dependency 653 of 687: libipc-run3-perl:i386=0.049-1 Downloading dependency 654 of 687: dash:i386=0.5.12-12 Downloading dependency 655 of 687: libxdmcp6:i386=1:1.1.5-2+b1 Downloading dependency 656 of 687: libisl23:i386=0.27-2 Downloading dependency 657 of 687: libxrender1:i386=1:0.9.12-1+b2 Downloading dependency 658 of 687: linux-libc-dev:i386=7.1.3-1 Downloading dependency 659 of 687: ca-certificates:i386=20260601 Downloading dependency 660 of 687: libsub-identify-perl:i386=0.14-4 Downloading dependency 661 of 687: libxcb-render0:i386=1.17.0-2+b2 Downloading dependency 662 of 687: libhtml-form-perl:i386=6.13-1 Downloading dependency 663 of 687: libkadm5srv-mit12:i386=1.22.1-3 Downloading dependency 664 of 687: iso-codes:i386=4.20.1-1 Downloading dependency 665 of 687: libxs-parse-keyword-perl:i386=0.49-1 Downloading dependency 666 of 687: libapt-pkg-perl:i386=0.1.43 Downloading dependency 667 of 687: hdf5-helpers:i386=1.14.6+repack-2+b1 Downloading dependency 668 of 687: libgbm1:i386=26.1.4-1 Downloading dependency 669 of 687: libconst-fast-perl:i386=0.014-2 Downloading dependency 670 of 687: libregexp-common-perl:i386=2024080801-1 Downloading dependency 671 of 687: libnet-http-perl:i386=6.24-1 Downloading dependency 672 of 687: libgav1-2:i386=0.20.0-2+b1 Downloading dependency 673 of 687: groff-base:i386=1.24.1-1 Downloading dependency 674 of 687: libk5crypto3:i386=1.22.1-3 Downloading dependency 675 of 687: libicu78:i386=78.3-2 Downloading dependency 676 of 687: libmpc3:i386=1.3.1-3 Downloading dependency 677 of 687: libsensors5:i386=1:3.6.2-2+b2 Downloading dependency 678 of 687: libhtml-parser-perl:i386=3.83-2 Downloading dependency 679 of 687: libstring-format-perl:i386=1.18-1 Downloading dependency 680 of 687: libxau-dev:i386=1:1.0.11-1+b2 Downloading dependency 681 of 687: libmodule-runtime-perl:i386=0.018-1 Downloading dependency 682 of 687: comerr-dev:i386=2.1-1.47.4-1 Downloading dependency 683 of 687: libudev1:i386=261.1-2 Downloading dependency 684 of 687: libnet-smtp-ssl-perl:i386=1.04-2 Downloading dependency 685 of 687: libxdmcp-dev:i386=1:1.1.5-2+b1 Downloading dependency 686 of 687: libssh2-1-dev:i386=1.11.1-4 Downloading dependency 687 of 687: libperl5.40:i386=5.40.1-8 env --chdir=/srv/rebuilderd/tmp/rebuilderdfDODFe/out DEB_BUILD_OPTIONS=parallel=6 LANG=C.UTF-8 LC_COLLATE=C.UTF-8 LC_CTYPE=C.UTF-8 SOURCE_DATE_EPOCH=1783842663 SBUILD_CONFIG=/srv/rebuilderd/tmp/debrebuild1FTiaC/debrebuild.sbuildrc.nu9xXFQJ7LUF sbuild --build=i386 --host=i386 --arch-any --no-arch-all --chroot=/srv/rebuilderd/tmp/debrebuild1FTiaC/debrebuild.tar.n9vJNId1C4OW --chroot-mode=unshare --dist=unstable --no-run-lintian --no-run-piuparts --no-run-autopkgtest --no-apt-update --no-apt-upgrade --no-apt-distupgrade --no-source --verbose --nolog --bd-uninstallable-explainer= --build-path=/build/reproducible-path --dsc-dir=octave-statistics-1.8.4 /srv/rebuilderd/tmp/rebuilderdfDODFe/inputs/octave-statistics_1.8.4-1.dsc I: consider moving your ~/.sbuildrc to /srv/rebuilderd/.config/sbuild/config.pl The Debian buildds switched to the "unshare" backend and sbuild will default to it in the future. To start using "unshare" add this to your `~/.config/sbuild/config.pl`: $chroot_mode = "unshare"; If you want to keep the old "schroot" mode even in the future, add the following to your `~/.config/sbuild/config.pl`: $chroot_mode = "schroot"; $schroot = "schroot"; sbuild (Debian sbuild) 0.89.3+deb13u4 (28 December 2025) on infom07-amd64 +==============================================================================+ | octave-statistics 1.8.4-1 (i386) Sat, 18 Jul 2026 11:17:20 +0000 | +==============================================================================+ Package: octave-statistics Version: 1.8.4-1 Source Version: 1.8.4-1 Distribution: unstable Machine Architecture: amd64 Host Architecture: i386 Build Architecture: i386 Build Type: any I: No tarballs found in /srv/rebuilderd/.cache/sbuild I: Unpacking /srv/rebuilderd/tmp/debrebuild1FTiaC/debrebuild.tar.n9vJNId1C4OW to /srv/rebuilderd/tmp/tmp.sbuild.Kdne6AgZCJ... I: Setting up the chroot... I: Creating chroot session... I: Setting up log color... I: Setting up apt archive... +------------------------------------------------------------------------------+ | Fetch source files Sat, 18 Jul 2026 11:17:28 +0000 | +------------------------------------------------------------------------------+ Local sources ------------- /srv/rebuilderd/tmp/rebuilderdfDODFe/inputs/octave-statistics_1.8.4-1.dsc exists in /srv/rebuilderd/tmp/rebuilderdfDODFe/inputs; copying to chroot +------------------------------------------------------------------------------+ | Install package build dependencies Sat, 18 Jul 2026 11:17:30 +0000 | +------------------------------------------------------------------------------+ Setup apt archive ----------------- Merged Build-Depends: debhelper-compat (= 14), dh-octave (>= 1.11.1), dh-sequence-octave, octave, octave-datatypes (>= 1.2.6), octave-io, build-essential Merged Build-Conflicts: octave-nan Filtered Build-Depends: debhelper-compat (= 14), dh-octave (>= 1.11.1), dh-sequence-octave, octave, octave-datatypes (>= 1.2.6), octave-io, build-essential Filtered Build-Conflicts: octave-nan dpkg-deb: building package 'sbuild-build-depends-main-dummy' in '/build/reproducible-path/resolver-orZcVB/apt_archive/sbuild-build-depends-main-dummy.deb'. Install main build dependencies (apt-based resolver) ---------------------------------------------------- Installing build dependencies +------------------------------------------------------------------------------+ | Check architectures Sat, 18 Jul 2026 11:17:34 +0000 | +------------------------------------------------------------------------------+ Arch check ok (i386 included in any all) +------------------------------------------------------------------------------+ | Build environment Sat, 18 Jul 2026 11:17:35 +0000 | +------------------------------------------------------------------------------+ Kernel: Linux 6.12.95+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.95-1 (2026-07-04) amd64 (x86_64) Toolchain package versions: binutils_2.46.50.20260617-1 dpkg-dev_1.23.7 g++-15_15.3.0-1 gcc-15_15.3.0-1 libc6-dev_2.42-17 libstdc++-15-dev_15.3.0-1 libstdc++6_16.1.0-2 linux-libc-dev_7.1.3-1 Package versions: aglfn_1.7+git20191031.4036a9c-2 appstream_1.1.3-1 autoconf_2.73-2 automake_1:1.18.1-4 autopoint_1.0-3 autotools-dev_20240727.1+nmu1 base-files_14.2 base-passwd_3.6.8 bash_5.3-3 binutils_2.46.50.20260617-1 binutils-common_2.46.50.20260617-1 binutils-i686-linux-gnu_2.46.50.20260617-1 bsdextrautils_2.42.2-1 build-essential_12.12 bzip2_1.0.8-6+b2 ca-certificates_20260601 cme_1.049-1 comerr-dev_2.1-1.47.4-1 coreutils_9.10-1 cpp_4:15.2.0-5+b1 cpp-15_15.3.0-1 cpp-15-i686-linux-gnu_15.3.0-1 cpp-i686-linux-gnu_4:15.2.0-5+b1 dash_0.5.12-12 debconf_1.5.92 debhelper_14.3 debianutils_5.23.2 dh-autoreconf_22 dh-octave_1.16.0 dh-octave-autopkgtest_1.16.0 dh-strip-nondeterminism_1.15.1-1 diffstat_1.69-1 diffutils_1:3.12-1 dpkg_1.23.7 dpkg-dev_1.23.7 dwz_0.16-4 file_1:5.47-4 findutils_4.10.0-4 fontconfig_2.17.1-5 fontconfig-config_2.17.1-5 fonts-freefont-otf_20211204+svn4273-4 g++_4:15.2.0-5+b1 g++-15_15.3.0-1 g++-15-i686-linux-gnu_15.3.0-1 g++-i686-linux-gnu_4:15.2.0-5+b1 gcc_4:15.2.0-5+b1 gcc-15_15.3.0-1 gcc-15-base_15.3.0-1 gcc-15-i686-linux-gnu_15.3.0-1 gcc-16-base_16.1.0-2 gcc-i686-linux-gnu_4:15.2.0-5+b1 gettext_1.0-3 gettext-base_1.0-3 gfortran_4:15.2.0-5+b1 gfortran-15_15.3.0-1 gfortran-15-i686-linux-gnu_15.3.0-1 gfortran-i686-linux-gnu_4:15.2.0-5+b1 gnuplot-data_6.0.3+dfsg1-1 gnuplot-nox_6.0.3+dfsg1-1 gpg_2.4.9-7 gpgconf_2.4.9-7 grep_3.12-1 groff-base_1.24.1-1 gzip_1.13-1 hdf5-helpers_1.14.6+repack-2+b1 hostname_3.25 init-system-helpers_1.69 intltool-debian_0.35.0+20060710.6 iso-codes_4.20.1-1 krb5-multidev_1.22.1-3 libabsl20260107_20260107.0-5 libacl1_2.4.0-1 libaec-dev_1.1.7-1 libaec0_1.1.7-1 libalgorithm-c3-perl_0.11-2 libaliased-perl_0.34-3 libamd3_1:7.12.2+dfsg-1 libaom3_3.13.1-2+b1 libapp-cmd-perl_0.340-1 libappstream5_1.1.3-1 libapt-pkg-perl_0.1.43 libapt-pkg7.0_3.3.1 libarchive-zip-perl_1.68-1 libarpack2t64_3.9.1-6+b2 libarray-intspan-perl_2.004-2 libasan8_16.1.0-2 libasound2-data_1.2.16.1-1 libasound2t64_1.2.16.1-1 libassuan9_3.0.2-2+b2 libatomic1_16.1.0-2 libattr1_1:2.6.0-1 libaudit-common_1:4.1.2-1 libaudit1_1:4.1.2-1+b1 libavahi-client3_0.8-18 libavahi-common-data_0.8-18 libavahi-common3_0.8-18 libavif16_1.4.2-1 libb-hooks-endofscope-perl_0.28-2 libb-hooks-op-check-perl_0.22-3+b4 libb-keywords-perl_1.29-1 libb2-1_0.98.1-1.1+b3 libberkeleydb-perl_0.66-2+b1 libbinutils_2.46.50.20260617-1 libblas-dev_3.12.1-8 libblas3_3.12.1-8 libblkid1_2.42.2-1 libboolean-perl_0.46-3 libbrotli-dev_1.2.0-3 libbrotli1_1.2.0-3 libbsd0_0.12.2-3 libbz2-1.0_1.0.8-6+b2 libc-bin_2.42-17 libc-dev-bin_2.42-17 libc-gconv-modules-extra_2.42-17 libc6_2.42-17 libc6-dev_2.42-17 libcairo2_1.18.4-3+b1 libcamd3_1:7.12.2+dfsg-1 libcap-ng0_0.9.3-1+b1 libcapture-tiny-perl_0.50-1 libcarp-assert-more-perl_2.9.0-1 libcc1-0_16.1.0-2 libccolamd3_1:7.12.2+dfsg-1 libcgi-pm-perl_4.72-1 libcholmod5_1:7.12.2+dfsg-1 libclass-c3-perl_0.35-2 libclass-data-inheritable-perl_0.10-1 libclass-inspector-perl_1.36-3 libclass-load-perl_0.25-2 libclass-method-modifiers-perl_2.15-1 libclass-singleton-perl_1.6-2 libclass-tiny-perl_1.008-2 libclass-xsaccessor-perl_1.19-4+b5 libclone-choose-perl_0.010-2 libclone-perl_0.50-1 libclone-pp-perl_1.08-2 libcolamd3_1:7.12.2+dfsg-1 libcom-err2_1.47.4-1 libconfig-inifiles-perl_3.000003-5 libconfig-model-backend-yaml-perl_2.134-2 libconfig-model-dpkg-perl_3.024 libconfig-model-perl_2.165-1 libconfig-tiny-perl_2.30-1 libconst-fast-perl_0.014-2 libconvert-binhex-perl_1.125-3 libcpanel-json-xs-perl_4.42-1 libcrypt1_1:4.5.1-1+b1 libctf-nobfd0_2.46.50.20260617-1 libctf0_2.46.50.20260617-1 libcups2t64_2.4.18-1 libcurl3t64-gnutls_8.21.0-2 libcurl4-gnutls_8.21.0-2 libcurl4-openssl-dev_8.21.0-2 libcurl4t64_8.21.0-2 libcxsparse4_1:7.12.2+dfsg-1 libdata-dpath-perl_0.60-1 libdata-messagepack-perl_1.02-3 libdata-optlist-perl_0.114-1 libdata-section-perl_0.200008-1 libdata-validate-domain-perl_0.15-1 libdata-validate-ip-perl_0.31-1 libdata-validate-uri-perl_0.07-3 libdatetime-format-builder-perl_0.8300-1 libdatetime-format-iso8601-perl_0.19-1 libdatetime-format-rfc3339-perl_1.10.0-1 libdatetime-format-strptime-perl_1.8000-1 libdatetime-locale-perl_1:1.45-1 libdatetime-perl_2:1.65-1+b2 libdatetime-timezone-perl_1:2.69-1+2026c libdatrie1_0.2.14-2 libdav1d7_1.5.3-1+b2 libdb5.3t64_5.3.28+dfsg2-11+b1 libdbus-1-3_1.16.2-5+b1 libde265-0_1.1.1-1 libdebconfclient0_0.283 libdebhelper-perl_14.3 libdecor-0-0_0.2.5-1+b1 libdeflate0_1.25-1 libdevel-callchecker-perl_0.009-3 libdevel-size-perl_0.87-1 libdevel-stacktrace-perl_2.0500-1 libdouble-conversion3_3.4.0-1+b1 libdpkg-perl_1.23.7 libdrm-amdgpu1_2.4.134-3 libdrm-common_2.4.134-3 libdrm-intel1_2.4.134-3 libdrm2_2.4.134-3 libduktape207_2.7.0-2+b3 libdynaloader-functions-perl_0.004-2 libedit2_3.1-20260512-1 libegl-mesa0_26.1.4-1 libegl1_1.7.0-3+b1 libelf1t64_0.195-1 libemail-address-xs-perl_1.05-1+b4 libencode-locale-perl_1.05-3 liberror-perl_0.17030-1 libeval-closure-perl_0.14-3 libevdev2_1.13.6+dfsg-3 libevent-2.1-7t64_2.1.13-stable-1 libexception-class-perl_1.45-1 libexpat1_2.8.2-1 libexporter-lite-perl_0.09-2 libexporter-tiny-perl_1.006003-1 libfeature-compat-class-perl_0.08-1 libfeature-compat-try-perl_0.05-1 libffi8_3.5.2-4 libfftw3-bin_3.3.11-1 libfftw3-dev_3.3.11-1 libfftw3-double3_3.3.11-1 libfftw3-long3_3.3.11-1 libfftw3-quad3_3.3.11-1 libfftw3-single3_3.3.11-1 libfile-basedir-perl_0.09-2 libfile-find-rule-perl_0.35-1 libfile-homedir-perl_1.006-2 libfile-libmagic-perl_1.23-2+b2 libfile-listing-perl_6.16-1 libfile-sharedir-perl_1.118-3 libfile-stripnondeterminism-perl_1.15.1-1 libfile-which-perl_1.27-2 libflac14_1.5.0+ds-5+b1 libfltk-gl1.4_1.4.4-4 libfltk1.4_1.4.4-4 libfont-ttf-perl_1.06-2 libfontconfig1_2.17.1-5 libfreetype6_2.14.3+dfsg-1 libfribidi0_1.0.16-5+b1 libfyaml0_0.9.4-1 libgav1-2_0.20.0-2+b1 libgbm1_26.1.4-1 libgcc-15-dev_15.3.0-1 libgcc-s1_16.1.0-2 libgcrypt20_1.12.2-1 libgd3_2.3.3-13+b2 libgdbm-compat4t64_1.26-1+b2 libgdbm6t64_1.26-1+b2 libgetopt-long-descriptive-perl_0.117-1 libgfortran-15-dev_15.3.0-1 libgfortran5_16.1.0-2 libgl-dev_1.7.0-3+b1 libgl1_1.7.0-3+b1 libgl1-mesa-dri_26.1.4-1 libgl2ps1.4_1.4.2+dfsg1-4+b1 libglib2.0-0t64_2.88.2-1 libglpk40_5.0-3 libglu1-mesa_9.0.2-1.1+b4 libglvnd0_1.7.0-3+b1 libglx-dev_1.7.0-3+b1 libglx-mesa0_26.1.4-1 libglx0_1.7.0-3+b1 libgmp-dev_2:6.3.0+dfsg-5+b2 libgmp10_2:6.3.0+dfsg-5+b2 libgmpxx4ldbl_2:6.3.0+dfsg-5+b2 libgnutls-dane0t64_3.8.13-1 libgnutls28-dev_3.8.13-1 libgnutls30t64_3.8.13-1 libgomp1_16.1.0-2 libgpg-error0_1.61-3 libgprofng0_2.46.50.20260617-1 libgraphicsmagick++-q16-12t64_1.4+really1.3.46-2 libgraphicsmagick-q16-3t64_1.4+really1.3.46-2 libgraphite2-3_1.3.15-2 libgssapi-krb5-2_1.22.1-3 libgssrpc4t64_1.22.1-3 libgudev-1.0-0_238-7+b2 libharfbuzz0b_12.3.2-2+b2 libhash-merge-perl_0.302-1 libhdf5-310_1.14.6+repack-2+b1 libhdf5-cpp-310_1.14.6+repack-2+b1 libhdf5-dev_1.14.6+repack-2+b1 libhdf5-fortran-310_1.14.6+repack-2+b1 libhdf5-hl-310_1.14.6+repack-2+b1 libhdf5-hl-cpp-310_1.14.6+repack-2+b1 libhdf5-hl-fortran-310_1.14.6+repack-2+b1 libheif-plugin-dav1d_1.23.1-1 libheif-plugin-libde265_1.23.1-1 libheif1_1.23.1-1 libhogweed6t64_3.10.2-1+b1 libhtml-form-perl_6.13-1 libhtml-html5-entities-perl_0.004-3 libhtml-parser-perl_3.83-2 libhtml-tagset-perl_3.24-1 libhtml-tokeparser-simple-perl_3.16-4 libhtml-tree-perl_5.07-3 libhttp-cookies-perl_6.11-1 libhttp-date-perl_6.08-1 libhttp-message-perl_7.02-1 libhttp-negotiate-perl_6.01-2 libhwy1t64_1.3.0-2+b1 libice6_2:1.1.1-1+b2 libicu78_78.3-2 libidn2-0_2.3.8-5 libidn2-dev_2.3.8-5 libimagequant0_4.4.1-1+b2 libimport-into-perl_1.002005-2 libindirect-perl_0.39-2+b4 libinput-bin_1.31.3-1 libinput10_1.31.3-1 libintl-perl_1.37-1 libio-html-perl_1.004-3 libio-interactive-perl_1.027-1 libio-socket-ssl-perl_2.099-1 libio-string-perl_1.08-4 libio-stringy-perl_2.113-2 libio-tiecombine-perl_1.005-3 libipc-run3-perl_0.049-1 libipc-system-simple-perl_1.30-2 libisl23_0.27-2 libiterator-perl_0.03+ds1-2 libiterator-util-perl_0.02+ds1-2 libitm1_16.1.0-2 libjack-jackd2-0_1.9.22~dfsg-5+b2 libjansson4_2.15.1-1 libjbig0_2.1-6.1+b3 libjpeg-dev_1:3.1.3-4 libjpeg62-turbo_1:3.1.3-4 libjpeg62-turbo-dev_1:3.1.3-4 libjson-maybexs-perl_1.004008-1 libjson-perl_4.10000-1 libjxl0.11_0.11.2-5 libk5crypto3_1.22.1-3 libkadm5clnt-mit12_1.22.1-3 libkadm5srv-mit12_1.22.1-3 libkdb5-10t64_1.22.1-3 libkeyutils1_1.6.3-6+b2 libkrb5-3_1.22.1-3 libkrb5-dev_1.22.1-3 libkrb5support0_1.22.1-3 libksba8_1.8.0-3 liblapack-dev_3.12.1-8 liblapack3_3.12.1-8 liblcms2-2_2.19.1-1 libldap-dev_2.6.13+dfsg-1 libldap2_2.6.13+dfsg-1 liblerc4_4.1.1+ds-1 liblingua-en-inflect-perl_1.905-2 liblist-compare-perl_0.55-2 liblist-moreutils-perl_0.430-2 liblist-moreutils-xs-perl_0.430-4+b2 liblist-someutils-perl_0.59-1 liblist-utilsby-perl_0.12-2 libllvm21_1:21.1.8-7+b4 liblog-any-adapter-screen-perl_0.141-2 liblog-any-perl_1.720-1 liblog-log4perl-perl_1.57-1 libltdl7_2.5.4-11 liblua5.4-0_5.4.8-2 liblwp-mediatypes-perl_6.04-2 liblwp-protocol-https-perl_6.15-1 liblz1_1.16-1 liblz4-1_1.10.0-10 liblzma5_5.8.3-1 liblzo2-2_2.10-3+b2 libmagic-mgc_1:5.47-4 libmagic1t64_1:5.47-4 libmailtools-perl_2.22-1 libmarkdown2_2.2.7-2.1+b2 libmd0_1.2.0-2 libmd4c0_0.5.3-1 libmime-tools-perl_5.517-1 libmldbm-perl_2.05-4 libmodule-implementation-perl_0.09-2 libmodule-pluggable-perl_6.3-1 libmodule-runtime-perl_0.018-1 libmoo-perl_2.005005-1 libmoox-aliases-perl_0.001006-3 libmount1_2.42.2-1 libmouse-perl_2.6.2-1 libmousex-nativetraits-perl_1.09-3 libmousex-strictconstructor-perl_0.02-3 libmp3lame0_3.101~svn6531+dfsg-1 libmpc3_1.3.1-3 libmpfr6_4.2.2-3 libmpg123-0t64_1.33.6-1 libmro-compat-perl_0.15-2 libmtdev1t64_1.1.7-1+b2 libnamespace-autoclean-perl_0.31-1 libnamespace-clean-perl_0.27-2 libncurses-dev_6.6+20260608-2 libncurses6_6.6+20260608-2 libncursesw6_6.6+20260608-2 libnet-domain-tld-perl_1.75-4 libnet-http-perl_6.24-1 libnet-ipv6addr-perl_1.02-1 libnet-netmask-perl_2.0003-1 libnet-smtp-ssl-perl_1.04-2 libnet-ssleay-perl_1.96-1 libnetaddr-ip-perl_4.079+dfsg-2+b5 libnettle8t64_3.10.2-1+b1 libnghttp2-14_1.69.0-1 libnghttp2-dev_1.69.0-1 libnghttp3-9_1.15.0-1 libnghttp3-dev_1.15.0-1 libngtcp2-16_1.22.1-1 libngtcp2-crypto-gnutls8_1.22.1-1 libngtcp2-crypto-ossl-dev_1.22.1-1 libngtcp2-crypto-ossl0_1.22.1-1 libngtcp2-dev_1.22.1-1 libnpth0t64_1.8-3+b2 libnumber-compare-perl_0.03-3 libobject-pad-perl_0.825-1 libogg0_1.3.6-2+b1 libopengl0_1.7.0-3+b1 libopus0_1.6.1-1+b1 libp11-kit-dev_0.26.4-1 libp11-kit0_0.26.4-1 libpackage-stash-perl_0.40-1 libpam-modules_1.7.0-8 libpam-modules-bin_1.7.0-8 libpam-runtime_1.7.0-8 libpam0g_1.7.0-8 libpango-1.0-0_1.58.0-1 libpangocairo-1.0-0_1.58.0-1 libpangoft2-1.0-0_1.58.0-1 libparams-classify-perl_0.015-2+b5 libparams-util-perl_1.102-3+b1 libparams-validate-perl_1.31-2+b4 libparams-validationcompiler-perl_0.31-1 libparse-debcontrol-perl_2.005-6 libparse-recdescent-perl_1.967015+dfsg-4 libpath-iterator-rule-perl_1.015-2 libpath-tiny-perl_0.150-1 libpciaccess0_0.19-2 libpcre2-16-0_10.46-1+b2 libpcre2-8-0_10.46-1+b2 libperl-critic-perl_1.156-1 libperl5.40_5.40.1-8 libperlio-gzip-perl_0.20-1+b4 libperlio-utf8-strict-perl_0.010-1+b3 libpipeline1_1.5.8-3 libpixman-1-0_0.46.4-1+b2 libpkgconf7_2.5.1-4 libpng16-16t64_1.6.58-1 libpod-constants-perl_0.19-2 libpod-parser-perl_1.67-1 libpod-pom-perl_2.01-4 libpod-spell-perl_1.27-1 libportaudio2_19.7.0-1+b1 libppi-perl_1.291-1 libppix-quotelike-perl_0.024-1 libppix-regexp-perl_0.092-1 libppix-utils-perl_0.003-2 libproc-processtable-perl_0.637-1+b2 libproc2-1_2:4.0.6-2 libproxy1v5_0.5.12-1+b1 libpsl-dev_0.22.0-1 libpsl5t64_0.22.0-1 libqhull-r8.0_2020.2-9 libqrupdate1_1.1.5-3+b1 libqscintilla2-qt6-15_2.14.1+dfsg-3 libqscintilla2-qt6-l10n_2.14.1+dfsg-3 libqt6core5compat6_6.10.2-3 libqt6core6t64_6.10.2+dfsg-15 libqt6dbus6_6.10.2+dfsg-15 libqt6gui6_6.10.2+dfsg-15 libqt6help6_6.10.2-3 libqt6network6_6.10.2+dfsg-15 libqt6opengl6_6.10.2+dfsg-15 libqt6openglwidgets6_6.10.2+dfsg-15 libqt6printsupport6_6.10.2+dfsg-15 libqt6sql6_6.10.2+dfsg-15 libqt6widgets6_6.10.2+dfsg-15 libqt6xml6_6.10.2+dfsg-15 libquadmath0_16.1.0-2 librav1e0.8_0.8.1-10 libreadline-dev_8.3-4 libreadline8t64_8.3-4 libreadonly-perl_2.050-3 libregexp-common-perl_2024080801-1 libregexp-pattern-license-perl_3.11.2-1 libregexp-pattern-perl_0.2.14-3 libregexp-wildcards-perl_1.05-3 librole-tiny-perl_2.002005-1 librtmp-dev_2.6-1 librtmp1_2.6-1 libsafe-isa-perl_1.000010-1 libsamplerate0_0.2.2-4+b3 libsasl2-2_2.1.28+dfsg1-11 libsasl2-modules-db_2.1.28+dfsg1-11 libseccomp2_2.6.0-2+b1 libselinux1_3.10-1 libsensors-config_1:3.6.2-2 libsensors5_1:3.6.2-2+b2 libsereal-decoder-perl_5.006+ds-1 libsereal-encoder-perl_5.006+ds-1 libset-intspan-perl_1.19-3 libsframe3_2.46.50.20260617-1 libsharpyuv0_1.5.0-0.1+b2 libsm6_2:1.2.6-1+b2 libsmartcols1_2.42.2-1 libsndfile1_1.2.2-4+b1 libsoftware-copyright-perl_0.015-1 libsoftware-license-perl_0.104007-1 libsoftware-licensemoreutils-perl_1.009-1 libsort-versions-perl_1.62-3 libspecio-perl_0.53-1 libspqr4_1:7.12.2+dfsg-1 libsqlite3-0_3.53.3-1 libssh2-1-dev_1.11.1-4 libssh2-1t64_1.11.1-4 libssl-dev_3.6.3-1 libssl3t64_3.6.3-1 libstdc++-15-dev_15.3.0-1 libstdc++6_16.1.0-2 libstemmer0d_3.1.1-1 libstrictures-perl_2.000006-1 libstring-copyright-perl_0.003014-1 libstring-escape-perl_2010.002-3 libstring-format-perl_1.18-1 libstring-license-perl_0.0.11-1 libstring-rewriteprefix-perl_0.009-1 libsub-exporter-perl_0.990-1 libsub-exporter-progressive-perl_0.001013-3 libsub-identify-perl_0.14-4 libsub-install-perl_0.929-1 libsub-name-perl_0.28-1+b2 libsub-quote-perl_2.006009-1 libsub-uplevel-perl_0.2800-3 libsuitesparseconfig7_1:7.12.2+dfsg-1 libsvtav1enc4_4.1.0+dfsg-1 libsyntax-keyword-try-perl_0.31-1 libsystemd0_261.1-2 libsz2_1.1.7-1 libtask-weaken-perl_1.06-2 libtasn1-6_4.21.0-2+b1 libtasn1-6-dev_4.21.0-2+b1 libterm-readkey-perl_2.38-2+b4 libtest-exception-perl_0.43-3 libtext-autoformat-perl_1.750000-2 libtext-charwidth-perl_0.04-12 libtext-glob-perl_0.11-3 libtext-levenshtein-damerau-perl_0.41-3 libtext-levenshteinxs-perl_0.03-5+b4 libtext-markdown-discount-perl_0.18-1 libtext-reform-perl_1.20-5 libtext-template-perl_1.61-1 libtext-unidecode-perl_1.30-3 libtext-wrapi18n-perl_0.06-11 libtext-wrapper-perl_1.05-4 libtext-xslate-perl_3.5.9-2+b2 libthai-data_0.1.30-2 libthai0_0.1.30-2 libtiff6_4.7.2-1 libtime-duration-perl_1.21-2 libtime-moment-perl_0.46-1 libtimedate-perl_2.3500-1 libtinfo6_6.6+20260608-2 libtoml-tiny-perl_0.22-1 libtool_2.5.4-11 libtry-tiny-perl_0.32-1 libts0t64_1.22-1.1+b2 libubsan1_16.1.0-2 libuchardet0_0.0.8-2+b2 libudev1_261.1-2 libumfpack6_1:7.12.2+dfsg-1 libunbound8_1.25.1-1+b1 libunicode-utf8-perl_0.72-1 libunistring-dev_1.4.2-1 libunistring5_1.4.2-1 liburi-perl_5.35-1 libuuid1_2.42.2-1 libvariable-magic-perl_0.64-1+b1 libvorbis0a_1.3.7-3+b2 libvorbisenc2_1.3.7-3+b2 libvulkan1_1.4.341.0-1 libwacom-common_2.18.0-1 libwacom9_2.18.0-1 libwayland-client0_1.25.0-2 libwayland-cursor0_1.25.0-2 libwayland-egl1_1.25.0-2 libwebp7_1.5.0-0.1+b2 libwebpmux3_1.5.0-0.1+b2 libwmflite-0.2-7_0.2.14-1 libwww-mechanize-perl_2.22-1 libwww-perl_6.83-1 libwww-robotrules-perl_6.03-1 libx11-6_2:1.8.13-1 libx11-data_2:1.8.13-1 libx11-dev_2:1.8.13-1 libx11-xcb1_2:1.8.13-1 libxau-dev_1:1.0.11-1+b2 libxau6_1:1.0.11-1+b2 libxcb-cursor0_0.1.6-1 libxcb-dri3-0_1.17.0-2+b2 libxcb-glx0_1.17.0-2+b2 libxcb-icccm4_0.4.2-1+b2 libxcb-image0_0.4.0-2+b3 libxcb-keysyms1_0.4.1-1+b2 libxcb-present0_1.17.0-2+b2 libxcb-randr0_1.17.0-2+b2 libxcb-render-util0_0.3.10-1+b2 libxcb-render0_1.17.0-2+b2 libxcb-shape0_1.17.0-2+b2 libxcb-shm0_1.17.0-2+b2 libxcb-sync1_1.17.0-2+b2 libxcb-util1_0.4.1-1+b2 libxcb-xfixes0_1.17.0-2+b2 libxcb-xinput0_1.17.0-2+b2 libxcb-xkb1_1.17.0-2+b2 libxcb1_1.17.0-2+b2 libxcb1-dev_1.17.0-2+b2 libxcursor1_1:1.2.3-1+b2 libxdmcp-dev_1:1.1.5-2+b1 libxdmcp6_1:1.1.5-2+b1 libxext6_2:1.3.4-1+b4 libxfixes3_1:6.0.0-2+b5 libxinerama1_2:1.1.4-3+b5 libxkbcommon-x11-0_1.13.1-1 libxkbcommon0_1.13.1-1 libxml-libxml-perl_2.0207+dfsg+really+2.0134-8 libxml-namespacesupport-perl_1.12-2 libxml-sax-base-perl_1.09-3 libxml-sax-perl_1.02+dfsg-5 libxml2-16_2.15.3+dfsg-1 libxmlb2_0.3.28-1 libxpm4_1:3.5.19-1 libxrender1_1:0.9.12-1+b2 libxs-parse-keyword-perl_0.49-1 libxs-parse-sublike-perl_0.41-1+b1 libxshmfence1_1.3.3-1+b2 libxstring-perl_0.005-2+b5 libxxf86vm1_1:1.1.4-2+b1 libxxhash0_0.8.3-2+b2 libyaml-0-2_0.2.5-2+b1 libyaml-libyaml-perl_0.910.0+ds-1 libyaml-pp-perl_0.41.0-1 libyaml-tiny-perl_1.76-1 libyuv0_0.0.1949.20260706-1 libz3-4_4.13.3-1.1 libzstd-dev_1.5.7+dfsg-3+b2 libzstd1_1.5.7+dfsg-3+b2 licensecheck_3.3.9-1 lintian_2.137.1 linux-libc-dev_7.1.3-1 lzop_1.04-2 m4_1.4.21-1 make_4.4.1-3 man-db_2.13.1-1 mawk_1.3.4.20260302-1 mesa-libgallium_26.1.4-1 ncurses-base_6.6+20260608-2 ncurses-bin_6.6+20260608-2 netbase_6.5 nettle-dev_3.10.2-1+b1 octave_11.3.0-1 octave-common_11.3.0-1 octave-datatypes_1.2.6-1 octave-dev_11.3.0-1 octave-io_2.7.2-1 openssl_3.6.3-1 openssl-provider-legacy_3.6.3-1 patch_2.8-2 patchutils_0.4.5-1 pci.ids_0.0~2026.07.06-1 perl_5.40.1-8 perl-base_5.40.1-8 perl-modules-5.40_5.40.1-8 perl-openssl-defaults_7+b2 perltidy_20250105-1 pkgconf_2.5.1-4 pkgconf-bin_2.5.1-4 plzip_1.13-1 po-debconf_1.0.22 procps_2:4.0.6-2 readline-common_8.3-4 rpcsvc-proto_1.4.4-1 sed_4.9-3 sensible-utils_0.0.26 shared-mime-info_2.4-5+b3 sysvinit-utils_3.18-1 t1utils_1.41-4 tar_1.35+dfsg-4 tex-common_6.20 texinfo_7.3-2 texinfo-lib_7.3-2 tzdata_2026b-1 ucf_3.0056 unzip_6.0-29 util-linux_2.42.2-1 x11-common_1:7.7+26 x11proto-dev_2025.1-1 xkb-data_2.47-1 xorg-sgml-doctools_1:1.12.1-1 xtrans-dev_1.6.0-1 xz-utils_5.8.3-1 zlib1g_1:1.3.dfsg+really1.3.2-3 zlib1g-dev_1:1.3.dfsg+really1.3.2-3 +------------------------------------------------------------------------------+ | Build Sat, 18 Jul 2026 11:17:35 +0000 | +------------------------------------------------------------------------------+ Unpack source ------------- -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: octave-statistics Binary: octave-statistics, octave-statistics-common Architecture: any all Version: 1.8.4-1 Maintainer: Debian Octave Group Uploaders: Sébastien Villemot , Rafael Laboissière Homepage: https://gnu-octave.github.io/packages/statistics/ Standards-Version: 4.7.4 Vcs-Browser: https://salsa.debian.org/octave-team/octave-statistics Vcs-Git: https://salsa.debian.org/octave-team/octave-statistics.git Testsuite: autopkgtest-pkg-octave Build-Depends: debhelper-compat (= 14), dh-octave (>= 1.11.1), dh-sequence-octave, octave, octave-datatypes (>= 1.2.6), octave-io Build-Conflicts: octave-nan Package-List: octave-statistics deb math optional arch=any octave-statistics-common deb math optional arch=all Checksums-Sha1: f3d0f69d2e74c4c046504c137083c7a39ddf13a7 1736259 octave-statistics_1.8.4.orig.tar.gz 788821ea7ef808d195c992d3fbbc8101d5fbf408 10744 octave-statistics_1.8.4-1.debian.tar.xz Checksums-Sha256: a7b0ee54b1c66d5726c7c4e846ad7bc6ba3c06fd169c0350246b260aadfd7d35 1736259 octave-statistics_1.8.4.orig.tar.gz 5417395f6dbd8406c15843d3c75e51845509efdbe9a07f9a9f6f963c36c2d1fe 10744 octave-statistics_1.8.4-1.debian.tar.xz Files: 96947bda2958e09097a228b2f2cc9e72 1736259 octave-statistics_1.8.4.orig.tar.gz 56393e34b1682fe42ce392a945d175b0 10744 octave-statistics_1.8.4-1.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEU5UdlScuDFuCvoxKLOzpNQ7OvkoFAmpTSLMACgkQLOzpNQ7O vkq18Q//Zirn69sP8VuTpvJEtlpOUyysFChd9ArVfCEp7WsgyISTSxWriGIjf5NM ycXEMUnkmttdet7yA9x5prjdkEWEMD80tE+sG6d/Z6EvXwcwOO5y8fsuAEFN+Fgf Jmykw6q7DckplORPcwjx67XMiLn8hv9S7REtJIKNpRb1DqjvgTm8h98id3tTYLxo b75m/jYWggjIOqaslUctBGMg59twnOc5waMSm2tl5SWTc9/9mPRmum/M2PwZ7yj8 0ETOyHbrOshtGBkdA9jn4U0MFI7F/ZNqEPZMCexiE6K8WBL5zxYG3gXR0E1ZP+j4 oLgFYeJPO3MKTushLNFiknrbSZWxd4FoFcYAfhnRl7HPPL3jfF9Y5wvhaHLq767g l1YrcHKRJZWWUAiRekfSleyGOvlXDMOOPEzB3LEWMdlUoWY+xTKZ7l1AGAOmuwtd iCaq8OqPaVARpgvBNtyvh3hK0t9u0Dt0FveXkm3eAeCdoIQooTy+VgZBWKpF/kA+ ndzr5XNq9tzywbUVN2jUaUa9mVEIWaY/D2KY4cP6I9L3pF3p4k1+HyiqSKE7HaZg /y5W7ScZDR+j98bI4j/Sgsp7XbZp3g4eVkbUiW3UuvpT+or9fKJbRZQQWVA0MdmO RKZFkgZX0PonL2I8eH4+7tKsmycb9e/sT9Rzm04xhc7ux30B81c= =TeOp -----END PGP SIGNATURE----- dpkg-source: warning: cannot verify inline signature for ./octave-statistics_1.8.4-1.dsc: missing OpenPGP keyrings dpkg-source: info: verifying ./octave-statistics_1.8.4-1.dsc dpkg-source: info: skipping absent keyring /usr/share/keyrings/debian-keyring.pgp dpkg-source: info: skipping absent keyring /usr/share/keyrings/debian-tag2upload.pgp dpkg-source: info: skipping absent keyring /usr/share/keyrings/debian-nonupload.pgp dpkg-source: info: skipping absent keyring /usr/share/keyrings/debian-maintainers.pgp dpkg-source: info: extracting octave-statistics in /build/reproducible-path/octave-statistics-1.8.4 dpkg-source: info: unpacking octave-statistics_1.8.4.orig.tar.gz dpkg-source: info: unpacking octave-statistics_1.8.4-1.debian.tar.xz Check disk space ---------------- Sufficient free space for build User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf DEB_BUILD_OPTIONS=parallel=6 HOME=/sbuild-nonexistent LANG=C.UTF-8 LC_ALL=C.UTF-8 LC_COLLATE=C.UTF-8 LC_CTYPE=C.UTF-8 LOGNAME=sbuild PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games SHELL=/bin/sh SOURCE_DATE_EPOCH=1783842663 USER=sbuild dpkg-buildpackage ----------------- Command: dpkg-buildpackage --sanitize-env -us -uc -B dpkg-buildpackage: info: source package octave-statistics dpkg-buildpackage: info: source version 1.8.4-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Sébastien Villemot dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 debian/rules clean dh clean --buildsystem=octave dh_auto_clean -O--buildsystem=octave dh_octave_clean make[1]: Entering directory '/build/reproducible-path/octave-statistics-1.8.4' make[1]: *** No rule to make target 'clean'. make[1]: *** No rule to make target 'distclean'. make[1]: Leaving directory '/build/reproducible-path/octave-statistics-1.8.4' make[1]: Entering directory '/build/reproducible-path/octave-statistics-1.8.4/src' rm -f editDistance.oct libsvmread.oct libsvmwrite.oct svmpredict.oct svmtrain.oct fcnntrain.oct fcnnpredict.oct make[1]: *** No rule to make target 'distclean'. make[1]: Leaving directory '/build/reproducible-path/octave-statistics-1.8.4/src' dh_autoreconf_clean -O--buildsystem=octave dh_clean -O--buildsystem=octave debian/rules binary-arch dh binary-arch --buildsystem=octave dh_update_autotools_config -a -O--buildsystem=octave dh_autoreconf -a -O--buildsystem=octave dh_octave_version -a -O--buildsystem=octave Checking the Octave version... ok dh_auto_configure -a -O--buildsystem=octave dh_auto_build -a -O--buildsystem=octave dh_auto_test -a -O--buildsystem=octave create-stamp debian/debhelper-build-stamp dh_testroot -a -O--buildsystem=octave dh_prep -a -O--buildsystem=octave dh_auto_install -a -O--buildsystem=octave octave --no-gui --no-history --silent --no-init-file --no-window-system /usr/share/dh-octave/install-pkg.m /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/lib/i386-linux-gnu/octave/packages mkdir (/tmp/oct-9Xcm0H) untar (/tmp//octave-statistics-1.8.4.tar.gz, /tmp/oct-9Xcm0H) make[1]: Entering directory '/tmp/oct-9Xcm0H/octave-statistics-1.8.4/src' /usr/bin/mkoctfile --verbose editDistance.cc /usr/bin/mkoctfile --verbose libsvmread.cc /usr/bin/mkoctfile --verbose libsvmwrite.cc /usr/bin/mkoctfile --verbose svmpredict.cc svm.cpp svm_model_octave.cc /usr/bin/mkoctfile --verbose svmtrain.cc svm.cpp svm_model_octave.cc /usr/bin/mkoctfile --verbose fcnntrain.cc i686-linux-gnu-g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security editDistance.cc -o /tmp/oct-L95Z3Y.o /usr/bin/mkoctfile --verbose fcnnpredict.cc i686-linux-gnu-g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security libsvmread.cc -o /tmp/oct-TOq8cS.o i686-linux-gnu-g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security svmpredict.cc -o /tmp/oct-1Tl0V6.o i686-linux-gnu-g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security libsvmwrite.cc -o /tmp/oct-jpRxms.o i686-linux-gnu-g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security svmtrain.cc -o /tmp/oct-en0fm0.o i686-linux-gnu-g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security fcnntrain.cc -o /tmp/oct-49PoIP.o i686-linux-gnu-g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security fcnnpredict.cc -o /tmp/oct-KL1xjO.o libsvmwrite.cc: In function ‘void write(std::string, ColumnVector, SparseMatrix)’: libsvmwrite.cc:75:25: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘size_t’ {aka ‘unsigned int’} [-Wformat=] 75 | fprintf(fp ," %lu:%g", (size_t)ir[k]+1, samples[k]); | ~~^ ~~~~~~~~~~~~~~~ | | | | long unsigned int size_t {aka unsigned int} | %u i686-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security -o libsvmwrite.oct /tmp/oct-jpRxms.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro i686-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security -o libsvmread.oct /tmp/oct-TOq8cS.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro i686-linux-gnu-g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security svm.cpp -o /tmp/oct-SYQs3v.o i686-linux-gnu-g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security svm.cpp -o /tmp/oct-UKJ722.o i686-linux-gnu-g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security svm_model_octave.cc -o /tmp/oct-1HnXN0.o i686-linux-gnu-g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security svm_model_octave.cc -o /tmp/oct-0Y1shS.o i686-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security -o fcnntrain.oct /tmp/oct-49PoIP.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro i686-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security -o fcnnpredict.oct /tmp/oct-KL1xjO.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro i686-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security -o editDistance.oct /tmp/oct-L95Z3Y.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro i686-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security -o svmtrain.oct /tmp/oct-en0fm0.o /tmp/oct-SYQs3v.o /tmp/oct-1HnXN0.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro i686-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -Wformat -Werror=format-security -o svmpredict.oct /tmp/oct-1Tl0V6.o /tmp/oct-UKJ722.o /tmp/oct-0Y1shS.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro make[1]: Leaving directory '/tmp/oct-9Xcm0H/octave-statistics-1.8.4/src' copyfile /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/editDistance.oct /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/fcnnpredict.oct /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/fcnntrain.oct /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/libsvmread.oct /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/libsvmwrite.oct /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/svmpredict.oct /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/svmtrain.oct /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/editDistance.cc-tst /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/fcnnpredict.cc-tst /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/fcnntrain.cc-tst /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/libsvmread.cc-tst /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/libsvmwrite.cc-tst /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/svmpredict.cc-tst /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/svmtrain.cc-tst /tmp/oct-9Xcm0H/octave-statistics-1.8.4/src/doc-cache /tmp/oct-9Xcm0H/octave-statistics-1.8.4/inst/i686-pc-linux-gnu-api-v61 creating file PKG_ADD creating file PKG_DEL using package-provided doc-cache file for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4 using package-provided doc-cache file for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/Classification using package-provided doc-cache file for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/Clustering using package-provided doc-cache file for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/Regression creating file doc-cache for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/datasets creating file doc-cache for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/demos using package-provided doc-cache file for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/dist_fit using package-provided doc-cache file for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/dist_fun using package-provided doc-cache file for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/dist_obj using package-provided doc-cache file for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/dist_stat using package-provided doc-cache file for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/dist_wrap creating file doc-cache for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/doc creating file doc-cache for directory /build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/packinfo For information about changes from previous versions of the statistics package, run 'news statistics'. Please report any issues with the statistics package at "https://github.com/gnu-octave/statistics/issues" rm: cannot remove '/build/reproducible-path/octave-statistics-1.8.4/debian/tmp/usr/share/octave/packages/statistics-1.8.4/doc': Is a directory dh_octave_check -a -O--buildsystem=octave Checking package... Run the unit tests... Checking m files ... [inst/boxplot.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/boxplot.m ***** demo axis ([0, 3]); randn ('seed', 1); # for reproducibility girls = randn (10, 1) * 5 + 140; randn ('seed', 2); # for reproducibility boys = randn (13, 1) * 8 + 135; boxplot ({girls, boys}); set (gca (), 'xtick', [1 2], 'xticklabel', {'girls', 'boys'}) title ('Grade 3 heights'); ***** demo randn ('seed', 7); # for reproducibility A = randn (10, 1) * 5 + 140; randn ('seed', 8); # for reproducibility B = randn (25, 1) * 8 + 135; randn ('seed', 9); # for reproducibility C = randn (20, 1) * 6 + 165; data = [A; B; C]; groups = [(ones (10, 1)); (ones (25, 1) * 2); (ones (20, 1) * 3)]; labels = {'Team A', 'Team B', 'Team C'}; pos = [2, 1, 3]; boxplot (data, groups, 'Notch', 'on', 'Labels', labels, 'Positions', pos, ... 'OutlierTags', 'on', 'BoxStyle', 'filled'); title ('Example of Group splitting with paired vectors'); ***** demo randn ('seed', 1); # for reproducibility data = randn (100, 9); boxplot (data, 'notch', 'on', 'boxstyle', 'filled', ... 'colors', 'ygcwkmb', 'whisker', 1.2); title ('Example of different colors specified with characters'); ***** demo randn ('seed', 5); # for reproducibility data = randn (100, 13); colors = [0.7 0.7 0.7; ... 0.0 0.4 0.9; ... 0.7 0.4 0.3; ... 0.7 0.1 0.7; ... 0.8 0.7 0.4; ... 0.1 0.8 0.5; ... 0.9 0.9 0.2]; boxplot (data, 'notch', 'on', 'boxstyle', 'filled', ... 'colors', colors, 'whisker', 1.3, 'boxwidth', 'proportional'); title ('Example of different colors specified as RGB values'); ***** demo randn ('seed', 11); # for reproducibility data = randn (30, 1); ## Using modern string arrays str_groups = string (repmat (['Control'; 'TreatmentA'; 'TreatmentB'], 10, 1)); boxplot (data, str_groups, 'colors', 'rgb'); title ('Example using modern string arrays for grouping'); ***** demo randn ('seed', 10); # for reproducibility data = randn (40, 1) * 5 + 50; ## Create two different grouping variables group1 = repmat ({'Alpha'; 'Beta'}, 20, 1); group2 = repmat ([2022; 2022; 2023; 2023], 10, 1); ## Pass them together as a cell array boxplot (data, {group1, group2}); title ('Example of Multiple Grouping Variables (Model & Year)'); ***** error boxplot ('a') ***** error boxplot ({[1 2 3], 'a'}) ***** error boxplot ([1 2 3], 1, {2, 3}) ***** error boxplot ([1 2 3], {'a', 'b'}) ***** error <'Notch' input argument accepts> boxplot ([1:10], 'notch', 'any') ***** error boxplot ([1:10], 'notch', i) ***** error boxplot ([1:10], 'notch', {}) ***** error boxplot (1, 'symbol', 1) ***** error <'Orientation' input argument accepts only> boxplot (1, 'orientation', 'diagonal') ***** error boxplot (1, 'orientation', {}) ***** error <'Whisker' input argument accepts only> boxplot (1, 'whisker', 'a') ***** error <'Whisker' input argument accepts only> boxplot (1, 'whisker', [1 3]) ***** error <'OutlierTags' input argument accepts only> boxplot (3, 'OutlierTags', 'maybe') ***** error boxplot (3, 'OutlierTags', {}) ***** error <'Sample_IDs' input argument accepts only> boxplot (1, 'sample_IDs', 1) ***** error <'BoxWidth' input argument accepts only> boxplot (1, 'boxwidth', 2) ***** error <'BoxWidth' input argument accepts only> boxplot (1, 'boxwidth', 'anything') ***** error <'Widths' input argument accepts only> boxplot (5, 'widths', 'a') ***** error <'Widths' input argument accepts only> boxplot (5, 'widths', [1:4]) ***** error <'Widths' input argument accepts only> boxplot (5, 'widths', []) ***** error <'CapWidths' input argument accepts only> boxplot (5, 'capwidths', 'a') ***** error <'CapWidths' input argument accepts only> boxplot (5, 'capwidths', [1:4]) ***** error <'CapWidths' input argument accepts only> boxplot (5, 'capwidths', []) ***** error <'BoxStyle' input argument accepts only> boxplot (1, 'Boxstyle', 1) ***** error <'BoxStyle' input argument accepts only> boxplot (1, 'Boxstyle', 'garbage') ***** error <'Positions' input argument accepts only> boxplot (1, 'positions', 'aa') ***** error <'Labels' input argument accepts only> boxplot (3, 'labels', [1 5]) ***** error <'Colors' input argument accepts only> boxplot (1, 'colors', {}) ***** error <'Colors' input argument accepts only> boxplot (2, 'colors', [1 2 3 4]) ***** error boxplot (randn (10, 3), 'Sample_IDs', {'a', 'b'}) ***** error boxplot (rand (3, 3), [1 2]) ***** test hf = figure ('visible', 'off'); unwind_protect [a, b] = boxplot (rand (10, 3)); assert_equal (size (a), [7, 3]); assert_equal (numel (b.box), 3); assert_equal (numel (b.whisker), 12); assert_equal (numel (b.median), 3); unwind_protect_cleanup close (hf); end_unwind_protect warning: using the gnuplot graphics toolkit is discouraged The gnuplot graphics toolkit is not actively maintained and has a number of limitations that are unlikely to be fixed. Communication with gnuplot uses a one-directional pipe and limited information is passed back to the Octave interpreter so most changes made interactively in the plot window will not be reflected in the graphics properties managed by Octave. For example, if the plot window is closed with a mouse click, Octave will not be notified and will not update its internal list of open figure windows. The qt toolkit is recommended instead. ***** test hf = figure ('visible', 'off'); unwind_protect [~, b] = boxplot (rand (10, 3), 'BoxStyle', 'filled', 'colors', 'ybc'); assert_equal (numel (b.box_fill), 3); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect hold on [a, b] = boxplot (rand (10, 3)); assert_equal (ishold, true); unwind_protect_cleanup close (hf); end_unwind_protect ***** test ## Test multi-variable grouping. hf = figure ('visible', 'off'); unwind_protect data = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12]; g1 = [1; 1; 2; 2; 3; 3; 1; 1; 2; 2; 3; 3]; g2 = string ({'A'; 'B'; 'A'; 'B'; 'A'; 'B'; 'A'; 'B'; 'A'; 'B'; 'A'; 'B'}); g3 = categorical ({'X'; 'X'; 'Y'; 'Y'; 'Z'; 'Z'; 'X'; 'X'; 'Y'; 'Y'; 'Z'; 'Z'}); [a, b] = boxplot (data, {g1, g2, g3}); assert_equal (size (a, 2), 6); unwind_protect_cleanup close (hf); end_unwind_protect ***** test ## Test multi-variable grouping with empty intersections dropping correctly. hf = figure ('visible', 'off'); unwind_protect data = [1; 2; 3; 4]; g1 = [1; 1; 2; 2]; g2 = string ({'A'; 'A'; 'B'; 'B'}); [a, b] = boxplot (data, {g1, g2}); assert_equal (size (a, 2), 2); unwind_protect_cleanup close (hf); end_unwind_protect 36 tests, 36 passed, 0 known failure, 0 skipped [inst/randsample.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/randsample.m ***** test n = 20; k = 5; x = randsample (n, k); assert_equal (size (x), [k 1]); x = randsample (n, k, true); assert_equal (size (x), [k 1]); x = randsample (n, k, false); assert_equal (size (x), [k 1]); x = randsample (n, k, true, ones (n, 1)); assert_equal (size (x), [k 1]); x = randsample (1:n, k); assert_equal (size (x), [1 k]); x = randsample (1:n, k, true); assert_equal (size (x), [1 k]); x = randsample (1:n, k, false); assert_equal (size (x), [1 k]); x = randsample (1:n, k, true, ones (n, 1)); assert_equal (size (x), [1 k]); x = randsample ((1:n)', k); assert_equal (size (x), [k 1]); x = randsample ((1:n)', k, true); assert_equal (size (x), [k 1]); x = randsample ((1:n)', k, false); assert_equal (size (x), [k 1]); x = randsample ((1:n)', k, true, ones (n, 1)); assert_equal (size (x), [k 1]); n = 10; k = 100; x = randsample (n, k, true, 1:n); assert_equal (size (x), [k 1]); x = randsample ((1:n)', k, true); assert_equal (size (x), [k 1]); x = randsample (k, k, false, 1:k); assert_equal (size (x), [k 1]); ***** test n = 20; k = 5; p = 1:n; x = randsample (p, k); assert_equal (isnumeric (x), true); assert_equal (size (x), [1 k]); x = randsample (p, k, true); assert_equal (isnumeric (x), true); assert_equal (size (x), [1 k]); x = randsample (p, k, false); assert_equal (isnumeric (x), true); assert_equal (size (x), [1 k]); k = 30; x = randsample (p, k, true); assert_equal (isnumeric (x), true); assert_equal (size (x), [1 k]); ***** test p = categorical ({'a', 'b', 'c', 'd', 'a'}); k = 3; x = randsample (p, k, true); assert_equal (iscategorical (x), true); assert_equal (size (x), [1 k]); x = randsample (p, k, false); assert_equal (iscategorical (x), true); assert_equal (size (x), [1 k]); k = 30; x = randsample (p, k, true, ones (length (p),1)); assert_equal (iscategorical (x), true); assert_equal (size (x), [1 k]); ***** test p = {'a', 'b', 'c', 'd', 'a'}; k = 2; x = randsample (p, k, true); assert_equal (iscell (x), true); assert_equal (size (x), [1 k]); x = randsample (p, k, false); assert_equal (iscell (x), true); assert_equal (size (x), [1 k]); k = 30; x = randsample (p, k, true, ones (length (p),1)); assert_equal (iscell (x), true); assert_equal (size (x), [1 k]); ***** test p = string ({'a', 'b', 'c', 'd', 'a'}); k = 2; x = randsample (p, k, true); assert_equal (isstring (x), true); assert_equal (size (x), [1 k]); x = randsample (p, k, false); assert_equal (isstring (x), true); assert_equal (size (x), [1 k]); k = 30; x = randsample (p, k, true, ones (length (p),1)); assert_equal (isstring (x), true); assert_equal (size (x), [1 k]); ***** test assert_equal (randsample ('A', 1), 'A'); assert_equal (randsample (true, 1), true); assert_equal (randsample (5.5, 1), 5.5); assert_equal (randsample (-5, 1), -5); ***** test x = randsample (10, -2); assert_equal (isempty (x), true); assert_equal (size (x), [0, 1]); ***** error ... randsample ([1 2 3; 1 2 3], 5) ***** error ... randsample (10, 100) ***** error ... randsample (10, 5, false, ones (5,1)) ***** error ... randsample (5, 2, true, [0, 0, 0, 0, 0]) ***** error ... randsample (5, 2, true, [1, 2, -1, 4, 5]) ***** error ... randsample (5, 2, true, [1, 2, NaN, 4, 5]) ***** error ... randsample (5, 4, false, [1, 1, 0, 0, 0]) ***** error ... randsample (10, 2.5) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/mcnemar_test.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/mcnemar_test.m ***** test [h, pval, chisq] = mcnemar_test ([101,121;59,33]); assert_equal (h, 1); assert_equal (pval, 3.8151e-06, 1e-10); assert_equal (chisq, 21.356, 1e-3); ***** test [h, pval, chisq] = mcnemar_test ([59,6;16,80]); assert_equal (h, 1); assert_equal (pval, 0.034690, 1e-6); assert_equal (isempty (chisq), true); ***** test [h, pval, chisq] = mcnemar_test ([59,6;16,80], 0.01); assert_equal (h, 0); assert_equal (pval, 0.034690, 1e-6); assert_equal (isempty (chisq), true); ***** test [h, pval, chisq] = mcnemar_test ([59,6;16,80], 'mid-p'); assert_equal (h, 1); assert_equal (pval, 0.034690, 1e-6); assert_equal (isempty (chisq), true); ***** test [h, pval, chisq] = mcnemar_test ([59,6;16,80], 'asymptotic'); assert_equal (h, 1); assert_equal (pval, 0.033006, 1e-6); assert_equal (chisq, 4.5455, 1e-4); ***** test [h, pval, chisq] = mcnemar_test ([59,6;16,80], 'exact'); assert_equal (h, 0); assert_equal (pval, 0.052479, 1e-6); assert_equal (isempty (chisq), true); ***** test [h, pval, chisq] = mcnemar_test ([59,6;16,80], 'corrected'); assert_equal (h, 0); assert_equal (pval, 0.055009, 1e-6); assert_equal (chisq, 3.6818, 1e-4); ***** test [h, pval, chisq] = mcnemar_test ([59,6;16,80], 0.1, 'corrected'); assert_equal (h, 1); assert_equal (pval, 0.055009, 1e-6); assert_equal (chisq, 3.6818, 1e-4); ***** error mcnemar_test (59, 6, 16, 80) ***** error mcnemar_test (ones (3, 3)) ***** error ... mcnemar_test ([59,6;16,-80]) ***** error ... mcnemar_test ([59,6;16,4.5]) ***** error ... mcnemar_test ([59,6;16,80], {''}) ***** error ... mcnemar_test ([59,6;16,80], -0.2) ***** error ... mcnemar_test ([59,6;16,80], [0.05, 0.1]) ***** error ... mcnemar_test ([59,6;16,80], 1) ***** error ... mcnemar_test ([59,6;16,80], '') 17 tests, 17 passed, 0 known failure, 0 skipped [inst/nansum.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/nansum.m ***** demo ## Find the column sums for a matrix with missing values., x = magic (3); x([1, 4, 7:9]) = NaN s = nansum (x) ***** demo ## Find the row sums for a matrix with missing values., x = magic (3); x([1, 4, 7:9]) = NaN s = nansum (x, 2) ***** demo ## Find the sum of all the values in a multidimensional array ## with missing values. x = reshape (1:30, [2, 5, 3]); x([10:12, 25]) = NaN s = nansum (x, 'all') ***** demo ## Find the sum of a multidimensional array with missing values over ## multiple dimensions. x = reshape (1:30, [2, 5, 3]); x([10:12, 25]) = NaN s = nansum (x, [2, 3]) ***** assert_equal (nansum ([]), 0) ***** assert_equal (nansum (NaN), 0) ***** assert_equal (nansum (NaN (3)), [0, 0, 0]) ***** assert_equal (nansum ([2 4 NaN 7]), 13) ***** assert_equal (nansum ([2 4 NaN Inf]), Inf) ***** assert_equal (nansum ([1 NaN 3; NaN 5 6; 7 8 NaN]), [8 13 9]) ***** assert_equal (nansum ([1 NaN 3; NaN 5 6; 7 8 NaN], 2), [4; 11; 15]) ***** assert_equal (nansum (uint8 ([2 4 1 7])), 14) ***** test x = magic (3); x([1 6:9]) = NaN; assert_equal (nansum (x), [7, 6, 0]) assert_equal (nansum (x, 2), [1; 8; 4]) ***** test x = reshape (1:24, [2, 4, 3]); x([5:6, 20]) = NaN; assert_equal (nansum (x, 'all'), 269) ***** test x = reshape (1:24,[2, 4, 3]); x([5:6, 20]) = NaN; assert_equal (squeeze (nansum (x, [1, 2])), [25; 100; 144]) assert_equal (nansum (x, [2, 3]), [139; 130]) ***** error nansum ({3}) ***** error nansum (ones (3), 0) ***** error nansum (ones (3), 1.5) ***** error nansum (ones (3), 1.5) ***** error ... nansum (ones (3, 3, 3), [2, 2.5]) ***** error ... nansum (ones (3, 3, 3), [-1, 2]) ***** error ... nansum (ones (3, 3, 3), [2, 2, 3]) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/ttest2.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/ttest2.m ***** test a = 1:5; b = 6:10; b(5) = NaN; [h,p,ci,stats] = ttest2 (a,b); assert_equal (h, 1); assert_equal (p, 0.002535996080258229, 1e-14); assert_equal (ci, [-6.822014919225481, -2.17798508077452], 1e-14); assert_equal (stats.tstat, -4.582575694955839, 1e-14); assert_equal (stats.df, 7); assert_equal (stats.sd, 1.4638501094228, 1e-13); ***** error ttest2 ([8:0.1:12], [8:0.1:12], 'tail', 'invalid'); ***** error ttest2 ([8:0.1:12], [8:0.1:12], 'tail', 25); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/dcov.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dcov.m ***** demo base=@(x) (x- min (x))./(max (x)-min (x)); N = 5e2; x = randn (N,1); x = base(x); z = randn (N,1); z = base(z); # Linear relations cy = [1 0.55 0.3 0 -0.3 -0.55 -1]; ly = x .* cy; ly(:,[1:3 5:end]) = base(ly(:,[1:3 5:end])); # Correlated Gaussian cz = 1 - abs (cy); gy = base( ly + cz.*z); # Shapes sx = repmat (x,1,7); sy = zeros (size (ly)); v = 2 * rand (size (x,1),2) - 1; sx(:,1) = v(:,1); sy(:,1) = cos (2*pi*sx(:,1)) + 0.5*v(:,2).*exp (-sx(:,1).^2/0.5); R =@(d) [cosd(d) sind(d); -sind(d) cosd(d)]; tmp = R(35) * v.'; sx(:,2) = tmp(1,:); sy(:,2) = tmp(2,:); tmp = R(45) * v.'; sx(:,3) = tmp(1,:); sy(:,3) = tmp(2,:); sx(:,4) = v(:,1); sy(:,4) = sx(:,4).^2 + 0.5*v(:,2); sx(:,5) = v(:,1); sy(:,5) = 3*sign (v(:,2)).*(sx(:,5)).^2 + v(:,2); sx(:,6) = cos (2*pi*v(:,1)) + 0.5*(x-0.5); sy(:,6) = sin (2*pi*v(:,1)) + 0.5*(z-0.5); sx(:,7) = x + sign (v(:,1)); sy(:,7) = z + sign (v(:,2)); sy = base(sy); sx = base(sx); # scaled shape sc = 1/3; ssy = (sy-0.5) * sc + 0.5; n = size (ly,2); ym = 1.2; xm = 0.5; fmt={'horizontalalignment','center'}; ff = '% .2f'; figure (1) for i=1:n subplot (4,n,i); plot (x, gy(:,i), '.b'); axis tight axis off text (xm,ym,sprintf (ff, dcov (x,gy(:,i))),fmt{:}) subplot (4,n,i+n); plot (x, ly(:,i), '.b'); axis tight axis off text (xm,ym,sprintf (ff, dcov (x,ly(:,i))),fmt{:}) subplot (4,n,i+2*n); plot (sx(:,i), sy(:,i), '.b'); axis tight axis off text (xm,ym,sprintf (ff, dcov (sx(:,i),sy(:,i))),fmt{:}) v = axis (); subplot (4,n,i+3*n); plot (sx(:,i), ssy(:,i), '.b'); axis (v) axis off text (xm,ym,sprintf (ff, dcov (sx(:,i),ssy(:,i))),fmt{:}) endfor ***** error dcov (randn (30, 5), randn (25,5)) 1 test, 1 passed, 0 known failure, 0 skipped [inst/regression_ftest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/regression_ftest.m ***** error regression_ftest (); ***** error ... regression_ftest ([1 2 3]', [2 3 4; 3 4 5]'); ***** error ... regression_ftest ([1 2 NaN]', [2 3 4; 3 4 5]', [1 0.5]); ***** error ... regression_ftest ([1 2 Inf]', [2 3 4; 3 4 5]', [1 0.5]); ***** error ... regression_ftest ([1 2 3+i]', [2 3 4; 3 4 5]', [1 0.5]); ***** error ... regression_ftest ([1 2 3]', [2 3 NaN; 3 4 5]', [1 0.5]); ***** error ... regression_ftest ([1 2 3]', [2 3 Inf; 3 4 5]', [1 0.5]); ***** error ... regression_ftest ([1 2 3]', [2 3 4; 3 4 3+i]', [1 0.5]); ***** error ... regression_ftest ([1 2 3]', [2 3 4; 3 4 5]', [1 0.5], [], 'alpha', 0); ***** error ... regression_ftest ([1 2 3]', [2 3 4; 3 4 5]', [1 0.5], [], 'alpha', 1.2); ***** error ... regression_ftest ([1 2 3]', [2 3 4; 3 4 5]', [1 0.5], [], 'alpha', [.02 .1]); ***** error ... regression_ftest ([1 2 3]', [2 3 4; 3 4 5]', [1 0.5], [], 'alpha', 'a'); ***** error ... regression_ftest ([1 2 3]', [2 3 4; 3 4 5]', [1 0.5], [], 'some', 0.05); ***** error ... regression_ftest ([1 2 3]', [2 3; 3 4]', [1 0.5]); ***** error ... regression_ftest ([1 2; 3 4]', [2 3; 3 4]', [1 0.5]); ***** error ... regression_ftest ([1 2 3]', [2 3 4; 3 4 5]', [1 0.5], ones (2)); ***** error ... regression_ftest ([1 2 3]', [2 3 4; 3 4 5]', [1 0.5], 'alpha'); ***** error ... regression_ftest ([1 2 3]', [2 3 4; 3 4 5]', [1 0.5], [1 2]); 18 tests, 18 passed, 0 known failure, 0 skipped [inst/fitcnet.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/fitcnet.m ***** demo ## Train a Neural Network on the Fisher's Iris data set and display ## a confusion chart with the classification results. load fisheriris Mdl = fitcnet (meas, species); pred_species = resubPredict (Mdl); confusionchart (species, pred_species, 'Title', ... 'Fully Connected Neural Network classification on Fisher''s Iris dataset'); ***** test load fisheriris x = meas; y = grp2idx (species); Mdl = fitcnet (x, y, 'IterationLimit', 50); assert_equal (class (Mdl), "ClassificationNeuralNetwork"); assert_equal (numel (Mdl.ModelParameters.LayerWeights), 2); assert_equal (size (Mdl.ModelParameters.LayerWeights{1}), [10, 5]); assert_equal (size (Mdl.ModelParameters.LayerWeights{2}), [3, 11]); ***** error fitcnet () ***** error fitcnet (ones (4,1)) ***** error fitcnet (ones (4,2), ones (4, 1), 'LayerSizes') ***** error fitcnet (ones (4,2), ones (3, 1)) ***** error fitcnet (ones (4,2), ones (3, 1), 'LayerSizes', 2) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/signrank.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/signrank.m ***** test load gradespaired.mat [p, h, stats] = signrank (gradespaired(:,1), ... gradespaired(:,2), 'tail', 'left'); assert_equal (p, 0.0047, 1e-4); assert_equal (h, true); assert_equal (stats.zval, -2.5982, 1e-4); assert_equal (stats.signedrank, 2017.5); ***** test load ('gradespaired.mat'); [p, h, stats] = signrank (gradespaired(:,1), gradespaired(:,2), ... 'tail', 'left', 'method', 'exact'); assert_equal (p, 0.0045, 1e-4); assert_equal (h, true); assert_equal (stats.zval, NaN); assert_equal (stats.signedrank, 2017.5); ***** test load mileage [p, h, stats] = signrank (mileage(:,2), 33); assert_equal (p, 0.0312, 1e-4); assert_equal (h, true); assert_equal (stats.zval, NaN); assert_equal (stats.signedrank, 21); ***** test load mileage [p, h, stats] = signrank (mileage(:,2), 33, 'tail', 'right'); assert_equal (p, 0.0156, 1e-4); assert_equal (h, true); assert_equal (stats.zval, NaN); assert_equal (stats.signedrank, 21); ***** test load mileage [p, h, stats] = signrank (mileage(:,2), 33, 'tail', 'right', ... 'alpha', 0.01, 'method', 'approximate'); assert_equal (p, 0.0180, 1e-4); assert_equal (h, false); assert_equal (stats.zval, 2.0966, 1e-4); assert_equal (stats.signedrank, 21); ***** test x = [1, 2, 3, NaN, 4, 5]; p_clean = signrank ([1, 2, 3, 4, 5]); p_nan = signrank (x); assert_equal (p_nan, p_clean); ***** error signrank (ones (2)) ***** error ... signrank ([1, 2, 3, 4], ones (2)) ***** error ... signrank ([1, 2, 3, 4], [1, 2, 3]) ***** error ... signrank ([1, 2, 3, 4], [], 'tail') ***** error ... signrank ([1, 2, 3, 4], [], 'alpha', 1.2) ***** error ... signrank ([1, 2, 3, 4], [], 'alpha', 0) ***** error ... signrank ([1, 2, 3, 4], [], 'alpha', -0.05) ***** error ... signrank ([1, 2, 3, 4], [], 'alpha', 'a') ***** error ... signrank ([1, 2, 3, 4], [], 'alpha', [0.01, 0.05]) ***** error ... signrank ([1, 2, 3, 4], [], 'tail', 0.01) ***** error ... signrank ([1, 2, 3, 4], [], 'tail', {'both'}) ***** error ... signrank ([1, 2, 3, 4], [], 'tail', 'some') ***** error ... signrank ([1, 2, 3, 4], [], 'method', 'exact', 'tail', 'some') ***** error ... signrank ([1, 2, 3, 4], [], 'method', 0.01) ***** error ... signrank ([1, 2, 3, 4], [], 'method', {'exact'}) ***** error ... signrank ([1, 2, 3, 4], [], 'method', 'some') ***** error ... signrank ([1, 2, 3, 4], [], 'tail', 'both', 'method', 'some') 23 tests, 23 passed, 0 known failure, 0 skipped [inst/wblplot.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/wblplot.m ***** demo x = [16 34 53 75 93 120]; wblplot (x); ***** demo x = [2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67]'; c = [0 1 0 1 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1]'; [h, p] = wblplot (x, c); p ***** demo x = [16, 34, 53, 75, 93, 120, 150, 191, 240 ,339]; [h, p] = wblplot (x, [], [], 0.05); p ## Benchmark Reliasoft eta = 146.2545 beta 1.1973 rho = 0.9999 ***** demo x = [46 64 83 105 123 150 150]; c = [0 0 0 0 0 0 1]; f = [1 1 1 1 1 1 4]; wblplot (x, c, f, 0.05); ***** demo x = [46 64 83 105 123 150 150]; c = [0 0 0 0 0 0 1]; f = [1 1 1 1 1 1 4]; ## Subtract 30.92 from x to simulate a 3 parameter wbl with gamma = 30.92 wblplot (x - 30.92, c, f, 0.05); ***** test hf = figure ('visible', 'off'); unwind_protect x = [16, 34, 53, 75, 93, 120, 150, 191, 240 ,339]; [h, p] = wblplot (x, [], [], 0.05); assert_equal (numel (h), 4) assert_equal (p(1), 146.2545, 1E-4) assert_equal (p(2), 1.1973, 1E-4) assert_equal (p(3), 0.9999, 5E-5) unwind_protect_cleanup close (hf); end_unwind_protect 1 test, 1 passed, 0 known failure, 0 skipped [inst/princomp.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/princomp.m ***** shared COEFF,SCORE,latent,tsquare,m,x,R,V,lambda,i,S,F ***** test x=[7 4 3 4 1 8 6 3 5 8 6 1 8 5 7 7 2 9 5 3 3 9 5 8 7 4 5 8 2 2]; R = corrcoef (x); [V, lambda] = eig (R); [~, i] = sort (diag (lambda), 'descend'); #arrange largest PC first S = V(:, i) * diag (sqrt (diag (lambda)(i))); ## contribution of first 2 PCs to each original variable ***** assert_equal (diag (S(:, 1:2)*S(:, 1:2)'), [0.8662; 0.8420; 0.9876], 1E-4); B = V(:, i) * diag ( 1./ sqrt (diag (lambda)(i))); F = zscore (x)*B; [COEFF,SCORE,latent,tsquare] = princomp (zscore (x, 1)); ***** assert_equal (tsquare,sumsq (F, 2),1E4*eps); ***** test x=[1,2,3;2,1,3]'; [COEFF,SCORE,latent,tsquare] = princomp (x); m=[sqrt(2),sqrt(2);sqrt(2),-sqrt(2);-2*sqrt(2),0]/2; m(:,1) = m(:,1)*sign (COEFF(1,1)); m(:,2) = m(:,2)*sign (COEFF(1,2)); ***** assert_equal (COEFF,m(1:2,:),10*eps); ***** assert_equal (SCORE,-m,10*eps); ***** assert_equal (latent,[1.5;.5],10*eps); ***** assert_equal (tsquare,[4;4;4]/3,10*eps); ***** test x=x'; [COEFF,SCORE,latent,tsquare] = princomp (x); m=[sqrt(2),sqrt(2),0;-sqrt(2),sqrt(2),0;0,0,2]/2; m(:,1) = m(:,1)*sign (COEFF(1,1)); m(:,2) = m(:,2)*sign (COEFF(1,2)); m(:,3) = m(:,3)*sign (COEFF(3,3)); ***** assert_equal (COEFF,m,10*eps); ***** assert_equal (SCORE(:,1),-m(1:2,1),10*eps); ***** assert_equal (SCORE(:,2:3),zeros (2),10*eps); ***** assert_equal (latent,[1;0;0],10*eps); ***** assert_equal (tsquare,[0.5;0.5],10*eps) ***** test [COEFF,SCORE,latent,tsquare] = princomp (x, 'econ'); ***** assert_equal (COEFF,m(:, 1),10*eps); ***** assert_equal (SCORE,-m(1:2,1),10*eps); ***** assert_equal (latent,[1],10*eps); ***** assert_equal (tsquare,[0.5;0.5],10*eps) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/fitrgam.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/fitrgam.m ***** demo # Train a RegressionGAM Model for synthetic values f1 = @(x) cos (3 *x); f2 = @(x) x .^ 3; # generate x1 and x2 for f1 and f2 x1 = 2 * rand (50, 1) - 1; x2 = 2 * rand (50, 1) - 1; # calculate y y = f1(x1) + f2(x2); # add noise y = y + y .* 0.2 .* rand (50,1); X = [x1, x2]; # create an object a = fitrgam (X, y, 'tol', 1e-3) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = [1; 2; 3; 4]; a = fitrgam (x, y); assert_equal ({a.X, a.Y}, {x, y}) assert_equal ({a.BaseModel.Intercept}, {2.5000}) assert_equal ({a.Knots, a.Order, a.DoF}, {[5, 5, 5], [3, 3, 3], [8, 8, 8]}) assert_equal ({a.NumObservations, a.NumPredictors}, {4, 3}) assert_equal ({a.ResponseName, a.PredictorNames}, {'Y', {'x1', 'x2', 'x3'}}) assert_equal ({a.Formula}, {[]}) ***** test x = [1, 2, 3, 4; 4, 5, 6, 7; 7, 8, 9, 1; 3, 2, 1, 2]; y = [1; 2; 3; 4]; pnames = {'A', 'B', 'C', 'D'}; formula = 'Y ~ A + B + C + D + A:C'; intMat = logical ([1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,1,0]); a = fitrgam (x, y, 'predictors', pnames, 'formula', formula); assert_equal (a.IntMatrix, double (intMat)) assert_equal ({a.ResponseName, a.PredictorNames}, {'Y', pnames}) assert_equal (a.Formula, formula) ***** error fitrgam () ***** error fitrgam (ones (10,2)) ***** error fitrgam (ones (4,2), ones (4, 1), 'K') ***** error fitrgam (ones (4,2), ones (3, 1)) ***** error fitrgam (ones (4,2), ones (3, 1), 'K', 2) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/qqplot.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/qqplot.m ***** test hf = figure ('visible', 'off'); unwind_protect qqplot ([2 3 3 4 4 5 6 5 6 7 8 9 8 7 8 9 0 8 7 6 5 4 6 13 8 15 9 9]); unwind_protect_cleanup close (hf); end_unwind_protect ***** error qqplot () ***** error qqplot ({1}) ***** error qqplot (ones (2,2)) ***** error qqplot (1, 'foobar') ***** error qqplot ([1 2 3], 'foobar') 6 tests, 6 passed, 0 known failure, 0 skipped [inst/harmmean.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/harmmean.m ***** test x = [0:10]; y = [x;x+5;x+10]; assert_equal (harmmean (x), 0); m = [0 8.907635160795225 14.30854471766802]; assert_equal (harmmean (y, 2), m', 4e-14); assert_equal (harmmean (y, 'all'), 0); y(2,4) = NaN; m(2) = 9.009855936313949; assert_equal (harmmean (y, 2), [0 NaN m(3)]', 4e-14); assert_equal (harmmean (y', 'omitnan'), m, 4e-14); z = y + 20; assert_equal (harmmean (z, 'all'), NaN); assert_equal (harmmean (z, 'all', 'includenan'), NaN); assert_equal (harmmean (z, 'all', 'omitnan'), 29.1108719858295, 4e-14); m = [24.59488458841874 NaN 34.71244385944397]; assert_equal (harmmean (z'), m, 4e-14); assert_equal (harmmean (z', 'includenan'), m, 4e-14); m(2) = 29.84104075528277; assert_equal (harmmean (z', 'omitnan'), m, 4e-14); assert_equal (harmmean (z, 2, 'omitnan'), m', 4e-14); ***** test x = repmat ([1:20;6:25], [5 2 6 3]); assert_equal (size (harmmean (x, [3 2])), [10 1 1 3]); assert_equal (size (harmmean (x, [1 2])), [1 1 6 3]); assert_equal (size (harmmean (x, [1 2 4])), [1 1 6]); assert_equal (size (harmmean (x, [1 4 3])), [1 40]); assert_equal (size (harmmean (x, [1 2 3 4])), [1 1]); ***** test x = repmat ([1:20;6:25], [5 2 6 3]); m = repmat ([5.559045930488016;13.04950789021461], [5 1 1 3]); assert_equal (harmmean (x, [3 2]), m, 4e-14); x(2,5,6,3) = NaN; m(2,3) = NaN; assert_equal (harmmean (x, [3 2]), m, 4e-14); m(2,3) = 13.06617961315406; assert_equal (harmmean (x, [3 2], 'omitnan'), m, 4e-14); ***** test assert_equal (harmmean ([Inf, Inf]), Inf); assert_equal (harmmean ([Inf, Inf], 'all'), Inf); assert_equal (harmmean ([Inf, Inf], 2), Inf); assert_equal (harmmean ([NaN, Inf], 'omitnan'), Inf); assert_equal (harmmean ([NaN, Inf], 'includenan'), NaN); assert_equal (harmmean ([0, Inf]), 0); ***** test assert_equal (harmmean ([0, NaN]), NaN); assert_equal (harmmean ([0, NaN], 'all'), NaN); assert_equal (harmmean ([0, NaN], [1, 2]), NaN); assert_equal (harmmean ([0, NaN], 'omitnan'), 0); assert_equal (harmmean ([0, NaN], 'all', 'omitnan'), 0); ***** test a = harmmean ([]); assert_equal (isnan (a), true); assert_equal (size (a), [1, 1]); ***** assert_equal (harmmean (ones (2, 0, 3, 2)), ones (1, 0, 3, 2)) ***** assert_equal (harmmean (ones (2, 0, 3, 2), [1, 2]), NaN (1, 1, 3, 2)) ***** assert_equal (harmmean (ones (2, 0, 3, 2), 'all'), NaN) ***** assert_equal (harmmean (ones (2, 0, 3, 2), 1), ones (1, 0, 3, 2)) ***** assert_equal (harmmean (ones (2, 0, 3, 2), 2), NaN (2, 1, 3, 2)) ***** assert_equal (harmmean (ones (2, 0, 3, 2), 3), ones (2, 0, 1, 2)) ***** assert_equal (harmmean (ones (2, 0, 3, 2), 4), ones (2, 0, 3)) ***** assert_equal (harmmean ([], 1), ones (1, 0)) ***** assert_equal (harmmean ([], 2), ones (0, 1)) ***** assert_equal (harmmean ([], 3), []) ***** error harmmean ('char') ***** error harmmean ([1 -1 3]) ***** error ... harmmean (repmat ([1:20;6:25], [5 2 6 3 5]), -1) ***** error ... harmmean (repmat ([1:20;6:25], [5 2 6 3 5]), 0) ***** error ... harmmean (repmat ([1:20;6:25], [5 2 6 3 5]), [1 1]) ***** error ... harmmean ([1, 2; 3, 4], 1, 'all') ***** error ... harmmean ([1, 2; 3, 4], [1, 2], 'all') 23 tests, 23 passed, 0 known failure, 0 skipped [inst/dist_wrap/makedist.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_wrap/makedist.m ***** test pd = makedist ('beta'); assert_equal (class (pd), "BetaDistribution"); assert_equal (pd.a, 1); assert_equal (pd.b, 1); ***** test pd = makedist ('beta', 'a', 5); assert_equal (pd.a, 5); assert_equal (pd.b, 1); ***** test pd = makedist ('beta', 'b', 5); assert_equal (pd.a, 1); assert_equal (pd.b, 5); ***** test pd = makedist ('beta', 'a', 3, 'b', 5); assert_equal (pd.a, 3); assert_equal (pd.b, 5); ***** test pd = makedist ('binomial'); assert_equal (class (pd), "BinomialDistribution"); assert_equal (pd.N, 1); assert_equal (pd.p, 0.5); ***** test pd = makedist ('binomial', 'N', 5); assert_equal (pd.N, 5); assert_equal (pd.p, 0.5); ***** test pd = makedist ('binomial', 'p', 0.2); assert_equal (pd.N, 1); assert_equal (pd.p, 0.2); ***** test pd = makedist ('binomial', 'N', 3, 'p', 0.3); assert_equal (pd.N, 3); assert_equal (pd.p, 0.3); ***** test pd = makedist ('birnbaumsaunders'); assert_equal (class (pd), "BirnbaumSaundersDistribution"); assert_equal (pd.beta, 1); assert_equal (pd.gamma, 1); ***** test pd = makedist ('birnbaumsaunders', 'beta', 5); assert_equal (pd.beta, 5); assert_equal (pd.gamma, 1); ***** test pd = makedist ('birnbaumsaunders', 'gamma', 5); assert_equal (pd.beta, 1); assert_equal (pd.gamma, 5); ***** test pd = makedist ('birnbaumsaunders', 'beta', 3, 'gamma', 5); assert_equal (pd.beta, 3); assert_equal (pd.gamma, 5); ***** test pd = makedist ('burr'); assert_equal (class (pd), "BurrDistribution"); assert_equal (pd.alpha, 1); assert_equal (pd.c, 1); assert_equal (pd.k, 1); ***** test pd = makedist ('burr', 'k', 5); assert_equal (pd.alpha, 1); assert_equal (pd.c, 1); assert_equal (pd.k, 5); ***** test pd = makedist ('burr', 'c', 5); assert_equal (pd.alpha, 1); assert_equal (pd.c, 5); assert_equal (pd.k, 1); ***** test pd = makedist ('burr', 'alpha', 3, 'c', 5); assert_equal (pd.alpha, 3); assert_equal (pd.c, 5); assert_equal (pd.k, 1); ***** test pd = makedist ('burr', 'k', 3, 'c', 5); assert_equal (pd.alpha, 1); assert_equal (pd.c, 5); assert_equal (pd.k, 3); ***** test pd = makedist ('exponential'); assert_equal (class (pd), "ExponentialDistribution"); assert_equal (pd.mu, 1); ***** test pd = makedist ('exponential', 'mu', 5); assert_equal (pd.mu, 5); ***** test pd = makedist ('extremevalue'); assert_equal (class (pd), "ExtremeValueDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('extremevalue', 'mu', 5); assert_equal (class (pd), "ExtremeValueDistribution"); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('ev', 'sigma', 5); assert_equal (class (pd), "ExtremeValueDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('ev', 'mu', -3, 'sigma', 5); assert_equal (class (pd), "ExtremeValueDistribution"); assert_equal (pd.mu, -3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('gamma'); assert_equal (class (pd), "GammaDistribution"); assert_equal (pd.a, 1); assert_equal (pd.b, 1); ***** test pd = makedist ('gamma', 'a', 5); assert_equal (pd.a, 5); assert_equal (pd.b, 1); ***** test pd = makedist ('gamma', 'b', 5); assert_equal (pd.a, 1); assert_equal (pd.b, 5); ***** test pd = makedist ('gamma', 'a', 3, 'b', 5); assert_equal (pd.a, 3); assert_equal (pd.b, 5); ***** test pd = makedist ('GeneralizedExtremeValue'); assert_equal (class (pd), "GeneralizedExtremeValueDistribution"); assert_equal (pd.k, 0); assert_equal (pd.sigma, 1); assert_equal (pd.mu, 0); ***** test pd = makedist ('GeneralizedExtremeValue', 'k', 5); assert_equal (pd.k, 5); assert_equal (pd.sigma, 1); assert_equal (pd.mu, 0); ***** test pd = makedist ('GeneralizedExtremeValue', 'sigma', 5); assert_equal (pd.k, 0); assert_equal (pd.sigma, 5); assert_equal (pd.mu, 0); ***** test pd = makedist ('GeneralizedExtremeValue', 'k', 3, 'sigma', 5); assert_equal (pd.k, 3); assert_equal (pd.sigma, 5); assert_equal (pd.mu, 0); ***** test pd = makedist ('GeneralizedExtremeValue', 'mu', 3, 'sigma', 5); assert_equal (pd.k, 0); assert_equal (pd.sigma, 5); assert_equal (pd.mu, 3); ***** test pd = makedist ('GeneralizedPareto'); assert_equal (class (pd), "GeneralizedParetoDistribution"); assert_equal (pd.k, 1); assert_equal (pd.sigma, 1); assert_equal (pd.theta, 1); ***** test pd = makedist ('GeneralizedPareto', 'k', 5); assert_equal (pd.k, 5); assert_equal (pd.sigma, 1); assert_equal (pd.theta, 1); ***** test pd = makedist ('GeneralizedPareto', 'sigma', 5); assert_equal (pd.k, 1); assert_equal (pd.sigma, 5); assert_equal (pd.theta, 1); ***** test pd = makedist ('GeneralizedPareto', 'k', 3, 'sigma', 5); assert_equal (pd.k, 3); assert_equal (pd.sigma, 5); assert_equal (pd.theta, 1); ***** test pd = makedist ('GeneralizedPareto', 'theta', 3, 'sigma', 5); assert_equal (pd.k, 1); assert_equal (pd.sigma, 5); assert_equal (pd.theta, 3); ***** test pd = makedist ('HalfNormal'); assert_equal (class (pd), "HalfNormalDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('HalfNormal', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('HalfNormal', 'sigma', 5); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('HalfNormal', 'mu', 3, 'sigma', 5); assert_equal (pd.mu, 3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('InverseGaussian'); assert_equal (class (pd), "InverseGaussianDistribution"); assert_equal (pd.mu, 1); assert_equal (pd.lambda, 1); ***** test pd = makedist ('InverseGaussian', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.lambda, 1); ***** test pd = makedist ('InverseGaussian', 'lambda', 5); assert_equal (pd.mu, 1); assert_equal (pd.lambda, 5); ***** test pd = makedist ('InverseGaussian', 'mu', 3, 'lambda', 5); assert_equal (pd.mu, 3); assert_equal (pd.lambda, 5); ***** test pd = makedist ('logistic'); assert_equal (class (pd), "LogisticDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('logistic', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('logistic', 'sigma', 5); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('logistic', 'mu', 3, 'sigma', 5); assert_equal (pd.mu, 3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('loglogistic'); assert_equal (class (pd), "LoglogisticDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('loglogistic', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('loglogistic', 'sigma', 5); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('loglogistic', 'mu', 3, 'sigma', 5); assert_equal (pd.mu, 3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('Lognormal'); assert_equal (class (pd), "LognormalDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Lognormal', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Lognormal', 'sigma', 5); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('Lognormal', 'mu', -3, 'sigma', 5); assert_equal (pd.mu, -3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('Loguniform'); assert_equal (class (pd), "LoguniformDistribution"); assert_equal (pd.Lower, 1); assert_equal (pd.Upper, 4); ***** test pd = makedist ('Loguniform', 'Lower', 2); assert_equal (pd.Lower, 2); assert_equal (pd.Upper, 4); ***** test pd = makedist ('Loguniform', 'Lower', 1, 'Upper', 3); assert_equal (pd.Lower, 1); assert_equal (pd.Upper, 3); ***** test pd = makedist ('Multinomial'); assert_equal (class (pd), "MultinomialDistribution"); assert_equal (pd.Probabilities, [0.5, 0.5]); ***** test pd = makedist ('Multinomial', 'Probabilities', [0.2, 0.3, 0.1, 0.4]); assert_equal (class (pd), "MultinomialDistribution"); assert_equal (pd.Probabilities, [0.2, 0.3, 0.1, 0.4]); ***** test pd = makedist ('Nakagami'); assert_equal (class (pd), "NakagamiDistribution"); assert_equal (pd.mu, 1); assert_equal (pd.omega, 1); ***** test pd = makedist ('Nakagami', 'mu', 5); assert_equal (class (pd), "NakagamiDistribution"); assert_equal (pd.mu, 5); assert_equal (pd.omega, 1); ***** test pd = makedist ('Nakagami', 'omega', 0.3); assert_equal (class (pd), "NakagamiDistribution"); assert_equal (pd.mu, 1); assert_equal (pd.omega, 0.3); ***** test pd = makedist ('NegativeBinomial'); assert_equal (class (pd), "NegativeBinomialDistribution"); assert_equal (pd.R, 1); assert_equal (pd.P, 0.5); ***** test pd = makedist ('NegativeBinomial', 'R', 5); assert_equal (class (pd), "NegativeBinomialDistribution"); assert_equal (pd.R, 5); assert_equal (pd.P, 0.5); ***** test pd = makedist ('NegativeBinomial', 'p', 0.3); assert_equal (class (pd), "NegativeBinomialDistribution"); assert_equal (pd.R, 1); assert_equal (pd.P, 0.3); ***** test pd = makedist ('Normal'); assert_equal (class (pd), "NormalDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Normal', 'mu', 5); assert_equal (class (pd), "NormalDistribution"); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Normal', 'sigma', 5); assert_equal (class (pd), "NormalDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('Normal', 'mu', -3, 'sigma', 5); assert_equal (class (pd), "NormalDistribution"); assert_equal (pd.mu, -3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('PiecewiseLinear'); assert_equal (class (pd), "PiecewiseLinearDistribution"); assert_equal (pd.x, [0; 1]); assert_equal (pd.Fx, [0; 1]); ***** test pd = makedist ('PiecewiseLinear', 'x', [0, 1, 2], 'Fx', [0, 0.5, 1]); assert_equal (pd.x, [0; 1; 2]); assert_equal (pd.Fx, [0; 0.5; 1]); ***** test pd = makedist ('Poisson'); assert_equal (class (pd), "PoissonDistribution"); assert_equal (pd.lambda, 1); ***** test pd = makedist ('Poisson', 'lambda', 5); assert_equal (pd.lambda, 5); ***** test pd = makedist ('Rayleigh'); assert_equal (class (pd), "RayleighDistribution"); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Rayleigh', 'sigma', 5); assert_equal (pd.sigma, 5); ***** test pd = makedist ('Rician'); assert_equal (class (pd), "RicianDistribution"); assert_equal (pd.s, 1); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Rician', 's', 3); assert_equal (pd.s, 3); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Rician', 'sigma', 3); assert_equal (pd.s, 1); assert_equal (pd.sigma, 3); ***** test pd = makedist ('Rician', 's', 2, 'sigma', 3); assert_equal (pd.s, 2); assert_equal (pd.sigma, 3); ***** warning pd = makedist ('stable'); assert_equal (class (pd), "double"); assert_equal (isempty (pd), true); ***** test pd = makedist ('tlocationscale'); assert_equal (class (pd), "tLocationScaleDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); assert_equal (pd.nu, 5); ***** test pd = makedist ('tlocationscale', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); assert_equal (pd.nu, 5); ***** test pd = makedist ('tlocationscale', 'sigma', 2); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 2); assert_equal (pd.nu, 5); ***** test pd = makedist ('tlocationscale', 'mu', 5, 'sigma', 2); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 2); assert_equal (pd.nu, 5); ***** test pd = makedist ('tlocationscale', 'nu', 1, 'sigma', 2); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 2); assert_equal (pd.nu, 1); ***** test pd = makedist ('tlocationscale', 'mu', -2, 'sigma', 3, 'nu', 1); assert_equal (pd.mu, -2); assert_equal (pd.sigma, 3); assert_equal (pd.nu, 1); ***** test pd = makedist ('Triangular'); assert_equal (class (pd), "TriangularDistribution"); assert_equal (pd.A, 0); assert_equal (pd.B, 0.5); assert_equal (pd.C, 1); ***** test pd = makedist ('Triangular', 'A', -2); assert_equal (pd.A, -2); assert_equal (pd.B, 0.5); assert_equal (pd.C, 1); ***** test pd = makedist ('Triangular', 'A', 0.5, 'B', 0.9); assert_equal (pd.A, 0.5); assert_equal (pd.B, 0.9); assert_equal (pd.C, 1); ***** test pd = makedist ('Triangular', 'A', 1, 'B', 2, 'C', 5); assert_equal (pd.A, 1); assert_equal (pd.B, 2); assert_equal (pd.C, 5); ***** test pd = makedist ('Uniform'); assert_equal (class (pd), "UniformDistribution"); assert_equal (pd.Lower, 0); assert_equal (pd.Upper, 1); ***** test pd = makedist ('Uniform', 'Lower', -2); assert_equal (pd.Lower, -2); assert_equal (pd.Upper, 1); ***** test pd = makedist ('Uniform', 'Lower', 1, 'Upper', 3); assert_equal (pd.Lower, 1); assert_equal (pd.Upper, 3); ***** test pd = makedist ('Weibull'); assert_equal (class (pd), "WeibullDistribution"); assert_equal (pd.lambda, 1); assert_equal (pd.k, 1); ***** test pd = makedist ('Weibull', 'lambda', 3); assert_equal (pd.lambda, 3); assert_equal (pd.k, 1); ***** test pd = makedist ('Weibull', 'lambda', 3, 'k', 2); assert_equal (pd.lambda, 3); assert_equal (pd.k, 2); ***** error makedist (1) ***** error makedist (['as';'sd']) ***** error makedist ('some') ***** error ... makedist ('Beta', 'a') ***** error ... makedist ('Beta', 'a', 1, 'Q', 23) ***** error ... makedist ('Binomial', 'N', 1, 'Q', 23) ***** error ... makedist ('BirnbaumSaunders', 'N', 1) ***** error ... makedist ('Burr', 'lambda', 1, 'sdfs', 34) ***** error ... makedist ('extremevalue', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('exponential', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Gamma', 'k', 1, 'sdfs', 34) ***** error ... makedist ('GeneralizedExtremeValue', 'k', 1, 'sdfs', 34) ***** error ... makedist ('GeneralizedPareto', 'k', 1, 'sdfs', 34) ***** error ... makedist ('HalfNormal', 'k', 1, 'sdfs', 34) ***** error ... makedist ('InverseGaussian', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Logistic', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Loglogistic', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Lognormal', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Loguniform', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Multinomial', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Nakagami', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('NegativeBinomial', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Normal', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('PiecewiseLinear', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Poisson', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Rayleigh', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Rician', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Stable', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('tLocationScale', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Triangular', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Uniform', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Weibull', 'mu', 1, 'sdfs', 34) 131 tests, 131 passed, 0 known failure, 0 skipped [inst/dist_wrap/pdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_wrap/pdf.m ***** shared x x = [1:5]; ***** assert_equal (pdf ('Beta', x, 5, 2), betapdf (x, 5, 2)) ***** assert_equal (pdf ('beta', x, 5, 2), betapdf (x, 5, 2)) ***** assert_equal (pdf ('Binomial', x, 5, 2), binopdf (x, 5, 2)) ***** assert_equal (pdf ('bino', x, 5, 2), binopdf (x, 5, 2)) ***** assert_equal (pdf ('Birnbaum-Saunders', x, 5, 2), bisapdf (x, 5, 2)) ***** assert_equal (pdf ('bisa', x, 5, 2), bisapdf (x, 5, 2)) ***** assert_equal (pdf ('Burr', x, 5, 2, 2), burrpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('burr', x, 5, 2, 2), burrpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Cauchy', x, 5, 2), cauchypdf (x, 5, 2)) ***** assert_equal (pdf ('cauchy', x, 5, 2), cauchypdf (x, 5, 2)) ***** assert_equal (pdf ('Chi-squared', x, 5), chi2pdf (x, 5)) ***** assert_equal (pdf ('chi2', x, 5), chi2pdf (x, 5)) ***** assert_equal (pdf ('Extreme Value', x, 5, 2), evpdf (x, 5, 2)) ***** assert_equal (pdf ('ev', x, 5, 2), evpdf (x, 5, 2)) ***** assert_equal (pdf ('Exponential', x, 5), exppdf (x, 5)) ***** assert_equal (pdf ('exp', x, 5), exppdf (x, 5)) ***** assert_equal (pdf ('F-Distribution', x, 5, 2), fpdf (x, 5, 2)) ***** assert_equal (pdf ('f', x, 5, 2), fpdf (x, 5, 2)) ***** assert_equal (pdf ('Gamma', x, 5, 2), gampdf (x, 5, 2)) ***** assert_equal (pdf ('gam', x, 5, 2), gampdf (x, 5, 2)) ***** assert_equal (pdf ('Geometric', x, 5), geopdf (x, 5)) ***** assert_equal (pdf ('geo', x, 5), geopdf (x, 5)) ***** assert_equal (pdf ('Generalized Extreme Value', x, 5, 2, 2), gevpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('gev', x, 5, 2, 2), gevpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Generalized Pareto', x, 5, 2, 2), gppdf (x, 5, 2, 2)) ***** assert_equal (pdf ('gp', x, 5, 2, 2), gppdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Gumbel', x, 5, 2), gumbelpdf (x, 5, 2)) ***** assert_equal (pdf ('gumbel', x, 5, 2), gumbelpdf (x, 5, 2)) ***** assert_equal (pdf ('Half-normal', x, 5, 2), hnpdf (x, 5, 2)) ***** assert_equal (pdf ('hn', x, 5, 2), hnpdf (x, 5, 2)) ***** assert_equal (pdf ('Hypergeometric', x, 5, 2, 2), hygepdf (x, 5, 2, 2)) ***** assert_equal (pdf ('hyge', x, 5, 2, 2), hygepdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Inverse Gaussian', x, 5, 2), invgpdf (x, 5, 2)) ***** assert_equal (pdf ('invg', x, 5, 2), invgpdf (x, 5, 2)) ***** assert_equal (pdf ('Laplace', x, 5, 2), laplacepdf (x, 5, 2)) ***** assert_equal (pdf ('laplace', x, 5, 2), laplacepdf (x, 5, 2)) ***** assert_equal (pdf ('Logistic', x, 5, 2), logipdf (x, 5, 2)) ***** assert_equal (pdf ('logi', x, 5, 2), logipdf (x, 5, 2)) ***** assert_equal (pdf ('Log-Logistic', x, 5, 2), loglpdf (x, 5, 2)) ***** assert_equal (pdf ('logl', x, 5, 2), loglpdf (x, 5, 2)) ***** assert_equal (pdf ('Lognormal', x, 5, 2), lognpdf (x, 5, 2)) ***** assert_equal (pdf ('logn', x, 5, 2), lognpdf (x, 5, 2)) ***** assert_equal (pdf ('Nakagami', x, 5, 2), nakapdf (x, 5, 2)) ***** assert_equal (pdf ('naka', x, 5, 2), nakapdf (x, 5, 2)) ***** assert_equal (pdf ('Negative Binomial', x, 5, 2), nbinpdf (x, 5, 2)) ***** assert_equal (pdf ('nbin', x, 5, 2), nbinpdf (x, 5, 2)) ***** assert_equal (pdf ('Noncentral F-Distribution', x, 5, 2, 2), ncfpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('ncf', x, 5, 2, 2), ncfpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Noncentral Student T', x, 5, 2), nctpdf (x, 5, 2)) ***** assert_equal (pdf ('nct', x, 5, 2), nctpdf (x, 5, 2)) ***** assert_equal (pdf ('Noncentral Chi-Squared', x, 5, 2), ncx2pdf (x, 5, 2)) ***** assert_equal (pdf ('ncx2', x, 5, 2), ncx2pdf (x, 5, 2)) ***** assert_equal (pdf ('Normal', x, 5, 2), normpdf (x, 5, 2)) ***** assert_equal (pdf ('norm', x, 5, 2), normpdf (x, 5, 2)) ***** assert_equal (pdf ('Poisson', x, 5), poisspdf (x, 5)) ***** assert_equal (pdf ('poiss', x, 5), poisspdf (x, 5)) ***** assert_equal (pdf ('Rayleigh', x, 5), raylpdf (x, 5)) ***** assert_equal (pdf ('rayl', x, 5), raylpdf (x, 5)) ***** assert_equal (pdf ('Rician', x, 5, 1), ricepdf (x, 5, 1)) ***** assert_equal (pdf ('rice', x, 5, 1), ricepdf (x, 5, 1)) ***** assert_equal (pdf ('Student T', x, 5), tpdf (x, 5)) ***** assert_equal (pdf ('t', x, 5), tpdf (x, 5)) ***** assert_equal (pdf ('location-scale T', x, 5, 1, 2), tlspdf (x, 5, 1, 2)) ***** assert_equal (pdf ('tls', x, 5, 1, 2), tlspdf (x, 5, 1, 2)) ***** assert_equal (pdf ('Triangular', x, 5, 2, 2), tripdf (x, 5, 2, 2)) ***** assert_equal (pdf ('tri', x, 5, 2, 2), tripdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Discrete Uniform', x, 5), unidpdf (x, 5)) ***** assert_equal (pdf ('unid', x, 5), unidpdf (x, 5)) ***** assert_equal (pdf ('Uniform', x, 5, 2), unifpdf (x, 5, 2)) ***** assert_equal (pdf ('unif', x, 5, 2), unifpdf (x, 5, 2)) ***** assert_equal (pdf ('Von Mises', x, 5, 2), vmpdf (x, 5, 2)) ***** assert_equal (pdf ('vm', x, 5, 2), vmpdf (x, 5, 2)) ***** assert_equal (pdf ('Weibull', x, 5, 2), wblpdf (x, 5, 2)) ***** assert_equal (pdf ('wbl', x, 5, 2), wblpdf (x, 5, 2)) ***** error pdf (1) ***** error pdf ({'beta'}) ***** error pdf ('beta', {[1 2 3 4 5]}) ***** error pdf ('beta', 'text') ***** error pdf ('beta', 1+i) ***** error ... pdf ('Beta', x, 'a', 2) ***** error ... pdf ('Beta', x, 5, '') ***** error ... pdf ('Beta', x, 5, {2}) ***** error pdf ('chi2', x) ***** error pdf ('Beta', x, 5) ***** error pdf ('Burr', x, 5) ***** error pdf ('Burr', x, 5, 2) 86 tests, 86 passed, 0 known failure, 0 skipped [inst/dist_wrap/random.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_wrap/random.m ***** assert_equal (size (random ('Beta', 5, 2, 2, 10)), size (betarnd (5, 2, 2, 10))) ***** assert_equal (size (random ('beta', 5, 2, 2, 10)), size (betarnd (5, 2, 2, 10))) ***** assert_equal (size (random ('Binomial', 5, 2, [10, 20])), size (binornd (5, 2, 10, 20))) ***** assert_equal (size (random ('bino', 5, 2, [10, 20])), size (binornd (5, 2, 10, 20))) ***** assert_equal (size (random ('Birnbaum-Saunders', 5, 2, [10, 20])), size (bisarnd (5, 2, 10, 20))) ***** assert_equal (size (random ('bisa', 5, 2, [10, 20])), size (bisarnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Burr', 5, 2, 2, [10, 20])), size (burrrnd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('burr', 5, 2, 2, [10, 20])), size (burrrnd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('Cauchy', 5, 2, [10, 20])), size (cauchyrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('cauchy', 5, 2, [10, 20])), size (cauchyrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Chi-squared', 5, [10, 20])), size (chi2rnd (5, 10, 20))) ***** assert_equal (size (random ('chi2', 5, [10, 20])), size (chi2rnd (5, 10, 20))) ***** assert_equal (size (random ('Extreme Value', 5, 2, [10, 20])), size (evrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('ev', 5, 2, [10, 20])), size (evrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Exponential', 5, [10, 20])), size (exprnd (5, 10, 20))) ***** assert_equal (size (random ('exp', 5, [10, 20])), size (exprnd (5, 10, 20))) ***** assert_equal (size (random ('F-Distribution', 5, 2, [10, 20])), size (frnd (5, 2, 10, 20))) ***** assert_equal (size (random ('f', 5, 2, [10, 20])), size (frnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Gamma', 5, 2, [10, 20])), size (gamrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('gam', 5, 2, [10, 20])), size (gamrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Geometric', 5, [10, 20])), size (geornd (5, 10, 20))) ***** assert_equal (size (random ('geo', 5, [10, 20])), size (geornd (5, 10, 20))) ***** assert_equal (size (random ('Generalized Extreme Value', 5, 2, 2, [10, 20])), size (gevrnd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('gev', 5, 2, 2, [10, 20])), size (gevrnd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('Generalized Pareto', 5, 2, 2, [10, 20])), size (gprnd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('gp', 5, 2, 2, [10, 20])), size (gprnd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('Gumbel', 5, 2, [10, 20])), size (gumbelrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('gumbel', 5, 2, [10, 20])), size (gumbelrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Half-normal', 5, 2, [10, 20])), size (hnrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('hn', 5, 2, [10, 20])), size (hnrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Hypergeometric', 5, 2, 2, [10, 20])), size (hygernd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('hyge', 5, 2, 2, [10, 20])), size (hygernd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('Inverse Gaussian', 5, 2, [10, 20])), size (invgrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('invg', 5, 2, [10, 20])), size (invgrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Laplace', 5, 2, [10, 20])), size (laplacernd (5, 2, 10, 20))) ***** assert_equal (size (random ('laplace', 5, 2, [10, 20])), size (laplacernd (5, 2, 10, 20))) ***** assert_equal (size (random ('Logistic', 5, 2, [10, 20])), size (logirnd (5, 2, 10, 20))) ***** assert_equal (size (random ('logi', 5, 2, [10, 20])), size (logirnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Log-Logistic', 5, 2, [10, 20])), size (loglrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('logl', 5, 2, [10, 20])), size (loglrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Lognormal', 5, 2, [10, 20])), size (lognrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('logn', 5, 2, [10, 20])), size (lognrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Nakagami', 5, 2, [10, 20])), size (nakarnd (5, 2, 10, 20))) ***** assert_equal (size (random ('naka', 5, 2, [10, 20])), size (nakarnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Negative Binomial', 5, 2, [10, 20])), size (nbinrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('nbin', 5, 2, [10, 20])), size (nbinrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Noncentral F-Distribution', 5, 2, 2, [10, 20])), size (ncfrnd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('ncf', 5, 2, 2, [10, 20])), size (ncfrnd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('Noncentral Student T', 5, 2, [10, 20])), size (nctrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('nct', 5, 2, [10, 20])), size (nctrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Noncentral Chi-Squared', 5, 2, [10, 20])), size (ncx2rnd (5, 2, 10, 20))) ***** assert_equal (size (random ('ncx2', 5, 2, [10, 20])), size (ncx2rnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Normal', 5, 2, [10, 20])), size (normrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('norm', 5, 2, [10, 20])), size (normrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Poisson', 5, [10, 20])), size (poissrnd (5, 10, 20))) ***** assert_equal (size (random ('poiss', 5, [10, 20])), size (poissrnd (5, 10, 20))) ***** assert_equal (size (random ('Rayleigh', 5, [10, 20])), size (raylrnd (5, 10, 20))) ***** assert_equal (size (random ('rayl', 5, [10, 20])), size (raylrnd (5, 10, 20))) ***** assert_equal (size (random ('Rician', 5, 1, [10, 20])), size (ricernd (5, 1, 10, 20))) ***** assert_equal (size (random ('rice', 5, 1, [10, 20])), size (ricernd (5, 1, 10, 20))) ***** assert_equal (size (random ('Student T', 5, [10, 20])), size (trnd (5, 10, 20))) ***** assert_equal (size (random ('t', 5, [10, 20])), size (trnd (5, 10, 20))) ***** assert_equal (size (random ('location-scale T', 5, 1, 2, [10, 20])), size (tlsrnd (5, 1, 2, 10, 20))) ***** assert_equal (size (random ('tls', 5, 1, 2, [10, 20])), size (tlsrnd (5, 1, 2, 10, 20))) ***** assert_equal (size (random ('Triangular', 5, 2, 2, [10, 20])), size (trirnd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('tri', 5, 2, 2, [10, 20])), size (trirnd (5, 2, 2, 10, 20))) ***** assert_equal (size (random ('Discrete Uniform', 5, [10, 20])), size (unidrnd (5, 10, 20))) ***** assert_equal (size (random ('unid', 5, [10, 20])), size (unidrnd (5, 10, 20))) ***** assert_equal (size (random ('Uniform', 5, 2, [10, 20])), size (unifrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('unif', 5, 2, [10, 20])), size (unifrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Von Mises', 5, 2, [10, 20])), size (vmrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('vm', 5, 2, [10, 20])), size (vmrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('Weibull', 5, 2, [10, 20])), size (wblrnd (5, 2, 10, 20))) ***** assert_equal (size (random ('wbl', 5, 2, [10, 20])), size (wblrnd (5, 2, 10, 20))) ***** error random (1) ***** error random ({'beta'}) ***** error ... random ('Beta', 'a', 2) ***** error ... random ('Beta', 5, '') ***** error ... random ('Beta', 5, {2}) ***** error ... random ('Beta', 'a', 2, 2, 10) ***** error ... random ('Beta', 5, '', 2, 10) ***** error ... random ('Beta', 5, {2}, 2, 10) ***** error ... random ('Beta', 5, '', 2, 10) ***** error random ('chi2') ***** error random ('Beta', 5) ***** error random ('Burr', 5) ***** error random ('Burr', 5, 2) 87 tests, 87 passed, 0 known failure, 0 skipped [inst/dist_wrap/mle.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_wrap/mle.m ***** error mle (ones (2)) ***** error mle ('text') ***** error mle ([1, 2, 3, i, 5]) ***** error ... mle ([1:50], 'distribution') ***** error ... mle ([1:50], 'censoring', logical ([1,0,1,0])) ***** error ... mle ([1:50], 'frequency', [1,0,1,0]) ***** error ... mle ([1 0 1 0], 'frequency', [-1 1 0 0]) ***** error ... mle ([1 0 1 0], 'distribution', 'nbin', 'frequency', [-1 1 0 0]) ***** error mle ([1:50], 'alpha', [0.05, 0.01]) ***** error mle ([1:50], 'alpha', 1) ***** error mle ([1:50], 'alpha', -1) ***** error mle ([1:50], 'alpha', i) ***** error ... mle ([1:50], 'ntrials', -1) ***** error ... mle ([1:50], 'ntrials', [20, 50]) ***** error ... mle ([1:50], 'ntrials', [20.3]) ***** error ... mle ([1:50], 'ntrials', 3i) ***** error ... mle ([1:50], 'options', 4) ***** error ... mle ([1:50], 'options', struct ('x', 3)) ***** error mle ([1:50], 'NAME', 'value') ***** error ... mle ([1 0 1 0], 'distribution', 'bernoulli', 'censoring', [1 1 0 0]) ***** error ... mle ([1 2 1 0], 'distribution', 'bernoulli') ***** error ... mle ([1 0 1 0], 'distribution', 'beta', 'censoring', [1 1 0 0]) ***** error ... mle ([1 0 1 0], 'distribution', 'bino', 'censoring', [1 1 0 0]) ***** error ... mle ([1 0 1 0], 'distribution', 'bino') ***** error ... mle ([1 0 1 0], 'distribution', 'geo', 'censoring', [1 1 0 0]) ***** error ... mle ([1 0 1 0], 'distribution', 'gev', 'censoring', [1 1 0 0]) ***** error ... mle ([1 0 1 0], 'distribution', 'gp', 'censoring', [1 1 0 0]) ***** error ... mle ([1 0 -1 0], 'distribution', 'gp') ***** error ... mle ([1 0 1 0], 'distribution', 'hn', 'censoring', [1 1 0 0]) ***** error ... mle ([1 0 -1 0], 'distribution', 'hn') ***** error ... mle ([1 0 1 0], 'distribution', 'nbin', 'censoring', [1 1 0 0]) ***** error ... mle ([1 0 1 0], 'distribution', 'poisson', 'censoring', [1 1 0 0]) ***** error ... mle ([1 0 1 0], 'distribution', 'unid', 'censoring', [1 1 0 0]) ***** error ... mle ([1 0 1 0], 'distribution', 'unif', 'censoring', [1 1 0 0]) ***** error mle ([1:50], 'distribution', 'value') ***** error ... mle ([1 0 1 0], 'distribution', 'unif', 'censoring', [1 1 0 0]) 36 tests, 36 passed, 0 known failure, 0 skipped [inst/dist_wrap/icdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_wrap/icdf.m ***** shared p p = [0.05:0.05:0.5]; ***** assert_equal (icdf ('Beta', p, 5, 2), betainv (p, 5, 2)) ***** assert_equal (icdf ('beta', p, 5, 2), betainv (p, 5, 2)) ***** assert_equal (icdf ('Binomial', p, 5, 2), binoinv (p, 5, 2)) ***** assert_equal (icdf ('bino', p, 5, 2), binoinv (p, 5, 2)) ***** assert_equal (icdf ('Birnbaum-Saunders', p, 5, 2), bisainv (p, 5, 2)) ***** assert_equal (icdf ('bisa', p, 5, 2), bisainv (p, 5, 2)) ***** assert_equal (icdf ('Burr', p, 5, 2, 2), burrinv (p, 5, 2, 2)) ***** assert_equal (icdf ('burr', p, 5, 2, 2), burrinv (p, 5, 2, 2)) ***** assert_equal (icdf ('Cauchy', p, 5, 2), cauchyinv (p, 5, 2)) ***** assert_equal (icdf ('cauchy', p, 5, 2), cauchyinv (p, 5, 2)) ***** assert_equal (icdf ('Chi-squared', p, 5), chi2inv (p, 5)) ***** assert_equal (icdf ('chi2', p, 5), chi2inv (p, 5)) ***** assert_equal (icdf ('Extreme Value', p, 5, 2), evinv (p, 5, 2)) ***** assert_equal (icdf ('ev', p, 5, 2), evinv (p, 5, 2)) ***** assert_equal (icdf ('Exponential', p, 5), expinv (p, 5)) ***** assert_equal (icdf ('exp', p, 5), expinv (p, 5)) ***** assert_equal (icdf ('F-Distribution', p, 5, 2), finv (p, 5, 2)) ***** assert_equal (icdf ('f', p, 5, 2), finv (p, 5, 2)) ***** assert_equal (icdf ('Gamma', p, 5, 2), gaminv (p, 5, 2)) ***** assert_equal (icdf ('gam', p, 5, 2), gaminv (p, 5, 2)) ***** assert_equal (icdf ('Geometric', p, 5), geoinv (p, 5)) ***** assert_equal (icdf ('geo', p, 5), geoinv (p, 5)) ***** assert_equal (icdf ('Generalized Extreme Value', p, 5, 2, 2), gevinv (p, 5, 2, 2)) ***** assert_equal (icdf ('gev', p, 5, 2, 2), gevinv (p, 5, 2, 2)) ***** assert_equal (icdf ('Generalized Pareto', p, 5, 2, 2), gpinv (p, 5, 2, 2)) ***** assert_equal (icdf ('gp', p, 5, 2, 2), gpinv (p, 5, 2, 2)) ***** assert_equal (icdf ('Gumbel', p, 5, 2), gumbelinv (p, 5, 2)) ***** assert_equal (icdf ('gumbel', p, 5, 2), gumbelinv (p, 5, 2)) ***** assert_equal (icdf ('Half-normal', p, 5, 2), hninv (p, 5, 2)) ***** assert_equal (icdf ('hn', p, 5, 2), hninv (p, 5, 2)) ***** assert_equal (icdf ('Hypergeometric', p, 5, 2, 2), hygeinv (p, 5, 2, 2)) ***** assert_equal (icdf ('hyge', p, 5, 2, 2), hygeinv (p, 5, 2, 2)) ***** assert_equal (icdf ('Inverse Gaussian', p, 5, 2), invginv (p, 5, 2)) ***** assert_equal (icdf ('invg', p, 5, 2), invginv (p, 5, 2)) ***** assert_equal (icdf ('Laplace', p, 5, 2), laplaceinv (p, 5, 2)) ***** assert_equal (icdf ('laplace', p, 5, 2), laplaceinv (p, 5, 2)) ***** assert_equal (icdf ('Logistic', p, 5, 2), logiinv (p, 5, 2)) ***** assert_equal (icdf ('logi', p, 5, 2), logiinv (p, 5, 2)) ***** assert_equal (icdf ('Log-Logistic', p, 5, 2), loglinv (p, 5, 2)) ***** assert_equal (icdf ('logl', p, 5, 2), loglinv (p, 5, 2)) ***** assert_equal (icdf ('Lognormal', p, 5, 2), logninv (p, 5, 2)) ***** assert_equal (icdf ('logn', p, 5, 2), logninv (p, 5, 2)) ***** assert_equal (icdf ('Nakagami', p, 5, 2), nakainv (p, 5, 2)) ***** assert_equal (icdf ('naka', p, 5, 2), nakainv (p, 5, 2)) ***** assert_equal (icdf ('Negative Binomial', p, 5, 2), nbininv (p, 5, 2)) ***** assert_equal (icdf ('nbin', p, 5, 2), nbininv (p, 5, 2)) ***** assert_equal (icdf ('Noncentral F-Distribution', p, 5, 2, 2), ncfinv (p, 5, 2, 2)) ***** assert_equal (icdf ('ncf', p, 5, 2, 2), ncfinv (p, 5, 2, 2)) ***** assert_equal (icdf ('Noncentral Student T', p, 5, 2), nctinv (p, 5, 2)) ***** assert_equal (icdf ('nct', p, 5, 2), nctinv (p, 5, 2)) ***** assert_equal (icdf ('Noncentral Chi-Squared', p, 5, 2), ncx2inv (p, 5, 2)) ***** assert_equal (icdf ('ncx2', p, 5, 2), ncx2inv (p, 5, 2)) ***** assert_equal (icdf ('Normal', p, 5, 2), norminv (p, 5, 2)) ***** assert_equal (icdf ('norm', p, 5, 2), norminv (p, 5, 2)) ***** assert_equal (icdf ('Poisson', p, 5), poissinv (p, 5)) ***** assert_equal (icdf ('poiss', p, 5), poissinv (p, 5)) ***** assert_equal (icdf ('Rayleigh', p, 5), raylinv (p, 5)) ***** assert_equal (icdf ('rayl', p, 5), raylinv (p, 5)) ***** assert_equal (icdf ('Rician', p, 5, 1), riceinv (p, 5, 1)) ***** assert_equal (icdf ('rice', p, 5, 1), riceinv (p, 5, 1)) ***** assert_equal (icdf ('Student T', p, 5), tinv (p, 5)) ***** assert_equal (icdf ('t', p, 5), tinv (p, 5)) ***** assert_equal (icdf ('location-scale T', p, 5, 1, 2), tlsinv (p, 5, 1, 2)) ***** assert_equal (icdf ('tls', p, 5, 1, 2), tlsinv (p, 5, 1, 2)) ***** assert_equal (icdf ('Triangular', p, 5, 2, 2), triinv (p, 5, 2, 2)) ***** assert_equal (icdf ('tri', p, 5, 2, 2), triinv (p, 5, 2, 2)) ***** assert_equal (icdf ('Discrete Uniform', p, 5), unidinv (p, 5)) ***** assert_equal (icdf ('unid', p, 5), unidinv (p, 5)) ***** assert_equal (icdf ('Uniform', p, 5, 2), unifinv (p, 5, 2)) ***** assert_equal (icdf ('unif', p, 5, 2), unifinv (p, 5, 2)) ***** assert_equal (icdf ('Von Mises', p, 5, 2), vminv (p, 5, 2)) ***** assert_equal (icdf ('vm', p, 5, 2), vminv (p, 5, 2)) ***** assert_equal (icdf ('Weibull', p, 5, 2), wblinv (p, 5, 2)) ***** assert_equal (icdf ('wbl', p, 5, 2), wblinv (p, 5, 2)) ***** error icdf (1) ***** error icdf ({'beta'}) ***** error icdf ('beta', {[1 2 3 4 5]}) ***** error icdf ('beta', 'text') ***** error icdf ('beta', 1+i) ***** error ... icdf ('Beta', p, 'a', 2) ***** error ... icdf ('Beta', p, 5, '') ***** error ... icdf ('Beta', p, 5, {2}) ***** error icdf ('chi2', p) ***** error icdf ('Beta', p, 5) ***** error icdf ('Burr', p, 5) ***** error icdf ('Burr', p, 5, 2) 86 tests, 86 passed, 0 known failure, 0 skipped [inst/dist_wrap/cdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_wrap/cdf.m ***** shared x x = [1:5]; ***** assert_equal (cdf ('Beta', x, 5, 2), betacdf (x, 5, 2)) ***** assert_equal (cdf ('beta', x, 5, 2, 'upper'), betacdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Binomial', x, 5, 2), binocdf (x, 5, 2)) ***** assert_equal (cdf ('bino', x, 5, 2, 'upper'), binocdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Birnbaum-Saunders', x, 5, 2), bisacdf (x, 5, 2)) ***** assert_equal (cdf ('bisa', x, 5, 2, 'upper'), bisacdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Burr', x, 5, 2, 2), burrcdf (x, 5, 2, 2)) ***** assert_equal (cdf ('burr', x, 5, 2, 2, 'upper'), burrcdf (x, 5, 2, 2, 'upper')) ***** assert_equal (cdf ('Cauchy', x, 5, 2), cauchycdf (x, 5, 2)) ***** assert_equal (cdf ('cauchy', x, 5, 2, 'upper'), cauchycdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Chi-squared', x, 5), chi2cdf (x, 5)) ***** assert_equal (cdf ('chi2', x, 5, 'upper'), chi2cdf (x, 5, 'upper')) ***** assert_equal (cdf ('Extreme Value', x, 5, 2), evcdf (x, 5, 2)) ***** assert_equal (cdf ('ev', x, 5, 2, 'upper'), evcdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Exponential', x, 5), expcdf (x, 5)) ***** assert_equal (cdf ('exp', x, 5, 'upper'), expcdf (x, 5, 'upper')) ***** assert_equal (cdf ('F-Distribution', x, 5, 2), fcdf (x, 5, 2)) ***** assert_equal (cdf ('f', x, 5, 2, 'upper'), fcdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Gamma', x, 5, 2), gamcdf (x, 5, 2)) ***** assert_equal (cdf ('gam', x, 5, 2, 'upper'), gamcdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Geometric', x, 5), geocdf (x, 5)) ***** assert_equal (cdf ('geo', x, 5, 'upper'), geocdf (x, 5, 'upper')) ***** assert_equal (cdf ('Generalized Extreme Value', x, 5, 2, 2), gevcdf (x, 5, 2, 2)) ***** assert_equal (cdf ('gev', x, 5, 2, 2, 'upper'), gevcdf (x, 5, 2, 2, 'upper')) ***** assert_equal (cdf ('Generalized Pareto', x, 5, 2, 2), gpcdf (x, 5, 2, 2)) ***** assert_equal (cdf ('gp', x, 5, 2, 2, 'upper'), gpcdf (x, 5, 2, 2, 'upper')) ***** assert_equal (cdf ('Gumbel', x, 5, 2), gumbelcdf (x, 5, 2)) ***** assert_equal (cdf ('gumbel', x, 5, 2, 'upper'), gumbelcdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Half-normal', x, 5, 2), hncdf (x, 5, 2)) ***** assert_equal (cdf ('hn', x, 5, 2, 'upper'), hncdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Hypergeometric', x, 5, 2, 2), hygecdf (x, 5, 2, 2)) ***** assert_equal (cdf ('hyge', x, 5, 2, 2, 'upper'), hygecdf (x, 5, 2, 2, 'upper')) ***** assert_equal (cdf ('Inverse Gaussian', x, 5, 2), invgcdf (x, 5, 2)) ***** assert_equal (cdf ('invg', x, 5, 2, 'upper'), invgcdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Laplace', x, 5, 2), laplacecdf (x, 5, 2)) ***** assert_equal (cdf ('laplace', x, 5, 2, 'upper'), laplacecdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Logistic', x, 5, 2), logicdf (x, 5, 2)) ***** assert_equal (cdf ('logi', x, 5, 2, 'upper'), logicdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Log-Logistic', x, 5, 2), loglcdf (x, 5, 2)) ***** assert_equal (cdf ('logl', x, 5, 2, 'upper'), loglcdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Lognormal', x, 5, 2), logncdf (x, 5, 2)) ***** assert_equal (cdf ('logn', x, 5, 2, 'upper'), logncdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Nakagami', x, 5, 2), nakacdf (x, 5, 2)) ***** assert_equal (cdf ('naka', x, 5, 2, 'upper'), nakacdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Negative Binomial', x, 5, 2), nbincdf (x, 5, 2)) ***** assert_equal (cdf ('nbin', x, 5, 2, 'upper'), nbincdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Noncentral F-Distribution', x, 5, 2, 2), ncfcdf (x, 5, 2, 2)) ***** assert_equal (cdf ('ncf', x, 5, 2, 2, 'upper'), ncfcdf (x, 5, 2, 2, 'upper')) ***** assert_equal (cdf ('Noncentral Student T', x, 5, 2), nctcdf (x, 5, 2)) ***** assert_equal (cdf ('nct', x, 5, 2, 'upper'), nctcdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Noncentral Chi-Squared', x, 5, 2), ncx2cdf (x, 5, 2)) ***** assert_equal (cdf ('ncx2', x, 5, 2, 'upper'), ncx2cdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Normal', x, 5, 2), normcdf (x, 5, 2)) ***** assert_equal (cdf ('norm', x, 5, 2, 'upper'), normcdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Poisson', x, 5), poisscdf (x, 5)) ***** assert_equal (cdf ('poiss', x, 5, 'upper'), poisscdf (x, 5, 'upper')) ***** assert_equal (cdf ('Rayleigh', x, 5), raylcdf (x, 5)) ***** assert_equal (cdf ('rayl', x, 5, 'upper'), raylcdf (x, 5, 'upper')) ***** assert_equal (cdf ('Rician', x, 5, 1), ricecdf (x, 5, 1)) ***** assert_equal (cdf ('rice', x, 5, 1, 'upper'), ricecdf (x, 5, 1, 'upper')) ***** assert_equal (cdf ('Student T', x, 5), tcdf (x, 5)) ***** assert_equal (cdf ('t', x, 5, 'upper'), tcdf (x, 5, 'upper')) ***** assert_equal (cdf ('location-scale T', x, 5, 1, 2), tlscdf (x, 5, 1, 2)) ***** assert_equal (cdf ('tls', x, 5, 1, 2, 'upper'), tlscdf (x, 5, 1, 2, 'upper')) ***** assert_equal (cdf ('Triangular', x, 5, 2, 2), tricdf (x, 5, 2, 2)) ***** assert_equal (cdf ('tri', x, 5, 2, 2, 'upper'), tricdf (x, 5, 2, 2, 'upper')) ***** assert_equal (cdf ('Discrete Uniform', x, 5), unidcdf (x, 5)) ***** assert_equal (cdf ('unid', x, 5, 'upper'), unidcdf (x, 5, 'upper')) ***** assert_equal (cdf ('Uniform', x, 5, 2), unifcdf (x, 5, 2)) ***** assert_equal (cdf ('unif', x, 5, 2, 'upper'), unifcdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Von Mises', x, 5, 2), vmcdf (x, 5, 2)) ***** assert_equal (cdf ('vm', x, 5, 2, 'upper'), vmcdf (x, 5, 2, 'upper')) ***** assert_equal (cdf ('Weibull', x, 5, 2), wblcdf (x, 5, 2)) ***** assert_equal (cdf ('wbl', x, 5, 2, 'upper'), wblcdf (x, 5, 2, 'upper')) ***** error cdf (1) ***** error cdf ({'beta'}) ***** error cdf ('beta', {[1 2 3 4 5]}) ***** error cdf ('beta', 'text') ***** error cdf ('beta', 1+i) ***** error ... cdf ('Beta', x, 'a', 2) ***** error ... cdf ('Beta', x, 5, '') ***** error ... cdf ('Beta', x, 5, {2}) ***** error cdf ('chi2', x) ***** error cdf ('Beta', x, 5) ***** error cdf ('Burr', x, 5) ***** error cdf ('Burr', x, 5, 2) 86 tests, 86 passed, 0 known failure, 0 skipped [inst/dist_wrap/fitdist.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_wrap/fitdist.m ***** test x = betarnd (1, 1, 100, 1); pd = fitdist (x, 'Beta'); [phat, pci] = betafit (x); assert_equal ([pd.a, pd.b], phat); assert_equal (paramci (pd), pci); ***** test x1 = betarnd (1, 1, 100, 1); x2 = betarnd (5, 2, 100, 1); pd = fitdist ([x1; x2], 'Beta', 'By', [ones(100, 1); 2*ones(100, 1)]); [phat, pci] = betafit (x1); assert_equal ([pd{1}.a, pd{1}.b], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = betafit (x2); assert_equal ([pd{2}.a, pd{2}.b], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([betarnd(1, 1, 100, 1); nan(100, 1)], 'Beta', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test N = 1; x = binornd (N, 0.5, 100, 1); pd = fitdist (x, 'binomial'); [phat, pci] = binofit (sum (x), numel (x)); assert_equal ([pd.N, pd.p], [N, phat]); assert_equal (paramci (pd), pci); ***** test N = 3; x = binornd (N, 0.4, 100, 1); pd = fitdist (x, 'binomial', 'ntrials', N); [phat, pci] = binofit (sum (x), numel (x) * N); assert_equal ([pd.N, pd.p], [N, phat]); assert_equal (paramci (pd), pci); ***** test N = 1; x1 = binornd (N, 0.5, 100, 1); x2 = binornd (N, 0.7, 100, 1); pd = fitdist ([x1; x2], 'binomial', 'By', [ones(100, 1); 2*ones(100, 1)]); [phat, pci] = binofit (sum (x1), numel (x1)); assert_equal ([pd{1}.N, pd{1}.p], [N, phat]); assert_equal (paramci (pd{1}), pci); [phat, pci] = binofit (sum (x2), numel (x2)); assert_equal ([pd{2}.N, pd{2}.p], [N, phat]); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([binornd(1, 0.5, 100, 1); nan(100, 1)], 'binomial', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test N = 5; x1 = binornd (N, 0.5, 100, 1); x2 = binornd (N, 0.8, 100, 1); pd = fitdist ([x1; x2], 'binomial', 'ntrials', N, ... 'By', [ones(100, 1); 2*ones(100, 1)]); [phat, pci] = binofit (sum (x1), numel (x1) * N); assert_equal ([pd{1}.N, pd{1}.p], [N, phat]); assert_equal (paramci (pd{1}), pci); [phat, pci] = binofit (sum (x2), numel (x2) * N); assert_equal ([pd{2}.N, pd{2}.p], [N, phat]); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([binornd(5, 0.5, 100, 1); nan(100, 1)], 'binomial', 'ntrials', 5, ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = bisarnd (1, 1, 100, 1); pd = fitdist (x, 'BirnbaumSaunders'); [phat, pci] = bisafit (x); assert_equal ([pd.beta, pd.gamma], phat); assert_equal (paramci (pd), pci); ***** test x1 = bisarnd (1, 1, 100, 1); x2 = bisarnd (5, 2, 100, 1); pd = fitdist ([x1; x2], 'bisa', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = bisafit (x1); assert_equal ([pd{1}.beta, pd{1}.gamma], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = bisafit (x2); assert_equal ([pd{2}.beta, pd{2}.gamma], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([bisarnd(1, 1, 100, 1); nan(100, 1)], 'bisa', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = burrrnd (1, 2, 1, 100, 1); pd = fitdist (x, 'Burr'); [phat, pci] = burrfit (x); assert_equal ([pd.alpha, pd.c, pd.k], phat); assert_equal (paramci (pd), pci); ***** test rand ('seed', 4); # for reproducibility x1 = burrrnd (1, 2, 1, 100, 1); rand ('seed', 3); # for reproducibility x2 = burrrnd (1, 0.5, 2, 100, 1); pd = fitdist ([x1; x2], 'burr', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = burrfit (x1); assert_equal ([pd{1}.alpha, pd{1}.c, pd{1}.k], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = burrfit (x2); assert_equal ([pd{2}.alpha, pd{2}.c, pd{2}.k], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([burrrnd(1, 2, 1, 100, 1); nan(100, 1)], 'burr', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = exprnd (1, 100, 1); pd = fitdist (x, 'exponential'); [muhat, muci] = expfit (x); assert_equal ([pd.mu], muhat); assert_equal (paramci (pd), muci); ***** test x1 = exprnd (1, 100, 1); x2 = exprnd (5, 100, 1); pd = fitdist ([x1; x2], 'exponential', 'By', [ones(100,1); 2*ones(100,1)]); [muhat, muci] = expfit (x1); assert_equal ([pd{1}.mu], muhat); assert_equal (paramci (pd{1}), muci); [muhat, muci] = expfit (x2); assert_equal ([pd{2}.mu], muhat); assert_equal (paramci (pd{2}), muci); ***** warning ... fitdist ([exprnd(1, 100, 1); nan(100, 1)], 'exponential', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = evrnd (1, 1, 100, 1); pd = fitdist (x, 'ev'); [phat, pci] = evfit (x); assert_equal ([pd.mu, pd.sigma], phat); assert_equal (paramci (pd), pci); ***** test x1 = evrnd (1, 1, 100, 1); x2 = evrnd (5, 2, 100, 1); pd = fitdist ([x1; x2], 'extremevalue', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = evfit (x1); assert_equal ([pd{1}.mu, pd{1}.sigma], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = evfit (x2); assert_equal ([pd{2}.mu, pd{2}.sigma], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([evrnd(1, 1, 100, 1); nan(100, 1)], 'extremevalue', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = gamrnd (1, 1, 100, 1); pd = fitdist (x, 'Gamma'); [phat, pci] = gamfit (x); assert_equal ([pd.a, pd.b], phat); assert_equal (paramci (pd), pci); ***** test x1 = gamrnd (1, 1, 100, 1); x2 = gamrnd (5, 2, 100, 1); pd = fitdist ([x1; x2], 'Gamma', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = gamfit (x1); assert_equal ([pd{1}.a, pd{1}.b], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = gamfit (x2); assert_equal ([pd{2}.a, pd{2}.b], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([gamrnd(1, 1, 100, 1); nan(100, 1)], 'Gamma', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test rand ('seed', 4); # for reproducibility x = gevrnd (-0.5, 1, 2, 1000, 1); pd = fitdist (x, 'generalizedextremevalue'); [phat, pci] = gevfit (x); assert_equal ([pd.k, pd.sigma, pd.mu], phat); assert_equal (paramci (pd), pci); ***** test rand ('seed', 5); # for reproducibility x1 = gevrnd (-0.5, 1, 2, 1000, 1); rand ('seed', 9); # for reproducibility x2 = gevrnd (0, 1, -4, 1000, 1); pd = fitdist ([x1; x2], 'gev', 'By', [ones(1000,1); 2*ones(1000,1)]); [phat, pci] = gevfit (x1); assert_equal ([pd{1}.k, pd{1}.sigma, pd{1}.mu], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = gevfit (x2); assert_equal ([pd{2}.k, pd{2}.sigma, pd{2}.mu], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([gevrnd(-0.5, 1, 2, 1000, 1); nan(1000, 1)], 'gev', ... 'By', [ones(1000, 1); 2*ones(1000, 1)]); ***** test x = gprnd (1, 1, 1, 100, 1); pd = fitdist (x, 'GeneralizedPareto'); [phat, pci] = gpfit (x, 1); assert_equal ([pd.k, pd.sigma, pd.theta], phat); assert_equal (paramci (pd), pci); ***** test x = gprnd (1, 1, 2, 100, 1); pd = fitdist (x, 'GeneralizedPareto', 'theta', 2); [phat, pci] = gpfit (x, 2); assert_equal ([pd.k, pd.sigma, pd.theta], phat); assert_equal (paramci (pd), pci); ***** test x1 = gprnd (1, 1, 1, 100, 1); x2 = gprnd (0, 2, 1, 100, 1); pd = fitdist ([x1; x2], 'gp', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = gpfit (x1, 1); assert_equal ([pd{1}.k, pd{1}.sigma, pd{1}.theta], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = gpfit (x2, 1); assert_equal ([pd{2}.k, pd{2}.sigma, pd{2}.theta], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([gprnd(1, 1, 1, 100, 1); nan(100, 1)], 'gp', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x1 = gprnd (3, 2, 2, 100, 1); x2 = gprnd (2, 3, 2, 100, 1); pd = fitdist ([x1; x2], 'GeneralizedPareto', 'theta', 2, ... 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = gpfit (x1, 2); assert_equal ([pd{1}.k, pd{1}.sigma, pd{1}.theta], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = gpfit (x2, 2); assert_equal ([pd{2}.k, pd{2}.sigma, pd{2}.theta], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([gprnd(3, 2, 2, 100, 1); nan(100, 1)], 'gp', 'theta', 2, ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = hnrnd (0, 1, 100, 1); pd = fitdist (x, 'HalfNormal'); [phat, pci] = hnfit (x, 0); assert_equal ([pd.mu, pd.sigma], phat); assert_equal (paramci (pd), pci); ***** test x = hnrnd (1, 1, 100, 1); pd = fitdist (x, 'HalfNormal', 'mu', 1); [phat, pci] = hnfit (x, 1); assert_equal ([pd.mu, pd.sigma], phat); assert_equal (paramci (pd), pci); ***** test x1 = hnrnd (0, 1, 100, 1); x2 = hnrnd (0, 2, 100, 1); pd = fitdist ([x1; x2], 'HalfNormal', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = hnfit (x1, 0); assert_equal ([pd{1}.mu, pd{1}.sigma], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = hnfit (x2, 0); assert_equal ([pd{2}.mu, pd{2}.sigma], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([hnrnd(0, 1, 100, 1); nan(100, 1)], 'HalfNormal', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x1 = hnrnd (2, 1, 100, 1); x2 = hnrnd (2, 2, 100, 1); pd = fitdist ([x1; x2], 'HalfNormal', 'mu', 2, ... 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = hnfit (x1, 2); assert_equal ([pd{1}.mu, pd{1}.sigma], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = hnfit (x2, 2); assert_equal ([pd{2}.mu, pd{2}.sigma], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([hnrnd(2, 1, 100, 1); nan(100, 1)], 'HalfNormal', 'mu', 2, ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = invgrnd (1, 1, 100, 1); pd = fitdist (x, 'InverseGaussian'); [phat, pci] = invgfit (x); assert_equal ([pd.mu, pd.lambda], phat); assert_equal (paramci (pd), pci); ***** test x1 = invgrnd (1, 1, 100, 1); x2 = invgrnd (5, 2, 100, 1); pd = fitdist ([x1; x2], 'InverseGaussian', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = invgfit (x1); assert_equal ([pd{1}.mu, pd{1}.lambda], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = invgfit (x2); assert_equal ([pd{2}.mu, pd{2}.lambda], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([invgrnd(1, 1, 100, 1); nan(100, 1)], 'InverseGaussian', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = logirnd (1, 1, 100, 1); pd = fitdist (x, 'logistic'); [phat, pci] = logifit (x); assert_equal ([pd.mu, pd.sigma], phat); assert_equal (paramci (pd), pci); ***** test x1 = logirnd (1, 1, 100, 1); x2 = logirnd (5, 2, 100, 1); pd = fitdist ([x1; x2], 'logistic', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = logifit (x1); assert_equal ([pd{1}.mu, pd{1}.sigma], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = logifit (x2); assert_equal ([pd{2}.mu, pd{2}.sigma], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([logirnd(1, 1, 100, 1); nan(100, 1)], 'logistic', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = loglrnd (1, 1, 100, 1); pd = fitdist (x, 'loglogistic'); [phat, pci] = loglfit (x); assert_equal ([pd.mu, pd.sigma], phat); assert_equal (paramci (pd), pci); ***** test x1 = loglrnd (1, 1, 100, 1); x2 = loglrnd (5, 2, 100, 1); pd = fitdist ([x1; x2], 'loglogistic', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = loglfit (x1); assert_equal ([pd{1}.mu, pd{1}.sigma], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = loglfit (x2); assert_equal ([pd{2}.mu, pd{2}.sigma], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([loglrnd(1, 1, 100, 1); nan(100, 1)], 'loglogistic', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = lognrnd (1, 1, 100, 1); pd = fitdist (x, 'lognormal'); [phat, pci] = lognfit (x); assert_equal ([pd.mu, pd.sigma], phat); assert_equal (paramci (pd), pci); ***** test x1 = lognrnd (1, 1, 100, 1); x2 = lognrnd (5, 2, 100, 1); pd = fitdist ([x1; x2], 'lognormal', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = lognfit (x1); assert_equal ([pd{1}.mu, pd{1}.sigma], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = lognfit (x2); assert_equal ([pd{2}.mu, pd{2}.sigma], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([lognrnd(1, 1, 100, 1); nan(100, 1)], 'lognormal', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = nakarnd (2, 0.5, 100, 1); pd = fitdist (x, 'Nakagami'); [phat, pci] = nakafit (x); assert_equal ([pd.mu, pd.omega], phat); assert_equal (paramci (pd), pci); ***** test x1 = nakarnd (2, 0.5, 100, 1); x2 = nakarnd (5, 0.8, 100, 1); pd = fitdist ([x1; x2], 'Nakagami', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = nakafit (x1); assert_equal ([pd{1}.mu, pd{1}.omega], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = nakafit (x2); assert_equal ([pd{2}.mu, pd{2}.omega], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([nakarnd(2, 0.5, 100, 1); nan(100, 1)], 'Nakagami', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test randp ('seed', 123); randg ('seed', 321); x = nbinrnd (2, 0.5, 100, 1); pd = fitdist (x, 'negativebinomial'); [phat, pci] = nbinfit (x); assert_equal ([pd.R, pd.P], phat); assert_equal (paramci (pd), pci); ***** test randp ('seed', 345); randg ('seed', 543); x1 = nbinrnd (2, 0.5, 100, 1); randp ('seed', 432); randg ('seed', 234); x2 = nbinrnd (5, 0.8, 100, 1); pd = fitdist ([x1; x2], 'nbin', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = nbinfit (x1); assert_equal ([pd{1}.R, pd{1}.P], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = nbinfit (x2); assert_equal ([pd{2}.R, pd{2}.P], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([nbinrnd(2, 0.5, 100, 1); nan(100, 1)], 'nbin', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = normrnd (1, 1, 100, 1); pd = fitdist (x, 'normal'); [muhat, sigmahat, muci, sigmaci] = normfit (x); assert_equal ([pd.mu, pd.sigma], [muhat, sigmahat]); assert_equal (paramci (pd), [muci, sigmaci]); ***** test x1 = normrnd (1, 1, 100, 1); x2 = normrnd (5, 2, 100, 1); pd = fitdist ([x1; x2], 'normal', 'By', [ones(100,1); 2*ones(100,1)]); [muhat, sigmahat, muci, sigmaci] = normfit (x1); assert_equal ([pd{1}.mu, pd{1}.sigma], [muhat, sigmahat]); assert_equal (paramci (pd{1}), [muci, sigmaci]); [muhat, sigmahat, muci, sigmaci] = normfit (x2); assert_equal ([pd{2}.mu, pd{2}.sigma], [muhat, sigmahat]); assert_equal (paramci (pd{2}), [muci, sigmaci]); ***** warning ... fitdist ([normrnd(1, 1, 100, 1); nan(100, 1)], 'normal', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = poissrnd (1, 100, 1); pd = fitdist (x, 'poisson'); [phat, pci] = poissfit (x); assert_equal (pd.lambda, phat); assert_equal (paramci (pd), pci); ***** test x1 = poissrnd (1, 100, 1); x2 = poissrnd (5, 100, 1); pd = fitdist ([x1; x2], 'poisson', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = poissfit (x1); assert_equal (pd{1}.lambda, phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = poissfit (x2); assert_equal (pd{2}.lambda, phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([poissrnd(1, 100, 1); nan(100, 1)], 'poisson', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = raylrnd (1, 100, 1); pd = fitdist (x, 'rayleigh'); [phat, pci] = raylfit (x); assert_equal (pd.sigma, phat); assert_equal (paramci (pd), pci); ***** test x1 = raylrnd (1, 100, 1); x2 = raylrnd (5, 100, 1); pd = fitdist ([x1; x2], 'rayleigh', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = raylfit (x1); assert_equal (pd{1}.sigma, phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = raylfit (x2); assert_equal (pd{2}.sigma, phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([raylrnd(1, 100, 1); nan(100, 1)], 'rayleigh', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = ricernd (1, 1, 100, 1); pd = fitdist (x, 'rician'); [phat, pci] = ricefit (x); assert_equal ([pd.s, pd.sigma], phat); assert_equal (paramci (pd), pci); ***** test x1 = ricernd (1, 1, 100, 1); x2 = ricernd (5, 2, 100, 1); pd = fitdist ([x1; x2], 'rician', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = ricefit (x1); assert_equal ([pd{1}.s, pd{1}.sigma], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = ricefit (x2); assert_equal ([pd{2}.s, pd{2}.sigma], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([ricernd(1, 1, 100, 1); nan(100, 1)], 'rician', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** warning ... fitdist ([1 2 3 4 5], 'Stable'); ***** test x = tlsrnd (0, 1, 1, 100, 1); pd = fitdist (x, 'tlocationscale'); [phat, pci] = tlsfit (x); assert_equal ([pd.mu, pd.sigma, pd.nu], phat); assert_equal (paramci (pd), pci); ***** test x1 = tlsrnd (0, 1, 1, 100, 1); x2 = tlsrnd (5, 2, 1, 100, 1); pd = fitdist ([x1; x2], 'tlocationscale', 'By', [ones(100,1); 2*ones(100,1)]); [phat, pci] = tlsfit (x1); assert_equal ([pd{1}.mu, pd{1}.sigma, pd{1}.nu], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = tlsfit (x2); assert_equal ([pd{2}.mu, pd{2}.sigma, pd{2}.nu], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([tlsrnd(0, 1, 1, 100, 1); nan(100, 1)], 'tlocationscale', ... 'By', [ones(100, 1); 2*ones(100, 1)]); ***** test x = [1 2 3 4 5]; pd = fitdist (x, 'weibull'); [phat, pci] = wblfit (x); assert_equal ([pd.lambda, pd.k], phat); assert_equal (paramci (pd), pci); ***** test x = [1 2 3 4 5 6 7 8 9 10]; pd = fitdist (x, 'weibull', 'By', [1 1 1 1 1 2 2 2 2 2]); [phat, pci] = wblfit (x(1:5)); assert_equal ([pd{1}.lambda, pd{1}.k], phat); assert_equal (paramci (pd{1}), pci); [phat, pci] = wblfit (x(6:10)); assert_equal ([pd{2}.lambda, pd{2}.k], phat); assert_equal (paramci (pd{2}), pci); ***** warning ... fitdist ([1 2 3 4 5 NaN NaN NaN NaN NaN], 'weibull', 'By', [1 1 1 1 1 2 2 2 2 2]); ***** error fitdist (1) ***** error fitdist (1, ['as';'sd']) ***** error fitdist (1, 'some') ***** error ... fitdist (ones (2), 'normal') ***** error ... fitdist ([i, 2, 3], 'normal') ***** error ... fitdist (['a', 's', 'd'], 'normal') ***** error ... fitdist ([1, 2, 3], 'normal', 'By') ***** error ... fitdist ([1, 2, 3], 'normal', 'By', [1, 2]) ***** error ... fitdist ([1, 2, 3], 'normal', 'Censoring', [1, 2]) ***** error ... fitdist ([1, 2, 3], 'normal', 'frequency', [1, 2]) ***** error ... fitdist ([1, 2, 3], 'negativebinomial', 'frequency', [1, -2, 3]) ***** error ... fitdist ([1, 2, 3], 'normal', 'alpha', [1, 2]) ***** error ... fitdist ([1, 2, 3], 'normal', 'alpha', i) ***** error ... fitdist ([1, 2, 3], 'normal', 'alpha', -0.5) ***** error ... fitdist ([1, 2, 3], 'normal', 'alpha', 1.5) ***** error ... fitdist ([1, 2, 3], 'normal', 'ntrials', [1, 2]) ***** error ... fitdist ([1, 2, 3], 'normal', 'ntrials', 0) ***** error ... fitdist ([1, 2, 3], 'normal', 'options', 0) ***** error ... fitdist ([1, 2, 3], 'normal', 'options', struct ('options', 1)) ***** warning fitdist ([1, 2, 3], 'kernel', 'kernel', 'normal'); ***** warning fitdist ([1, 2, 3], 'kernel', 'support', 'positive'); ***** warning fitdist ([1, 2, 3], 'kernel', 'width', 1); ***** error ... fitdist ([1, 2, 3], 'normal', 'param', struct ('options', 1)) ***** error ... fitdist (nan (100,1), 'normal'); ***** error ... [pdca, gn, gl] = fitdist ([1, 2, 3], 'normal'); ***** error ... fitdist ([1, 2, 3], 'generalizedpareto', 'theta', 2); ***** error ... fitdist ([1, 2, 3], 'halfnormal', 'mu', 2); 103 tests, 103 passed, 0 known failure, 0 skipped [inst/vartest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/vartest.m ***** error vartest (); ***** error vartest ([1, 2, 3, 4], -0.5); ***** error ... vartest ([1, 2, 3, 4], 1, 'alpha', 0); ***** error ... vartest ([1, 2, 3, 4], 1, 'alpha', 1.2); ***** error ... vartest ([1, 2, 3, 4], 1, 'alpha', 'val'); ***** error ... vartest ([1, 2, 3, 4], 1, 'tail', 'val'); ***** error ... vartest ([1, 2, 3, 4], 1, 'alpha', 0.01, 'tail', 'val'); ***** error ... vartest ([1, 2, 3, 4], 1, 'dim', 3); ***** error ... vartest ([1, 2, 3, 4], 1, 'alpha', 0.01, 'tail', 'both', 'dim', 3); ***** error ... vartest ([1, 2, 3, 4], 1, 'alpha', 0.01, 'tail', 'both', 'badoption', 3); ***** error ... vartest ([1, 2, 3, 4], 1, 'alpha', 0.01, 'tail'); ***** test load carsmall [h, pval, ci] = vartest (MPG, 7^2); assert_equal (h, 1); assert_equal (pval, 0.04335086742174443, 1e-14); assert_equal (ci, [49.397; 88.039], 1e-3); ***** test load carsmall [h, pval, ci] = vartest (MPG, 7^2, 'tail', 'left'); assert_equal (h, 0); assert_equal (pval, 0.978324566289128, 1e-14); assert_equal (ci, [0; 83.685], 1e-3); ***** test load carsmall [h, pval, ci] = vartest (MPG, 7^2, 'tail', 'right'); assert_equal (h, 1); assert_equal (pval, 0.021675433710872, 1e-14); assert_equal (ci, [51.543; Inf], 1e-3); 14 tests, 14 passed, 0 known failure, 0 skipped [inst/ismissing.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/ismissing.m ***** assert_equal (ismissing ([1, NaN, 3]), [false, true, false]) ***** assert_equal (ismissing ('abcd f'), [false, false, false, false, false, false]) ***** assert_equal (ismissing ({'xxx', '', 'xyz'}), [false, true, false]) ***** assert_equal (ismissing ({'x', '', 'y'}), [false, true, false]) ***** assert_equal (ismissing ({'x', '', 'y'; 'z', 'a', ''}), logical ([0, 1, 0; 0, 0, 1])) ***** assert_equal (ismissing ([1, 2; NaN, 2]), [false, false; true, false]) ***** assert_equal (ismissing ([1, 2; NaN, 2], 2), [false, true; false, true]) ***** assert_equal (ismissing ([1, 2; NaN, 2], [1, 2]), [true, true; false, true]) ***** assert_equal (ismissing ([1, 2; NaN, 2], NaN), [false, false; true, false]) ***** assert_equal (ismissing (cat (3, magic (2), magic (2))), logical (zeros (2, 2, 2))) ***** assert_equal (ismissing (cat (3, magic (2), [1, 2; 3, NaN])), ... logical (cat (3, [0, 0; 0, 0], [0, 0; 0, 1]))) ***** assert_equal (ismissing ([1, 2; 3, 4], [5, 1; 2, 0]), logical ([1, 1; 0, 0])) ***** assert_equal (ismissing (cat (3, 'f oo', 'ba r')), ... logical (cat (3, [0, 0, 0, 0], [0, 0, 0, 0]))) ***** assert_equal (ismissing (cat (3, {'foo'}, {''}, {'bar'})), logical (cat (3, 0, 1, 0))) ***** assert_equal (ismissing (double (NaN)), true) ***** assert_equal (ismissing (single (NaN)), true) ***** assert_equal (ismissing (' '), false) ***** assert_equal (ismissing ({''}), true) ***** assert_equal (ismissing ({' '}), false) ***** assert_equal (ismissing (double (eye (3)), single (1)), logical (eye (3))) ***** assert_equal (ismissing (double (eye (3)), int32 (1)), logical (eye (3))) ***** assert_equal (ismissing (single (eye (3)), double (1)), logical (eye (3))) ***** assert_equal (ismissing (single (eye (3)), int32 (1)), logical (eye (3))) ***** assert_equal (ismissing ({'123', '', 123}), [false, false, false]) ***** assert_equal (ismissing (logical ([1, 0, 1])), [false, false, false]) ***** assert_equal (ismissing (int32 ([1, 2, 3])), [false, false, false]) ***** assert_equal (ismissing (uint32 ([1, 2, 3])), [false, false, false]) ***** assert_equal (ismissing ({1, 2, 3}), [false, false, false]) ***** assert_equal (ismissing ([struct struct struct]), [false, false, false]) ***** assert_equal (ismissing (logical (eye (3)), true), logical (eye (3))) ***** assert_equal (ismissing (logical (eye (3)), double (1)), logical (eye (3))) ***** assert_equal (ismissing (logical (eye (3)), single (1)), logical (eye (3))) ***** assert_equal (ismissing (logical (eye (3)), int32 (1)), logical (eye (3))) ***** assert_equal (ismissing (int32 (eye (3)), int32 (1)), logical (eye (3))) ***** assert_equal (ismissing (int32 (eye (3)), double (1)), logical (eye (3))) ***** assert_equal (ismissing (int32 (eye (3)), single (1)), logical (eye (3))) ***** assert_equal (ismissing ([]), logical ([])) ***** assert_equal (ismissing (''), logical ([])) ***** assert_equal (ismissing (ones (0,1)), logical (ones (0,1))) ***** assert_equal (ismissing (ones (1,0)), logical (ones (1,0))) ***** assert_equal (ismissing (ones (1,2,0)), logical (ones (1,2,0))) ***** assert_equal (ismissing ([1, NaN, 0, 2]), [false, true, false, false]) ***** assert_equal (ismissing ([1, NaN, 0, 2], [0, 1]), [true, false, true, false]) ***** assert_equal (ismissing ([1, NaN, 0, 2], [0, NaN]), [false, true, true, false]) ***** assert_equal (ismissing ([true, false, true]), [false, false, false]) ***** assert_equal (ismissing ([true, false, true], 1), [true, false, true]) ***** assert_equal (ismissing ([true, false, true], 0), [false, true, false]) ***** assert_equal (ismissing ({'', 'a', 'f'}), [true, false, false]) ***** assert_equal (ismissing ({'', 'a', 'f'}, 'a'), [false, true, false]) ***** assert_equal (ismissing ({'', 'a', 'f'}, {'a', 'g'}), [false, true, false]) ***** assert_equal (ismissing ({'', 'a', 'f'}, {'a', 'f'}), [false, true, true]) ***** error ismissing () ***** error ismissing (1, 2, 3) ***** error ... ismissing ([1, 2; 3, 4], 'abc') ***** error ... ismissing ({'', '', ''}, 1) ***** error ... ismissing (1, struct) ***** error ... ismissing (struct, 1) ***** error ... ismissing ({1, 2, 3}, 2) 58 tests, 58 passed, 0 known failure, 0 skipped [inst/hotelling_t2test2.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/hotelling_t2test2.m ***** error hotelling_t2test2 (); ***** error ... hotelling_t2test2 ([2, 3, 4, 5, 6]); ***** error ... hotelling_t2test2 (1, [2, 3, 4, 5, 6]); ***** error ... hotelling_t2test2 (ones (2,2,2), [2, 3, 4, 5, 6]); ***** error ... hotelling_t2test2 ([2, 3, 4, 5, 6], 2); ***** error ... hotelling_t2test2 ([2, 3, 4, 5, 6], ones (2,2,2)); ***** error ... hotelling_t2test2 (ones (20,2), ones (20,2), 'alpha', 1); ***** error ... hotelling_t2test2 (ones (20,2), ones (20,2), 'alpha', -0.2); ***** error ... hotelling_t2test2 (ones (20,2), ones (20,2), 'alpha', 'a'); ***** error ... hotelling_t2test2 (ones (20,2), ones (20,2), 'alpha', [0.01, 0.05]); ***** error ... hotelling_t2test2 (ones (20,2), ones (20,2), 'name', 0.01); ***** error ... hotelling_t2test2 (ones (20,1), ones (20,2)); ***** error ... hotelling_t2test2 (ones (20,2), ones (25,3)); ***** test randn ('seed', 1); x1 = randn (60000, 5); randn ('seed', 5); x2 = randn (30000, 5); [h, pval, stats] = hotelling_t2test2 (x1, x2); assert_equal (h, 0); assert_equal (stats.df1, 5); assert_equal (stats.df2, 89994); 14 tests, 14 passed, 0 known failure, 0 skipped [inst/hmmviterbi.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/hmmviterbi.m ***** test sequence = [1, 2, 1, 1, 1, 2, 2, 1, 2, 3, 3, 3, ... 3, 2, 3, 1, 1, 1, 1, 3, 3, 2, 3, 1, 3]; transprob = [0.8, 0.2; 0.4, 0.6]; outprob = [0.2, 0.4, 0.4; 0.7, 0.2, 0.1]; vpath = hmmviterbi (sequence, transprob, outprob); expected = [1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, ... 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1]; assert_equal (vpath, expected); ***** test sequence = {'A', 'B', 'A', 'A', 'A', 'B', 'B', 'A', 'B', 'C', 'C', 'C', ... 'C', 'B', 'C', 'A', 'A', 'A', 'A', 'C', 'C', 'B', 'C', 'A', 'C'}; transprob = [0.8, 0.2; 0.4, 0.6]; outprob = [0.2, 0.4, 0.4; 0.7, 0.2, 0.1]; symbols = {'A', 'B', 'C'}; statenames = {'One', 'Two'}; vpath = hmmviterbi (sequence, transprob, outprob, 'symbols', symbols, ... 'statenames', statenames); expected = {'One', 'One', 'Two', 'Two', 'Two', 'One', 'One', 'One', ... 'One', 'One', 'One', 'One', 'One', 'One', 'One', 'Two', ... 'Two', 'Two', 'Two', 'One', 'One', 'One', 'One', 'One', 'One'}; assert_equal (vpath, expected); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/crosstab.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/crosstab.m ***** error crosstab () ***** error crosstab (1) ***** error crosstab (ones (2), [1 1]) ***** error crosstab ([1 1], ones (2)) ***** error crosstab ([1], [1 2]) ***** error crosstab ([1 2], [1]) ***** error crosstab ([1 2], {1, 2}) ***** test load carbig [t, chisq, p, labels] = crosstab (cyl4, when, org); assert_equal (t(2,3,1), 38); assert_equal (labels{3,3}, "Japan"); ***** test load carbig [t, chisq, p, labels] = crosstab (cyl4, when, org); assert_equal (t(2,3,2), 17); assert_equal (labels{1,3}, "USA"); ***** test x = [1, 1, 2, 3, 1]; y = [1, 2, 5, 3, 1]; t = crosstab (x, y); assert_equal (t, [2, 1, 0, 0; 0, 0, 0, 1; 0, 0, 1, 0]); ***** test x = [1, 1, 2, 3, 1]; y = [1, 2, 3, 5, 1]; t = crosstab (x, y); assert_equal (t, [2, 1, 0, 0; 0, 0, 1, 0; 0, 0, 0, 1]); ***** test x1 = [1, 3, 7, 7, 8]; x2 = [4, 2, 1, 1, 1]; x3 = [6, 2, 6, 2, NaN]; T1 = [0, 0, 0; 0, 1, 0; 1, 0, 0; 0, 0, 0]; T2 = [0, 0, 1; 0, 0, 0; 1, 0, 0; 0, 0, 0]; T = zeros (4, 3, 2); T(:,:,1) = T1; T(:,:,2) = T2; t = crosstab (x1, x2, x3); assert_equal (t, T); ***** test x = [1, 2, NaN, 1]; y = [1, 2, 3, NaN]; t = crosstab (x, y); assert_equal (t, [1, 0, 0; 0, 1, 0]); ***** test x = categorical ({'A', 'B', 'A', 'C', 'B'}); y = [1, 2, 1, 3, 2]; t = crosstab (x, y); assert_equal (size (t), [3, 3]); assert_equal (t(1, 1), 2); # A with 1 assert_equal (t(2, 2), 2); # B with 2 ***** test x = categorical ({'low', 'med', 'high', 'low', 'med'}); y = categorical ({'X', 'Y', 'X', 'Y', 'X'}); t = crosstab (x, y); assert_equal (size (t), [3, 2]); ***** test ## Test categorical with numeric x = categorical ([10, 20, 10, 30, 20]); y = [1, 2, 1, 3, 2]; t = crosstab (x, y); assert_equal (t, [2, 0, 0; 0, 2, 0; 0, 0, 1]); ***** test smoker = [1 1 0 0 1 0 1 1 0 0 1 0]'; gender = [1 0 1 0 1 1 0 0 1 0 0 1]'; w = warning (); warning ('off'); [t, chisq, p, labels] = crosstab (smoker, gender); warning (w); assert_equal (t, [2 4; 4 2]); assert_equal (chisq, 1.33333333, 1e-8); assert_equal (p, 0.24821308, 1e-8); assert_equal (labels{1,1}, '0'); assert_equal (labels{1,2}, '0'); assert_equal (labels{2,1}, '1'); assert_equal (labels{2,2}, '1'); ***** test ## Test for categorical smk_cat = categorical ([0 0 1 1 0 1 0 0 1 1 0 1]'); gen_cat = categorical ([0 1 0 1 0 0 1 1 0 1 1 0]'); w = warning (); warning ('off'); [t, chisq, p] = crosstab (smk_cat, gen_cat); warning (w); assert_equal (t, [2 4; 4 2]); assert_equal (chisq, 1.33333333, 1e-6); assert_equal (p, 0.24821308, 1e-6); ***** test x = [1 1 1 2 2 2 3 3 3]'; y = [1 1 1 2 2 2 3 3 3]'; w = warning (); warning ('off'); [t, chisq, p, labels] = crosstab (x, y); warning (w); assert_equal (t, diag ([3 3 3])); assert_equal (chisq, 18.00000000); assert_equal (p, 0.00123410, 1e-8); ***** test ## Test for Partial NaN giving NaN for chisq/p x7 = [1 2 3 4 NaN NaN]'; y7 = [10 20 30 40 50 60]'; w = warning (); warning ('off'); [t, chisq, p, labels] = crosstab (x7, y7); warning (w); assert_equal (t, [eye(4), zeros(4, 2)]); assert_equal (isnan (chisq), true); assert_equal (isnan (p), true); assert_equal (labels{1,1}, '1'); assert_equal (labels{1,2}, '10'); assert_equal (labels{2,1}, '2'); assert_equal (labels{2,2}, '20'); assert_equal (labels{3,1}, '3'); assert_equal (labels{3,2}, '30'); assert_equal (labels{4,1}, '4'); assert_equal (labels{4,2}, '40'); assert_equal (isempty (labels{5,1}), true); assert_equal (labels{5,2}, '50'); assert_equal (isempty (labels{6,1}), true); assert_equal (labels{6,2}, '60'); ***** test a = ones (15,1); b = ones (15,1); w = warning (); warning ('off'); [t, chisq, p] = crosstab (a, b); warning (w); assert_equal (t, 15); assert_equal (isnan (chisq), true); assert_equal (isnan (p), true); ***** test ## all NaN → empty table + NaN stats na = NaN (6,1); nb = (1:6)'; w = warning (); warning ('off'); [t, chisq, p] = crosstab (na, nb); warning (w); assert_equal (all (t(:) == 0), true); assert_equal (isnan (chisq), true); assert_equal (isnan (p), true); ***** test ## single observation → 1×1 table, NaN statistic w = warning (); warning ('off'); [t, chisq, p, labels] = crosstab (5, 'Z'); warning (w); assert_equal (t, 1); assert_equal (isnan (chisq), true); assert_equal (isnan (p), true); assert_equal (labels{1,1}, '5'); assert_equal (labels{1,2}, 'Z'); ***** test xx = [1 1 1 1 2 2 2 2]'; yy = [10 10 10 10 20 20 20 20]'; w = warning (); warning ('off'); [t, chisq, p] = crosstab (xx, yy); warning (w); assert_equal (t, [4 0; 0 4]); assert_equal (chisq, 8.00000000); assert_equal (p, 0.00467773, 1e-8); ***** test set1 = repmat ((1:5)', 20, 1); set2 = repmat ([1; 2], 50, 1); w = warning (); warning ('off'); [t, chisq, p] = crosstab (set1, set2); warning (w); assert_equal (t, 10 * ones (5,2)); assert_equal (chisq, 0); assert_equal (p, 1); ***** test ## 3-way table with NaN a = [1 1 2 2 3 3 1]'; b = [1 2 1 2 1 2 1]'; c = [1 1 NaN 2 2 1 2]'; w = warning (); warning ('off'); [t, chisq, p] = crosstab (a, b, c); warning (w); expected(:,:,1) = [1 1; 0 0; 0 1]; expected(:,:,2) = [1 0; 0 1; 1 0]; assert_equal (t, expected); assert_equal (chisq, 6.00000000); assert_equal (p, 0.53974935, 1e-9); ***** test ## sparse cellstr g = [1 5 7 12 1 5 19]'; h = {'A', 'B', 'A', 'C', 'D', 'E', 'A'}'; w = warning (); warning ('off'); [t, chisq, p] = crosstab (g, h); warning (w); assert_equal (sum (t(:)), 7); assert_equal (chisq, 16.33333333, 1e-8); assert_equal (p, 0.42994852, 1e-8); ***** test ## string array str1 = ['low'; 'high'; 'med'; 'low'; 'high']; str2 = ['X'; 'Y'; 'X'; 'Y'; 'X']; w = warning (); warning ('off'); [t, chisq, p] = crosstab (str1, str2); warning (w); assert_equal (t, [1 1; 1 1; 1 0]); assert_equal (chisq, 0.83333333, 1e-8); assert_equal (p, 0.659240631, 1e-9); ***** test ## cellstr c1 = {'A','B','A','C','B','A'}'; c2 = {'1','2','1','3','2','1'}'; w = warning (); warning ('off'); [t, chisq, p] = crosstab (c1, c2); warning (w); assert_equal (t, [3 0 0; 0 2 0; 0 0 1]); assert_equal (chisq, 12.00000000, 1e-14); assert_equal (p, 0.01735127, 1e-8); 29 tests, 29 passed, 0 known failure, 0 skipped [inst/regress.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/regress.m ***** test % Longley data from the NIST Statistical Reference Dataset Z = [ 60323 83.0 234289 2356 1590 107608 1947 61122 88.5 259426 2325 1456 108632 1948 60171 88.2 258054 3682 1616 109773 1949 61187 89.5 284599 3351 1650 110929 1950 63221 96.2 328975 2099 3099 112075 1951 63639 98.1 346999 1932 3594 113270 1952 64989 99.0 365385 1870 3547 115094 1953 63761 100.0 363112 3578 3350 116219 1954 66019 101.2 397469 2904 3048 117388 1955 67857 104.6 419180 2822 2857 118734 1956 68169 108.4 442769 2936 2798 120445 1957 66513 110.8 444546 4681 2637 121950 1958 68655 112.6 482704 3813 2552 123366 1959 69564 114.2 502601 3931 2514 125368 1960 69331 115.7 518173 4806 2572 127852 1961 70551 116.9 554894 4007 2827 130081 1962 ]; % Results certified by NIST using 500 digit arithmetic % b and standard error in b V = [ -3482258.63459582 890420.383607373 15.0618722713733 84.9149257747669 -0.358191792925910E-01 0.334910077722432E-01 -2.02022980381683 0.488399681651699 -1.03322686717359 0.214274163161675 -0.511041056535807E-01 0.226073200069370 1829.15146461355 455.478499142212 ]; Rsq = 0.995479004577296; F = 330.285339234588; y = Z(:,1); X = [ones(rows(Z),1), Z(:,2:end)]; alpha = 0.05; [b, bint, r, rint, stats] = regress (y, X, alpha); assert_equal (b,V(:,1),4e-6); assert_equal (stats(1),Rsq,1e-12); assert_equal (stats(2),F,3e-8); assert_equal (((bint(:,1)-bint(:,2))/2)/tinv (alpha/2,9),V(:,2),-1.e-5); warning: matrix singular to machine precision, rcond = 3.50566e-20 warning: called from regress at line 131 column 5 __test__ at line 33 column 3 test at line 685 column 11 /tmp/tmp.1M9SA09GRj at line 222 column 2 1 test, 1 passed, 0 known failure, 0 skipped [inst/ztest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/ztest.m ***** error ztest (); ***** error ... ztest ([1, 2, 3, 4], 2, -0.5); ***** error ... ztest ([1, 2, 3, 4], 1, 2, 'alpha', 0); ***** error ... ztest ([1, 2, 3, 4], 1, 2, 'alpha', 1.2); ***** error ... ztest ([1, 2, 3, 4], 1, 2, 'alpha', 'val'); ***** error ... ztest ([1, 2, 3, 4], 1, 2, 'tail', 'val'); ***** error ... ztest ([1, 2, 3, 4], 1, 2, 'alpha', 0.01, 'tail', 'val'); ***** error ... ztest ([1, 2, 3, 4], 1, 2, 'dim', 3); ***** error ... ztest ([1, 2, 3, 4], 1, 2, 'alpha', 0.01, 'tail', 'both', 'dim', 3); ***** error ... ztest ([1, 2, 3, 4], 1, 2, 'alpha', 0.01, 'tail', 'both', 'badoption', 3); ***** test load carsmall [h, pval, ci] = ztest (MPG, mean (MPG, 'omitnan'), std (MPG, 'omitnan')); assert_equal (h, 0); assert_equal (pval, 1, 1e-14); assert_equal (ci, [22.094; 25.343], 1e-3); ***** test load carsmall [h, pval, ci] = ztest (MPG, 26, 8); assert_equal (h, 1); assert_equal (pval, 0.00568359158544743, 1e-14); assert_equal (ci, [22.101; 25.335], 1e-3); ***** test load carsmall [h, pval, ci] = ztest (MPG, 26, 4); assert_equal (h, 1); assert_equal (pval, 3.184168011941316e-08, 1e-14); assert_equal (ci, [22.909; 24.527], 1e-3); ***** test x = normrnd (10, 2, 100, 1); [h, pval, ci] = ztest (x, 10, 2, 'tail', 'right'); assert_equal (isnan (pval), false); assert_equal (pval >= 0 && pval <= 1, true); ***** test x = normrnd (10, 2, 100, 1); [h, pval, ci] = ztest (x, 10, 2, 'tail', 'left'); assert_equal (isnan (pval), false); assert_equal (pval >= 0 && pval <= 1, true); ***** test load fisheriris; x = meas(:,1); m = 5.8; sigma = 0.8; [h, pval, ci] = ztest (x, m, sigma, 'tail', 'right'); assert_equal (h, 0) assert_equal (pval, 0.2535, 1e-4) assert_equal (ci, [5.7359; Inf], 1e-5) ***** test load fisheriris; x = meas(:,1); m = 5.8; sigma = 0.8; [h, pval, ci] = ztest (x, m, sigma, 'tail', 'left'); assert_equal (h, 0) assert_equal (pval, 0.7465, 1e-4) assert_equal (ci, [-Inf; 5.9508], 1e-4) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/fishertest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/fishertest.m ***** demo ## A Fisher's exact test example x = [3, 1; 1, 3] [h, p, stats] = fishertest (x) ***** assert_equal (fishertest ([3, 4; 5, 7]), false); ***** assert_equal (isa (fishertest ([3, 4; 5, 7]), 'logical'), true); ***** test [h, pval, stats] = fishertest ([3, 4; 5, 7]); assert_equal (pval, 1, 1e-14); assert_equal (stats.OddsRatio, 1.05); CI = [0.159222057151289, 6.92429189601808]; assert_equal (stats.ConfidenceInterval, CI, 1e-14) ***** test [h, pval, stats] = fishertest ([3, 4; 5, 0]); assert_equal (pval, 0.08080808080808080, 1e-14); assert_equal (stats.OddsRatio, 0); assert_equal (stats.ConfidenceInterval, [-Inf, Inf]) ***** error fishertest (); ***** error fishertest (1, 2, 3, 4, 5, 6); ***** error ... fishertest (ones (2, 2, 2)); ***** error ... fishertest ([1, 2; -3, 4]); ***** error ... fishertest ([1, 2; 3, 4+i]); ***** error ... fishertest ([1, 2; 3, 4.2]); ***** error ... fishertest ([NaN, 2; 3, 4]); ***** error ... fishertest ([1, Inf; 3, 4]); ***** error ... fishertest (ones (2) * 1e8); ***** error ... fishertest ([1, 2; 3, 4], 'alpha', 0); ***** error ... fishertest ([1, 2; 3, 4], 'alpha', 1.2); ***** error ... fishertest ([1, 2; 3, 4], 'alpha', 'val'); ***** error ... fishertest ([1, 2; 3, 4], 'tail', 'val'); ***** error ... fishertest ([1, 2; 3, 4], 'alpha', 0.01, 'tail', 'val'); ***** error ... fishertest ([1, 2; 3, 4], 'alpha', 0.01, 'badoption', 3); 19 tests, 19 passed, 0 known failure, 0 skipped [inst/regress_gp.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/regress_gp.m ***** demo ## Linear fitting of 1D Data rand ('seed', 125); X = 2 * rand (5, 1) - 1; randn ('seed', 25); Y = 2 * X - 1 + 0.3 * randn (5, 1); ## Points for interpolation/extrapolation Xfit = linspace (-2, 2, 10)'; ## Fit regression model [Yfit, Yint, m] = regress_gp (X, Y, Xfit); ## Plot fitted data plot (X, Y, 'xk', Xfit, Yfit, 'r-', Xfit, Yint, 'b-'); title ('Gaussian process regression with linear kernel'); ***** demo ## Linear fitting of 2D Data rand ('seed', 135); X = 2 * rand (4, 2) - 1; randn ('seed', 35); Y = 2 * X(:,1) - 3 * X(:,2) - 1 + 1 * randn (4, 1); ## Mesh for interpolation/extrapolation [x1, x2] = meshgrid (linspace (-1, 1, 10)); Xfit = [x1(:), x2(:)]; ## Fit regression model [Ypred, Yint, Ysd] = regress_gp (X, Y, Xfit); Ypred = reshape (Ypred, 10, 10); YintU = reshape (Yint(:,1), 10, 10); YintL = reshape (Yint(:,2), 10, 10); ## Plot fitted data plot3 (X(:,1), X(:,2), Y, '.k', 'markersize', 16); hold on; h = mesh (x1, x2, Ypred, zeros (10, 10)); set (h, 'facecolor', 'none', 'edgecolor', 'yellow'); h = mesh (x1, x2, YintU, ones (10, 10)); set (h, 'facecolor', 'none', 'edgecolor', 'cyan'); h = mesh (x1, x2, YintL, ones (10, 10)); set (h, 'facecolor', 'none', 'edgecolor', 'cyan'); hold off axis tight view (75, 25) title ('Gaussian process regression with linear kernel'); ***** demo ## Projection over basis function with linear kernel pp = [2, 2, 0.3, 1]; n = 10; rand ('seed', 145); X = 2 * rand (n, 1) - 1; randn ('seed', 45); Y = polyval (pp, X) + 0.3 * randn (n, 1); ## Powers px = [sqrt(abs(X)), X, X.^2, X.^3]; ## Points for interpolation/extrapolation Xfit = linspace (-1, 1, 100)'; pxi = [sqrt(abs(Xfit)), Xfit, Xfit.^2, Xfit.^3]; ## Define a prior covariance assuming that the sqrt component is not present Sp = 100 * eye (size (px, 2) + 1); Sp(2,2) = 1; # We don't believe the sqrt(abs(X)) is present ## Fit regression model [Yfit, Yint, Ysd] = regress_gp (px, Y, pxi, Sp); ## Plot fitted data plot (X, Y, 'xk;Data;', Xfit, Yfit, 'r-;Estimation;', ... Xfit, polyval (pp, Xfit), 'g-;True;'); axis tight axis manual hold on plot (Xfit, Yint(:,1), 'm-;Upper bound;', Xfit, Yint(:,2), 'b-;Lower bound;'); hold off title ('Linear kernel over basis function with prior covariance'); ***** demo ## Projection over basis function with linear kernel pp = [2, 2, 0.3, 1]; n = 10; rand ('seed', 145); X = 2 * rand (n, 1) - 1; randn ('seed', 45); Y = polyval (pp, X) + 0.3 * randn (n, 1); ## Powers px = [sqrt(abs(X)), X, X.^2, X.^3]; ## Points for interpolation/extrapolation Xfit = linspace (-1, 1, 100)'; pxi = [sqrt(abs(Xfit)), Xfit, Xfit.^2, Xfit.^3]; ## Fit regression model without any assumption on prior covariance [Yfit, Yint, Ysd] = regress_gp (px, Y, pxi); ## Plot fitted data plot (X, Y, 'xk;Data;', Xfit, Yfit, 'r-;Estimation;', ... Xfit, polyval (pp, Xfit), 'g-;True;'); axis tight axis manual hold on plot (Xfit, Yint(:,1), 'm-;Upper bound;', Xfit, Yint(:,2), 'b-;Lower bound;'); hold off title ('Linear kernel over basis function without prior covariance'); ***** demo ## Projection over basis function with rbf kernel pp = [2, 2, 0.3, 1]; n = 10; rand ('seed', 145); X = 2 * rand (n, 1) - 1; randn ('seed', 45); Y = polyval (pp, X) + 0.3 * randn (n, 1); ## Powers px = [sqrt(abs(X)), X, X.^2, X.^3]; ## Points for interpolation/extrapolation Xfit = linspace (-1, 1, 100)'; pxi = [sqrt(abs(Xfit)), Xfit, Xfit.^2, Xfit.^3]; ## Fit regression model with RBF kernel (standard parameters) [Yfit, Yint, Ysd] = regress_gp (px, Y, pxi, 'rbf'); ## Plot fitted data plot (X, Y, 'xk;Data;', Xfit, Yfit, 'r-;Estimation;', ... Xfit, polyval (pp, Xfit), 'g-;True;'); axis tight axis manual hold on plot (Xfit, Yint(:,1), 'm-;Upper bound;', Xfit, Yint(:,2), 'b-;Lower bound;'); hold off title ('RBF kernel over basis function with standard parameters'); text (-0.5, 4, "theta = 5\n g = 0.01"); ***** demo ## Projection over basis function with rbf kernel pp = [2, 2, 0.3, 1]; n = 10; rand ('seed', 145); X = 2 * rand (n, 1) - 1; randn ('seed', 45); Y = polyval (pp, X) + 0.3 * randn (n, 1); ## Powers px = [sqrt(abs(X)), X, X.^2, X.^3]; ## Points for interpolation/extrapolation Xfit = linspace (-1, 1, 100)'; pxi = [sqrt(abs(Xfit)), Xfit, Xfit.^2, Xfit.^3]; ## Fit regression model with RBF kernel with different parameters [Yfit, Yint, Ysd] = regress_gp (px, Y, pxi, 'rbf', 10, 0.01); ## Plot fitted data plot (X, Y, 'xk;Data;', Xfit, Yfit, 'r-;Estimation;', ... Xfit, polyval (pp, Xfit), 'g-;True;'); axis tight axis manual hold on plot (Xfit, Yint(:,1), 'm-;Upper bound;', Xfit, Yint(:,2), 'b-;Lower bound;'); hold off title ('GP regression with RBF kernel and non default parameters'); text (-0.5, 4, "theta = 10\n g = 0.01"); ## Fit regression model with RBF kernel with different parameters [Yfit, Yint, Ysd] = regress_gp (px, Y, pxi, 'rbf', 50, 0.01); ## Plot fitted data figure plot (X, Y, 'xk;Data;', Xfit, Yfit, 'r-;Estimation;', ... Xfit, polyval (pp, Xfit), 'g-;True;'); axis tight axis manual hold on plot (Xfit, Yint(:,1), 'm-;Upper bound;', Xfit, Yint(:,2), 'b-;Lower bound;'); hold off title ('GP regression with RBF kernel and non default parameters'); text (-0.5, 4, "theta = 50\n g = 0.01"); ## Fit regression model with RBF kernel with different parameters [Yfit, Yint, Ysd] = regress_gp (px, Y, pxi, 'rbf', 50, 0.001); ## Plot fitted data figure plot (X, Y, 'xk;Data;', Xfit, Yfit, 'r-;Estimation;', ... Xfit, polyval (pp, Xfit), 'g-;True;'); axis tight axis manual hold on plot (Xfit, Yint(:,1), 'm-;Upper bound;', Xfit, Yint(:,2), 'b-;Lower bound;'); hold off title ('GP regression with RBF kernel and non default parameters'); text (-0.5, 4, "theta = 50\n g = 0.001"); ## Fit regression model with RBF kernel with different parameters [Yfit, Yint, Ysd] = regress_gp (px, Y, pxi, 'rbf', 50, 0.05); ## Plot fitted data figure plot (X, Y, 'xk;Data;', Xfit, Yfit, 'r-;Estimation;', ... Xfit, polyval (pp, Xfit), 'g-;True;'); axis tight axis manual hold on plot (Xfit, Yint(:,1), 'm-;Upper bound;', Xfit, Yint(:,2), 'b-;Lower bound;'); hold off title ('GP regression with RBF kernel and non default parameters'); text (-0.5, 4, "theta = 50\n g = 0.05"); ***** demo ## RBF fitting on noiseless 1D Data x = [0:2*pi/7:2*pi]'; y = 5 * sin (x); ## Predictive grid of 500 equally spaced locations xi = [-0.5:(2*pi+1)/499:2*pi+0.5]'; ## Fit regression model with RBF kernel [Yfit, Yint, Ysd] = regress_gp (x, y, xi, 'rbf'); ## Plot fitted data r = mvnrnd (Yfit, diag (Ysd)', 50); plot (xi, r', 'c-'); hold on plot (xi, Yfit, 'r-;Estimation;', xi, Yint, 'b-;Confidence interval;'); plot (x, y, '.k;Predictor points;', 'markersize', 20) plot (xi, 5 * sin (xi), '-y;True Function;'); xlim ([-0.5,2*pi+0.5]); ylim ([-10,10]); hold off title ('GP regression with RBF kernel on noiseless 1D data'); text (0, -7, "theta = 5\n g = 0.01"); ***** demo ## RBF fitting on noisy 1D Data x = [0:2*pi/7:2*pi]'; x = [x; x]; y = 5 * sin (x) + randn (size (x)); ## Predictive grid of 500 equally spaced locations xi = [-0.5:(2*pi+1)/499:2*pi+0.5]'; ## Fit regression model with RBF kernel [Yfit, Yint, Ysd] = regress_gp (x, y, xi, 'rbf'); ## Plot fitted data r = mvnrnd (Yfit, diag (Ysd)', 50); plot (xi, r', 'c-'); hold on plot (xi, Yfit, 'r-;Estimation;', xi, Yint, 'b-;Confidence interval;'); plot (x, y, '.k;Predictor points;', 'markersize', 20) plot (xi, 5 * sin (xi), '-y;True Function;'); xlim ([-0.5,2*pi+0.5]); ylim ([-10,10]); hold off title ('GP regression with RBF kernel on noisy 1D data'); text (0, -7, "theta = 5\n g = 0.01"); ***** error regress_gp (ones (20, 2)) ***** error regress_gp (ones (20, 2), ones (20, 1)) ***** error ... regress_gp (ones (20, 2, 3), ones (20, 1), ones (20, 2)) ***** error ... regress_gp (ones (20, 2), ones (20, 2), ones (20, 2)) ***** error ... regress_gp (ones (20, 2), ones (15, 1), ones (20, 2)) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (20, 3)) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), {[3]}) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 'kernel') ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 'rbf', ones (4)) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 'linear', 1) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 'rbf', 'value') ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 'rbf', {5}) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), ones (3), 5) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 'linear', 5) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 'rbf', 5, {5}) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 'rbf', 5, ones (2)) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 5, 0.01, [1, 1]) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 5, 0.01, 'f') ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 5, 0.01, 'f') ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 'rbf', 5, 0.01, 'f') ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 'rbf', 5, 0.01, [1, 1]) ***** error ... regress_gp (ones (20, 2), ones (20, 1), ones (10, 2), 'linear', 1) 22 tests, 22 passed, 0 known failure, 0 skipped [inst/nanmax.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/nanmax.m ***** demo ## Find the column maximum values and their indices ## for matrix data with missing values. x = magic (3); x([1, 6:9]) = NaN [y, ind] = nanmax (x) ***** demo ## Find the maximum of all the values in an array, ignoring missing values. ## Create a 2-by-5-by-3 array x with some missing values. x = reshape (1:30, [2, 5, 3]); x([10:12, 25]) = NaN ## Find the maximum of the elements of x. y = nanmax (x, [], 'all') ***** assert_equal (nanmax ([2, 4, NaN, 7]), 7) ***** assert_equal (nanmax ([2, 4, NaN, Inf]), Inf) ***** assert_equal (nanmax ([1, NaN, 3; NaN, 5, 6; 7, 8, NaN]), [7, 8, 6]) ***** assert_equal (nanmax ([1, NaN, 3; NaN, 5, 6; 7, 8, NaN]'), [3, 6, 8]) ***** assert_equal (nanmax (single ([1, NaN, 3; NaN, 5, 6; 7, 8, NaN])), single ([7, 8, 6])) ***** shared x, y x(:,:,1) = [1.77, -0.005, NaN, -2.95; NaN, 0.34, NaN, 0.19]; x(:,:,2) = [1.77, -0.005, NaN, -2.95; NaN, 0.34, NaN, 0.19] + 5; y = x; y(2,3,1) = 0.51; ***** assert_equal (nanmax (x, [], [1, 2])(:), [1.77;6.77]) ***** assert_equal (nanmax (x, [], [1, 3])(:), [6.77;5.34;NaN;5.19]) ***** assert_equal (nanmax (x, [], [2, 3])(:), [6.77;5.34]) ***** assert_equal (nanmax (x, [], [1, 2, 3]), 6.77) ***** assert_equal (nanmax (x, [], 'all'), 6.77) ***** assert_equal (nanmax (y, [], [1, 3])(:), [6.77;5.34;0.51;5.19]) ***** assert_equal (nanmax (x(1,:,1), x(2,:,1)), [1.77, 0.34, NaN, 0.19]) ***** assert_equal (nanmax (x(1,:,2), x(2,:,2)), [6.77, 5.34, NaN, 5.19]) ***** assert_equal (nanmax (y(1,:,1), y(2,:,1)), [1.77, 0.34, 0.51, 0.19]) ***** assert_equal (nanmax (y(1,:,2), y(2,:,2)), [6.77, 5.34, NaN, 5.19]) ***** test xx = repmat ([1:20;6:25], [5 2 6 3]); assert_equal (size (nanmax (xx, [], [3, 2])), [10, 1, 1, 3]); assert_equal (size (nanmax (xx, [], [1, 2])), [1, 1, 6, 3]); assert_equal (size (nanmax (xx, [], [1, 2, 4])), [1, 1, 6]); assert_equal (size (nanmax (xx, [], [1, 4, 3])), [1, 40]); assert_equal (size (nanmax (xx, [], [1, 2, 3, 4])), [1, 1]); ***** assert_equal (nanmax (ones (2), [], 3), ones (2, 2)) ***** assert_equal (nanmax (ones (2, 2, 2), [], 99), ones (2, 2, 2)) ***** assert_equal (nanmax (magic (3), [], 3), magic (3)) ***** assert_equal (nanmax (magic (3), [], [1, 3]), [8, 9, 7]) ***** assert_equal (nanmax (magic (3), [], [1, 99]), [8, 9, 7]) ***** assert_equal (nanmax (ones (2), 3), 3 * ones (2,2)) ***** error ... nanmax (y, [], [1, 1, 2]) ***** error ... [v, idx] = nanmax (x, y, [1 2]) 24 tests, 24 passed, 0 known failure, 0 skipped [inst/signtest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/signtest.m ***** test [pval, h, stats] = signtest ([-ones(1, 1000) 1], 0, 'tail', 'left'); assert_equal (pval, 1.091701889420221e-218, 1e-14); assert_equal (h, 1); assert_equal (stats.zval, -31.5437631079266, 1e-14); ***** test [pval, h, stats] = signtest ([-2 -1 0 2 1 3 1], 0); assert_equal (pval, 0.6875000000000006, 1e-14); assert_equal (h, 0); assert_equal (stats.zval, NaN); assert_equal (stats.sign, 4); ***** test [pval, h, stats] = signtest ([-2 -1 0 2 1 3 1], 0, 'method', 'approximate'); assert_equal (pval, 0.6830913983096086, 1e-14); assert_equal (h, 0); assert_equal (stats.zval, 0.4082482904638631, 1e-14); assert_equal (stats.sign, 4); ***** test x = [1, 2, 3, 4, NaN, NaN, NaN]; [pval, h] = signtest (x); assert_equal (pval, 0.1250, 1e-4); assert_equal (h, 0); ***** test x = [1, 2, 3, 4, 5]; y = [1, 1, NaN, 5, 4]; [pval, h] = signtest (x, y); assert_equal (pval, 1.0, 1e-4); assert_equal (h, 0); ***** test x = [1, 2, 3, 4, 5, -1]; [p_val, ~] = signtest (x); [p, h, stats] = signtest (x, 0, 'alpha', p_val); assert_equal (h, 1); ***** error signtest (ones (2)) ***** error ... signtest ([1, 2, 3, 4], ones (2)) ***** error ... signtest ([1, 2, 3, 4], [1, 2, 3]) ***** error ... signtest ([1, 2, 3, 4], [], 'tail') ***** error ... signtest ([1, 2, 3, 4], [], 'alpha', 1.2) ***** error ... signtest ([1, 2, 3, 4], [], 'alpha', 0) ***** error ... signtest ([1, 2, 3, 4], [], 'alpha', -0.05) ***** error ... signtest ([1, 2, 3, 4], [], 'alpha', 'a') ***** error ... signtest ([1, 2, 3, 4], [], 'alpha', [0.01, 0.05]) ***** error ... signtest ([1, 2, 3, 4], [], 'tail', 0.01) ***** error ... signtest ([1, 2, 3, 4], [], 'tail', {'both'}) ***** error ... signtest ([1, 2, 3, 4], [], 'tail', 'some') ***** error ... signtest ([1, 2, 3, 4], [], 'method', 'exact', 'tail', 'some') ***** error ... signtest ([1, 2, 3, 4], [], 'method', 0.01) ***** error ... signtest ([1, 2, 3, 4], [], 'method', {'exact'}) ***** error ... signtest ([1, 2, 3, 4], [], 'method', 'some') ***** error ... signtest ([1, 2, 3, 4], [], 'tail', 'both', 'method', 'some') 23 tests, 23 passed, 0 known failure, 0 skipped [inst/dist_fun/betacdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/betacdf.m ***** demo ## Plot various CDFs from the Beta distribution x = 0:0.005:1; p1 = betacdf (x, 0.5, 0.5); p2 = betacdf (x, 5, 1); p3 = betacdf (x, 1, 3); p4 = betacdf (x, 2, 2); p5 = betacdf (x, 2, 5); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c', x, p5, '-m') grid on legend ({'α = β = 0.5', 'α = 5, β = 1', 'α = 1, β = 3', ... 'α = 2, β = 2', 'α = 2, β = 5'}, 'location', 'northwest') title ('Beta CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y, x1, x2 x = [-1 0 0.5 1 2]; y = [0 0 0.75 1 1]; ***** assert_equal (betacdf (x, ones (1, 5), 2 * ones (1, 5)), y) ***** assert_equal (betacdf (x, 1, 2 * ones (1, 5)), y) ***** assert_equal (betacdf (x, ones (1, 5), 2), y) ***** assert_equal (betacdf (x, [0 1 NaN 1 1], 2), [NaN 0 NaN 1 1]) ***** assert_equal (betacdf (x, 1, 2 * [0 1 NaN 1 1]), [NaN 0 NaN 1 1]) ***** assert_equal (betacdf ([x(1:2) NaN x(4:5)], 1, 2), [y(1:2) NaN y(4:5)]) x1 = [0.1:0.2:0.9]; ***** assert_equal (betacdf (x1, 2, 2), [0.028, 0.216, 0.5, 0.784, 0.972], 1e-14); ***** assert_equal (betacdf (x1, 2, 2, 'upper'), 1 - [0.028, 0.216, 0.5, 0.784, 0.972],... 1e-14); x2 = [1, 2, 3]; ***** assert_equal (betacdf (0.5, x2, x2), [0.5, 0.5, 0.5], 1e-14); ***** assert_equal (betacdf ([x, NaN], 1, 2), [y, NaN]) ***** assert_equal (betacdf (single ([x, NaN]), 1, 2), single ([y, NaN])) ***** assert_equal (betacdf ([x, NaN], single (1), 2), single ([y, NaN])) ***** assert_equal (betacdf ([x, NaN], 1, single (2)), single ([y, NaN])) ***** error betacdf () ***** error betacdf (1) ***** error betacdf (1, 2) ***** error betacdf (1, 2, 3, 4, 5) ***** error betacdf (1, 2, 3, 'tail') ***** error betacdf (1, 2, 3, 4) ***** error ... betacdf (ones (3), ones (2), ones (2)) ***** error ... betacdf (ones (2), ones (3), ones (2)) ***** error ... betacdf (ones (2), ones (2), ones (3)) ***** error betacdf (i, 2, 2) ***** error betacdf (2, i, 2) ***** error betacdf (2, 2, i) 25 tests, 25 passed, 0 known failure, 0 skipped [inst/dist_fun/hncdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/hncdf.m ***** demo ## Plot various CDFs from the half-normal distribution x = 0:0.001:10; p1 = hncdf (x, 0, 1); p2 = hncdf (x, 0, 2); p3 = hncdf (x, 0, 3); p4 = hncdf (x, 0, 5); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c') grid on xlim ([0, 10]) legend ({'μ = 0, σ = 1', 'μ = 0, σ = 2', ... 'μ = 0, σ = 3', 'μ = 0, σ = 5'}, 'location', 'southeast') title ('Half-normal CDF') xlabel ('values in x') ylabel ('probability') ***** demo ## Plot half-normal against normal cumulative distribution function x = -5:0.001:5; p1 = hncdf (x, 0, 1); p2 = normcdf (x); plot (x, p1, '-b', x, p2, '-g') grid on xlim ([-5, 5]) legend ({'half-normal with μ = 0, σ = 1', ... 'standard normal (μ = 0, σ = 1)'}, 'location', 'southeast') title ('Half-normal against standard normal CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, p1, p1u, y2, y2u, y3, y3u x = [-Inf, -1, 0, 1/2, 1, Inf]; p1 = [0, 0, 0, 0.3829, 0.6827, 1]; p1u = [1, 1, 1, 0.6171, 0.3173, 0]; ***** assert_equal (hncdf (x, zeros (1,6), ones (1,6)), p1, 1e-4) ***** assert_equal (hncdf (x, 0, 1), p1, 1e-4) ***** assert_equal (hncdf (x, 0, ones (1,6)), p1, 1e-4) ***** assert_equal (hncdf (x, zeros (1,6), 1), p1, 1e-4) ***** assert_equal (hncdf (x, 0, [1, 1, 1, NaN, 1, 1]), [p1(1:3), NaN, p1(5:6)], 1e-4) ***** assert_equal (hncdf (x, [0, 0, 0, NaN, 0, 0], 1), [p1(1:3), NaN, p1(5:6)], 1e-4) ***** assert_equal (hncdf ([x(1:3), NaN, x(5:6)], 0, 1), [p1(1:3), NaN, p1(5:6)], 1e-4) ***** assert_equal (hncdf (x, zeros (1,6), ones (1,6), 'upper'), p1u, 1e-4) ***** assert_equal (hncdf (x, 0, 1, 'upper'), p1u, 1e-4) ***** assert_equal (hncdf (x, 0, ones (1,6), 'upper'), p1u, 1e-4) ***** assert_equal (hncdf (x, zeros (1,6), 1, 'upper'), p1u, 1e-4) ***** assert_equal (class (hncdf (single ([x, NaN]), 0, 1)), "single") ***** assert_equal (class (hncdf ([x, NaN], 0, single (1))), "single") ***** assert_equal (class (hncdf ([x, NaN], single (0), 1)), "single") ***** error hncdf () ***** error hncdf (1) ***** error hncdf (1, 2) ***** error hncdf (1, 2, 3, 'tail') ***** error hncdf (1, 2, 3, 5) ***** error ... hncdf (ones (3), ones (2), ones (2)) ***** error ... hncdf (ones (2), ones (3), ones (2)) ***** error ... hncdf (ones (2), ones (2), ones (3)) ***** error hncdf (i, 2, 3) ***** error hncdf (1, i, 3) ***** error hncdf (1, 2, i) 25 tests, 25 passed, 0 known failure, 0 skipped [inst/dist_fun/gaminv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gaminv.m ***** demo ## Plot various iCDFs from the Gamma distribution p = 0.001:0.001:0.999; x1 = gaminv (p, 1, 2); x2 = gaminv (p, 2, 2); x3 = gaminv (p, 3, 2); x4 = gaminv (p, 5, 1); x5 = gaminv (p, 9, 0.5); x6 = gaminv (p, 7.5, 1); x7 = gaminv (p, 0.5, 1); plot (p, x1, '-r', p, x2, '-g', p, x3, '-y', p, x4, '-m', ... p, x5, '-k', p, x6, '-b', p, x7, '-c') ylim ([0, 20]) grid on legend ({'α = 1, β = 2', 'α = 2, β = 2', 'α = 3, β = 2', ... 'α = 5, β = 1', 'α = 9, β = 0.5', 'α = 7.5, β = 1', ... 'α = 0.5, β = 1'}, 'location', 'northwest') title ('Gamma iCDF') xlabel ('probability') ylabel ('x') ***** shared p p = [-1 0 0.63212055882855778 1 2]; ***** assert_equal (gaminv (p, ones (1,5), ones (1,5)), [NaN 0 1 Inf NaN], eps) ***** assert_equal (gaminv (p, 1, ones (1,5)), [NaN 0 1 Inf NaN], eps) ***** assert_equal (gaminv (p, ones (1,5), 1), [NaN 0 1 Inf NaN], eps) ***** assert_equal (gaminv (p, [1 -Inf NaN Inf 1], 1), [NaN NaN NaN NaN NaN]) ***** assert_equal (gaminv (p, 1, [1 -Inf NaN Inf 1]), [NaN NaN NaN NaN NaN]) ***** assert_equal (gaminv ([p(1:2) NaN p(4:5)], 1, 1), [NaN 0 NaN Inf NaN]) ***** assert_equal (gaminv ([p(1:2) NaN p(4:5)], 1, 1), [NaN 0 NaN Inf NaN]) ***** assert_equal (gaminv (1e-16, 1, 1), 1e-16, eps) ***** assert_equal (gaminv (1e-16, 1, 2), 2e-16, eps) ***** assert_equal (gaminv (1e-20, 3, 5), 1.957434012161815e-06, eps) ***** assert_equal (gaminv (1e-15, 1, 1), 1e-15, eps) ***** assert_equal (gaminv (1e-35, 1, 1), 1e-35, eps) ***** assert_equal (gaminv ([p, NaN], 1, 1), [NaN 0 1 Inf NaN NaN], eps) ***** assert_equal (gaminv (single ([p, NaN]), 1, 1), single ([NaN 0 1 Inf NaN NaN]), ... eps ('single')) ***** assert_equal (gaminv ([p, NaN], single (1), 1), single ([NaN 0 1 Inf NaN NaN]), ... eps ('single')) ***** assert_equal (gaminv ([p, NaN], 1, single (1)), single ([NaN 0 1 Inf NaN NaN]), ... eps ('single')) ***** error gaminv () ***** error gaminv (1) ***** error gaminv (1,2) ***** error ... gaminv (ones (3), ones (2), ones (2)) ***** error ... gaminv (ones (2), ones (3), ones (2)) ***** error ... gaminv (ones (2), ones (2), ones (3)) ***** error gaminv (i, 2, 2) ***** error gaminv (2, i, 2) ***** error gaminv (2, 2, i) 25 tests, 25 passed, 0 known failure, 0 skipped [inst/dist_fun/geopdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/geopdf.m ***** demo ## Plot various PDFs from the geometric distribution x = 0:10; y1 = geopdf (x, 0.2); y2 = geopdf (x, 0.5); y3 = geopdf (x, 0.7); plot (x, y1, '*b', x, y2, '*g', x, y3, '*r') grid on ylim ([0, 0.8]) legend ({'ps = 0.2', 'ps = 0.5', 'ps = 0.7'}, 'location', 'northeast') title ('Geometric PDF') xlabel ('values in x (number of failures)') ylabel ('density') ***** shared x, y x = [-1 0 1 Inf]; y = [0, 1/2, 1/4, NaN]; ***** assert_equal (geopdf (x, 0.5*ones (1,4)), y) ***** assert_equal (geopdf (x, 0.5), y) ***** assert_equal (geopdf (x, 0.5*[-1 NaN 4 1]), [NaN NaN NaN y(4)]) ***** assert_equal (geopdf ([x, NaN], 0.5), [y, NaN]) ***** assert_equal (geopdf (single ([x, NaN]), 0.5), single ([y, NaN]), 5*eps ('single')) ***** assert_equal (geopdf ([x, NaN], single (0.5)), single ([y, NaN]), 5*eps ('single')) ***** error geopdf () ***** error geopdf (1) ***** error geopdf (1,2,3) ***** error geopdf (ones (3), ones (2)) ***** error geopdf (ones (2), ones (3)) ***** error geopdf (i, 2) ***** error geopdf (2, i) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fun/raylrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/raylrnd.m ***** assert_equal (size (raylrnd (2)), [1, 1]) ***** assert_equal (size (raylrnd (ones (2, 1))), [2, 1]) ***** assert_equal (size (raylrnd (ones (2, 2))), [2, 2]) ***** assert_equal (size (raylrnd (1, 3)), [3, 3]) ***** assert_equal (size (raylrnd (1, [4, 1])), [4, 1]) ***** assert_equal (size (raylrnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (raylrnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (raylrnd (1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (raylrnd (1, 0, 1)), [0, 1]) ***** assert_equal (size (raylrnd (1, 1, 0)), [1, 0]) ***** assert_equal (size (raylrnd (1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (raylrnd (1, [])), [0, 0]) ***** assert_equal (size (raylrnd (1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (raylrnd (0, 1, 1), NaN) ***** assert_equal (raylrnd ([0, 0, 0], [1, 3]), [NaN, NaN, NaN]) ***** assert_equal (class (raylrnd (2)), "double") ***** assert_equal (class (raylrnd (single (2))), "single") ***** assert_equal (class (raylrnd (single ([2, 2]))), "single") ***** error raylrnd () ***** error raylrnd (i) ***** error ... raylrnd (1, -1) ***** error ... raylrnd (1, 1.2) ***** error ... raylrnd (1, ones (2)) ***** error ... raylrnd (1, [2 -1 2]) ***** error ... raylrnd (1, [2 0 2.5]) ***** error ... raylrnd (ones (2), ones (2)) ***** error ... raylrnd (1, 2, -1, 5) ***** error ... raylrnd (1, 2, 1.5, 5) ***** error raylrnd (ones (2,2), 3) ***** error raylrnd (ones (2,2), [3, 2]) ***** error raylrnd (ones (2,2), 2, 3) 31 tests, 31 passed, 0 known failure, 0 skipped [inst/dist_fun/tcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/tcdf.m ***** demo ## Plot various CDFs from the Student's T distribution x = -5:0.01:5; p1 = tcdf (x, 1); p2 = tcdf (x, 2); p3 = tcdf (x, 5); p4 = tcdf (x, Inf); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-m') grid on xlim ([-5, 5]) ylim ([0, 1]) legend ({'df = 1', 'df = 2', ... 'df = 5', 'df = \infty'}, 'location', 'southeast') title ('Student''s T CDF') xlabel ('values in x') ylabel ('probability') ***** shared x,y x = [-Inf 0 1 Inf]; y = [0 1/2 3/4 1]; ***** assert_equal (tcdf (x, ones (1,4)), y, eps) ***** assert_equal (tcdf (x, 1), y, eps) ***** assert_equal (tcdf (x, [0 1 NaN 1]), [NaN 1/2 NaN 1], eps) ***** assert_equal (tcdf ([x(1:2) NaN x(4)], 1), [y(1:2) NaN y(4)], eps) ***** assert_equal (tcdf (2, 3, 'upper'), 0.0697, 1e-4) ***** assert_equal (tcdf (205, 5, 'upper'), 2.6206e-11, 1e-14) ***** assert_equal (tcdf ([x, NaN], 1), [y, NaN], eps) ***** assert_equal (tcdf (single ([x, NaN]), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (tcdf ([x, NaN], single (1)), single ([y, NaN]), eps ('single')) ***** error tcdf () ***** error tcdf (1) ***** error tcdf (1, 2, 'uper') ***** error tcdf (1, 2, 3) ***** error ... tcdf (ones (3), ones (2)) ***** error ... tcdf (ones (3), ones (2)) ***** error ... tcdf (ones (3), ones (2), 'upper') ***** error tcdf (i, 2) ***** error tcdf (2, i) ***** shared tol_rel tol_rel = 10 * eps; ***** assert_equal (tcdf (10^(-10), 2.5), 0.50000000003618087, -tol_rel) ***** assert_equal (tcdf (10^(-11), 2.5), 0.50000000000361809, -tol_rel) ***** assert_equal (tcdf (10^(-12), 2.5), 0.50000000000036181, -tol_rel) ***** assert_equal (tcdf (10^(-13), 2.5), 0.50000000000003618, -tol_rel) ***** assert_equal (tcdf (10^(-14), 2.5), 0.50000000000000362, -tol_rel) ***** assert_equal (tcdf (10^(-15), 2.5), 0.50000000000000036, -tol_rel) ***** assert_equal (tcdf (10^(-16), 2.5), 0.50000000000000004, -tol_rel) ***** assert_equal (tcdf (-10^1, 2.5), 2.2207478836537124e-03, -tol_rel) ***** assert_equal (tcdf (-10^2, 2.5), 7.1916492116661878e-06, -tol_rel) ***** assert_equal (tcdf (-10^3, 2.5), 2.2747463948307452e-08, -tol_rel) ***** assert_equal (tcdf (-10^4, 2.5), 7.1933970159922115e-11, -tol_rel) ***** assert_equal (tcdf (-10^5, 2.5), 2.2747519231756221e-13, -tol_rel) 30 tests, 30 passed, 0 known failure, 0 skipped [inst/dist_fun/hygecdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/hygecdf.m ***** demo ## Plot various CDFs from the hypergeometric distribution x = 0:60; p1 = hygecdf (x, 500, 50, 100); p2 = hygecdf (x, 500, 60, 200); p3 = hygecdf (x, 500, 70, 300); plot (x, p1, '*b', x, p2, '*g', x, p3, '*r') grid on xlim ([0, 60]) legend ({'m = 500, k = 50, n = 100', 'm = 500, k = 60, n = 200', ... 'm = 500, k = 70, n = 300'}, 'location', 'southeast') title ('Hypergeometric CDF') xlabel ('values in x (number of successes)') ylabel ('probability') ***** shared x, y x = [-1 0 1 2 3]; y = [0 1/6 5/6 1 1]; ***** assert_equal (hygecdf (x, 4*ones (1,5), 2, 2), y, 5*eps) ***** assert_equal (hygecdf (x, 4, 2*ones (1,5), 2), y, 5*eps) ***** assert_equal (hygecdf (x, 4, 2, 2*ones (1,5)), y, 5*eps) ***** assert_equal (hygecdf (x, 4*[1 -1 NaN 1.1 1], 2, 2), [y(1) NaN NaN NaN y(5)], 5*eps) ***** assert_equal (hygecdf (x, 4*[1 -1 NaN 1.1 1], 2, 2, 'upper'), ... [y(5) NaN NaN NaN y(1)], 5*eps) ***** assert_equal (hygecdf (x, 4, 2*[1 -1 NaN 1.1 1], 2), [y(1) NaN NaN NaN y(5)], 5*eps) ***** assert_equal (hygecdf (x, 4, 2*[1 -1 NaN 1.1 1], 2, 'upper'), ... [y(5) NaN NaN NaN y(1)], 5*eps) ***** assert_equal (hygecdf (x, 4, 5, 2), [NaN NaN NaN NaN NaN]) ***** assert_equal (hygecdf (x, 4, 2, 2*[1 -1 NaN 1.1 1]), [y(1) NaN NaN NaN y(5)], 5*eps) ***** assert_equal (hygecdf (x, 4, 2, 2*[1 -1 NaN 1.1 1], 'upper'), ... [y(5) NaN NaN NaN y(1)], 5*eps) ***** assert_equal (hygecdf (x, 4, 2, 5), [NaN NaN NaN NaN NaN]) ***** assert_equal (hygecdf ([x(1:2) NaN x(4:5)], 4, 2, 2), [y(1:2) NaN y(4:5)], 5*eps) ***** test p = hygecdf (x, 10, [1 2 3 4 5], 2, 'upper'); assert_equal (p, [1, 34/90, 2/30, 0, 0], 10*eps); ***** test p = hygecdf (2*x, 10, [1 2 3 4 5], 2, 'upper'); assert_equal (p, [1, 34/90, 0, 0, 0], 10*eps); ***** assert_equal (hygecdf ([x, NaN], 4, 2, 2), [y, NaN], 5*eps) ***** assert_equal (hygecdf (single ([x, NaN]), 4, 2, 2), single ([y, NaN]), ... eps ('single')) ***** assert_equal (hygecdf ([x, NaN], single (4), 2, 2), single ([y, NaN]), ... eps ('single')) ***** assert_equal (hygecdf ([x, NaN], 4, single (2), 2), single ([y, NaN]), ... eps ('single')) ***** assert_equal (hygecdf ([x, NaN], 4, 2, single (2)), single ([y, NaN]), ... eps ('single')) ***** error hygecdf () ***** error hygecdf (1) ***** error hygecdf (1,2) ***** error hygecdf (1,2,3) ***** error hygecdf (1,2,3,4,5) ***** error hygecdf (1,2,3,4,'uper') ***** error ... hygecdf (ones (2), ones (3), 1, 1) ***** error ... hygecdf (1, ones (2), ones (3), 1) ***** error ... hygecdf (1, 1, ones (2), ones (3)) ***** error hygecdf (i, 2, 2, 2) ***** error hygecdf (2, i, 2, 2) ***** error hygecdf (2, 2, i, 2) ***** error hygecdf (2, 2, 2, i) 32 tests, 32 passed, 0 known failure, 0 skipped [inst/dist_fun/burrinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/burrinv.m ***** demo ## Plot various iCDFs from the Burr type XII distribution p = 0.001:0.001:0.999; x1 = burrinv (p, 1, 1, 1); x2 = burrinv (p, 1, 1, 2); x3 = burrinv (p, 1, 1, 3); x4 = burrinv (p, 1, 2, 1); x5 = burrinv (p, 1, 3, 1); x6 = burrinv (p, 1, 0.5, 2); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', ... p, x4, '-c', p, x5, '-m', p, x6, '-k') grid on ylim ([0, 5]) legend ({'λ = 1, c = 1, k = 1', 'λ = 1, c = 1, k = 2', ... 'λ = 1, c = 1, k = 3', 'λ = 1, c = 2, k = 1', ... 'λ = 1, c = 3, k = 1', 'λ = 1, c = 0.5, k = 2'}, ... 'location', 'northwest') title ('Burr type XII iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p, y p = [-Inf, -1, 0, 1/2, 1, 2, Inf]; y = [NaN, NaN, 0, 1 , Inf, NaN, NaN]; ***** assert_equal (burrinv (p, ones (1,7), ones (1,7), ones (1,7)), y, eps) ***** assert_equal (burrinv (p, 1, 1, 1), y, eps) ***** assert_equal (burrinv (p, [1, 1, 1, NaN, 1, 1, 1], 1, 1), [y(1:3), NaN, y(5:7)], eps) ***** assert_equal (burrinv (p, 1, [1, 1, 1, NaN, 1, 1, 1], 1), [y(1:3), NaN, y(5:7)], eps) ***** assert_equal (burrinv (p, 1, 1, [1, 1, 1, NaN, 1, 1, 1]), [y(1:3), NaN, y(5:7)], eps) ***** assert_equal (burrinv ([p, NaN], 1, 1, 1), [y, NaN], eps) ***** assert_equal (burrinv (single ([p, NaN]), 1, 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (burrinv ([p, NaN], single (1), 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (burrinv ([p, NaN], 1, single (1), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (burrinv ([p, NaN], 1, 1, single (1)), single ([y, NaN]), eps ('single')) ***** error burrinv () ***** error burrinv (1) ***** error burrinv (1, 2) ***** error burrinv (1, 2, 3) ***** error ... burrinv (1, 2, 3, 4, 5) ***** error ... burrinv (ones (3), ones (2), ones (2), ones (2)) ***** error ... burrinv (ones (2), ones (3), ones (2), ones (2)) ***** error ... burrinv (ones (2), ones (2), ones (3), ones (2)) ***** error ... burrinv (ones (2), ones (2), ones (2), ones (3)) ***** error burrinv (i, 2, 3, 4) ***** error burrinv (1, i, 3, 4) ***** error burrinv (1, 2, i, 4) ***** error burrinv (1, 2, 3, i) 23 tests, 23 passed, 0 known failure, 0 skipped [inst/dist_fun/gamcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gamcdf.m ***** demo ## Plot various CDFs from the Gamma distribution x = 0:0.01:20; p1 = gamcdf (x, 1, 2); p2 = gamcdf (x, 2, 2); p3 = gamcdf (x, 3, 2); p4 = gamcdf (x, 5, 1); p5 = gamcdf (x, 9, 0.5); p6 = gamcdf (x, 7.5, 1); p7 = gamcdf (x, 0.5, 1); plot (x, p1, '-r', x, p2, '-g', x, p3, '-y', x, p4, '-m', ... x, p5, '-k', x, p6, '-b', x, p7, '-c') grid on legend ({'α = 1, β = 2', 'α = 2, β = 2', 'α = 3, β = 2', ... 'α = 5, β = 1', 'α = 9, β = 0.5', 'α = 7.5, β = 1', ... 'α = 0.5, β = 1'}, 'location', 'southeast') title ('Gamma CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y, u x = [-1, 0, 0.5, 1, 2, Inf]; y = [0, gammainc(x(2:end), 1)]; u = [0, NaN, NaN, 1, 0.1353352832366127, 0]; ***** assert_equal (gamcdf (x, ones (1,6), ones (1,6)), y, eps) ***** assert_equal (gamcdf (x, ones (1,6), ones (1,6), []), y, eps) ***** assert_equal (gamcdf (x, 1, ones (1,6)), y, eps) ***** assert_equal (gamcdf (x, ones (1,6), 1), y, eps) ***** assert_equal (gamcdf (x, [0, -Inf, NaN, Inf, 1, 1], 1), [1, NaN, NaN, 0, y(5:6)], eps) ***** assert_equal (gamcdf (x, [0, -Inf, NaN, Inf, 1, 1], 1, 'upper'), u, eps) ***** assert_equal (gamcdf (x, 1, [0, -Inf, NaN, Inf, 1, 1]), [NaN, NaN, NaN, 0, y(5:6)], eps) ***** assert_equal (gamcdf ([x(1:2), NaN, x(4:6)], 1, 1), [y(1:2), NaN, y(4:6)], eps) ***** assert_equal (gamcdf ([x, NaN], 1, 1), [y, NaN]) ***** assert_equal (gamcdf (single ([x, NaN]), 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (gamcdf ([x, NaN], single (1), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (gamcdf ([x, NaN], 1, single (1)), single ([y, NaN]), eps ('single')) ***** error gamcdf () ***** error gamcdf (1) ***** error gamcdf (1, 2, 3, 4, 5, 6, 7) ***** error gamcdf (1, 2, 3, 'uper') ***** error gamcdf (1, 2, 3, 4, 5, 'uper') ***** error gamcdf (2, 3, 4, [1, 2]) ***** error ... [p, plo, pup] = gamcdf (1, 2, 3) ***** error ... [p, plo, pup] = gamcdf (1, 2, 3, 'upper') ***** error [p, plo, pup] = ... gamcdf (1, 2, 3, [1, 0; 0, 1], 0) ***** error [p, plo, pup] = ... gamcdf (1, 2, 3, [1, 0; 0, 1], 1.22) ***** error [p, plo, pup] = ... gamcdf (1, 2, 3, [1, 0; 0, 1], 'alpha', 'upper') ***** error ... gamcdf (ones (3), ones (2), ones (2)) ***** error ... gamcdf (ones (2), ones (3), ones (2)) ***** error ... gamcdf (ones (2), ones (2), ones (3)) ***** error gamcdf (i, 2, 2) ***** error gamcdf (2, i, 2) ***** error gamcdf (2, 2, i) ***** error ... [p, plo, pup] = gamcdf (1, 2, 3, [1, 0; 0, -inf], 0.04) 30 tests, 30 passed, 0 known failure, 0 skipped [inst/dist_fun/chi2pdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/chi2pdf.m ***** demo ## Plot various PDFs from the chi-squared distribution x = 0:0.01:8; y1 = chi2pdf (x, 1); y2 = chi2pdf (x, 2); y3 = chi2pdf (x, 3); y4 = chi2pdf (x, 4); y5 = chi2pdf (x, 6); y6 = chi2pdf (x, 9); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', ... x, y4, '-c', x, y5, '-m', x, y6, '-y') grid on xlim ([0, 8]) ylim ([0, 0.5]) legend ({'df = 1', 'df = 2', 'df = 3', ... 'df = 4', 'df = 6', 'df = 9'}, 'location', 'northeast') title ('Chi-squared PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1 0 0.5 1 Inf]; y = [0, 1/2 * exp(-x(2:5)/2)]; ***** assert_equal (chi2pdf (x, 2*ones (1,5)), y) ***** assert_equal (chi2pdf (x, 2), y) ***** assert_equal (chi2pdf (x, 2*[1 0 NaN 1 1]), [y(1) NaN NaN y(4:5)]) ***** assert_equal (chi2pdf ([x, NaN], 2), [y, NaN]) ***** assert_equal (chi2pdf (2, Inf), 0) ***** assert_equal (chi2pdf (single ([x, NaN]), 2), single ([y, NaN])) ***** assert_equal (chi2pdf ([x, NaN], single (2)), single ([y, NaN])) ***** error chi2pdf () ***** error chi2pdf (1) ***** error chi2pdf (1,2,3) ***** error ... chi2pdf (ones (3), ones (2)) ***** error ... chi2pdf (ones (2), ones (3)) ***** error chi2pdf (i, 2) ***** error chi2pdf (2, i) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/dist_fun/gamrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gamrnd.m ***** assert_equal (size (gamrnd (1, 1)), [1 1]) ***** assert_equal (size (gamrnd (1, ones (2,1))), [2, 1]) ***** assert_equal (size (gamrnd (1, ones (2,2))), [2, 2]) ***** assert_equal (size (gamrnd (ones (2,1), 1)), [2, 1]) ***** assert_equal (size (gamrnd (ones (2,2), 1)), [2, 2]) ***** assert_equal (size (gamrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (gamrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (gamrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (gamrnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (gamrnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (gamrnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (gamrnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (gamrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (gamrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (gamrnd (1, 1)), "double") ***** assert_equal (class (gamrnd (1, single (1))), "single") ***** assert_equal (class (gamrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (gamrnd (single (1), 1)), "single") ***** assert_equal (class (gamrnd (single ([1, 1]), 1)), "single") ***** error gamrnd () ***** error gamrnd (1) ***** error ... gamrnd (ones (3), ones (2)) ***** error ... gamrnd (ones (2), ones (3)) ***** error gamrnd (i, 2, 3) ***** error gamrnd (1, i, 3) ***** error ... gamrnd (1, 2, -1) ***** error ... gamrnd (1, 2, 1.2) ***** error ... gamrnd (1, 2, ones (2)) ***** error ... gamrnd (1, 2, [2 -1 2]) ***** error ... gamrnd (1, 2, [2 0 2.5]) ***** error ... gamrnd (1, 2, 2, -1, 5) ***** error ... gamrnd (1, 2, 2, 1.5, 5) ***** error ... gamrnd (2, ones (2), 3) ***** error ... gamrnd (2, ones (2), [3, 2]) ***** error ... gamrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/mvtcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/mvtcdf.m ***** demo ## Compute the cdf of a multivariate Student's t distribution with ## correlation parameters rho = [1, 0.4; 0.4, 1] and 2 degrees of freedom. rho = [1, 0.4; 0.4, 1]; df = 2; [X1, X2] = meshgrid (linspace (-2, 2, 25)', linspace (-2, 2, 25)'); X = [X1(:), X2(:)]; p = mvtcdf (X, rho, df); surf (X1, X2, reshape (p, 25, 25)); title ('Bivariate Student''s t cumulative distribution function'); ***** test x = [1, 2]; rho = [1, 0.5; 0.5, 1]; df = 4; a = [-1, 0]; assert_equal (mvtcdf (a, x, rho, df), 0.294196905339283, 1e-14); ***** test x = [1, 2;2, 4;1, 5]; rho = [1, 0.5; 0.5, 1]; df = 4; p =[0.790285178602166; 0.938703291727784; 0.81222737321336]; assert_equal (mvtcdf (x, rho, df), p, 1e-14); ***** test x = [1, 2, 2, 4, 1, 5]; rho = eye (6); rho(rho == 0) = 0.5; df = 4; assert_equal (mvtcdf (x, rho, df), 0.6874, 1e-4); ***** error mvtcdf (1) ***** error mvtcdf (1, 2) ***** error ... mvtcdf (1, [2, 3; 3, 2], 1) ***** error ... mvtcdf ([2, 3, 4], ones (2), 1) ***** error ... mvtcdf ([1, 2, 3], [2, 3], ones (2), 1) ***** error ... mvtcdf ([2, 3], ones (2), [1, 2, 3]) ***** error ... mvtcdf ([2, 3], [1, 0.5; 0.5, 1], [1, 2, 3]) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_fun/riceinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/riceinv.m ***** demo ## Plot various iCDFs from the Rician distribution p = 0.001:0.001:0.999; x1 = riceinv (p, 0, 1); x2 = riceinv (p, 0.5, 1); x3 = riceinv (p, 1, 1); x4 = riceinv (p, 2, 1); x5 = riceinv (p, 4, 1); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-m', p, x5, '-k') grid on legend ({'s = 0, σ = 1', 's = 0.5, σ = 1', 's = 1, σ = 1', ... 's = 2, σ = 1', 's = 4, σ = 1'}, 'location', 'northwest') title ('Rician iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.75 1 2]; ***** assert_equal (riceinv (p, ones (1,5), 2*ones (1,5)), [NaN 0 3.5354 Inf NaN], 1e-4) ***** assert_equal (riceinv (p, 1, 2*ones (1,5)), [NaN 0 3.5354 Inf NaN], 1e-4) ***** assert_equal (riceinv (p, ones (1,5), 2), [NaN 0 3.5354 Inf NaN], 1e-4) ***** assert_equal (riceinv (p, [1 0 NaN 1 1], 2), [NaN 0 NaN Inf NaN]) ***** assert_equal (riceinv (p, 1, 2*[1 0 NaN 1 1]), [NaN NaN NaN Inf NaN]) ***** assert_equal (riceinv ([p(1:2) NaN p(4:5)], 1, 2), [NaN 0 NaN Inf NaN]) ***** assert_equal (riceinv ([p, NaN], 1, 2), [NaN 0 3.5354 Inf NaN NaN], 1e-4) ***** assert_equal (riceinv (single ([p, NaN]), 1, 2), ... single ([NaN 0 3.5354 Inf NaN NaN]), 1e-4) ***** assert_equal (riceinv ([p, NaN], single (1), 2), ... single ([NaN 0 3.5354 Inf NaN NaN]), 1e-4) ***** assert_equal (riceinv ([p, NaN], 1, single (2)), ... single ([NaN 0 3.5354 Inf NaN NaN]), 1e-4) ***** error riceinv () ***** error riceinv (1) ***** error riceinv (1,2) ***** error riceinv (1,2,3,4) ***** error ... riceinv (ones (3), ones (2), ones (2)) ***** error ... riceinv (ones (2), ones (3), ones (2)) ***** error ... riceinv (ones (2), ones (2), ones (3)) ***** error riceinv (i, 2, 2) ***** error riceinv (2, i, 2) ***** error riceinv (2, 2, i) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/dist_fun/nakacdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nakacdf.m ***** demo ## Plot various CDFs from the Nakagami distribution x = 0:0.01:3; p1 = nakacdf (x, 0.5, 1); p2 = nakacdf (x, 1, 1); p3 = nakacdf (x, 1, 2); p4 = nakacdf (x, 1, 3); p5 = nakacdf (x, 2, 1); p6 = nakacdf (x, 2, 2); p7 = nakacdf (x, 5, 1); plot (x, p1, '-r', x, p2, '-g', x, p3, '-y', x, p4, '-m', ... x, p5, '-k', x, p6, '-b', x, p7, '-c') grid on xlim ([0, 3]) legend ({'μ = 0.5, ω = 1', 'μ = 1, ω = 1', 'μ = 1, ω = 2', ... 'μ = 1, ω = 3', 'μ = 2, ω = 1', 'μ = 2, ω = 2', ... 'μ = 5, ω = 1'}, 'location', 'southeast') title ('Nakagami CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-1, 0, 1, 2, Inf]; y = [0, 0, 0.63212055882855778, 0.98168436111126578, 1]; ***** assert_equal (nakacdf (x, ones (1,5), ones (1,5)), y, eps) ***** assert_equal (nakacdf (x, 1, 1), y, eps) ***** assert_equal (nakacdf (x, [1, 1, NaN, 1, 1], 1), [y(1:2), NaN, y(4:5)]) ***** assert_equal (nakacdf (x, 1, [1, 1, NaN, 1, 1]), [y(1:2), NaN, y(4:5)]) ***** assert_equal (nakacdf ([x, NaN], 1, 1), [y, NaN], eps) ***** assert_equal (nakacdf (single ([x, NaN]), 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (nakacdf ([x, NaN], single (1), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (nakacdf ([x, NaN], 1, single (1)), single ([y, NaN]), eps ('single')) ***** error nakacdf () ***** error nakacdf (1) ***** error nakacdf (1, 2) ***** error nakacdf (1, 2, 3, 'tail') ***** error nakacdf (1, 2, 3, 4) ***** error ... nakacdf (ones (3), ones (2), ones (2)) ***** error ... nakacdf (ones (2), ones (3), ones (2)) ***** error ... nakacdf (ones (2), ones (2), ones (3)) ***** error nakacdf (i, 2, 2) ***** error nakacdf (2, i, 2) ***** error nakacdf (2, 2, i) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/dist_fun/loglinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/loglinv.m ***** demo ## Plot various iCDFs from the log-logistic distribution p = 0.001:0.001:0.999; x1 = loglinv (p, log (1), 1/0.5); x2 = loglinv (p, log (1), 1); x3 = loglinv (p, log (1), 1/2); x4 = loglinv (p, log (1), 1/4); x5 = loglinv (p, log (1), 1/8); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c', p, x5, '-m') ylim ([0, 20]) grid on legend ({'σ = 2 (β = 0.5)', 'σ = 1 (β = 1)', 'σ = 0.5 (β = 2)', ... 'σ = 0.25 (β = 4)', 'σ = 0.125 (β = 8)'}, 'location', 'northwest') title ('Log-logistic iCDF') xlabel ('probability') ylabel ('x') text (0.03, 12.5, 'μ = 0 (α = 1), values of σ (β) as shown in legend') ***** shared p, out1, out2 p = [-1, 0, 0.2, 0.5, 0.8, 0.95, 1, 2]; out1 = [NaN, 0, 0.25, 1, 4, 19, Inf, NaN]; out2 = [NaN, 0, 0.0424732, 2.718282, 173.970037, 18644.695061, Inf, NaN]; ***** assert_equal (loglinv (p, 0, 1), out1, 1e-8) ***** assert_equal (loglinv (p, 0, 1), out1, 1e-8) ***** assert_equal (loglinv (p, 1, 3), out2, 1e-6) ***** assert_equal (class (loglinv (single (1), 2, 3)), "single") ***** assert_equal (class (loglinv (1, single (2), 3)), "single") ***** assert_equal (class (loglinv (1, 2, single (3))), "single") ***** error loglinv (1) ***** error loglinv (1, 2) ***** error ... loglinv (1, ones (2), ones (3)) ***** error ... loglinv (ones (2), 1, ones (3)) ***** error ... loglinv (ones (2), ones (3), 1) ***** error loglinv (i, 2, 3) ***** error loglinv (1, i, 3) ***** error loglinv (1, 2, i) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/dist_fun/evpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/evpdf.m ***** demo ## Plot various PDFs from the Extreme value distribution x = -10:0.001:10; y1 = evpdf (x, 0.5, 2); y2 = evpdf (x, 1.0, 2); y3 = evpdf (x, 1.5, 3); y4 = evpdf (x, 3.0, 4); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c') grid on ylim ([0, 0.2]) legend ({'μ = 0.5, σ = 2', 'μ = 1.0, σ = 2', ... 'μ = 1.5, σ = 3', 'μ = 3.0, σ = 4'}, 'location', 'northeast') title ('Extreme value PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y0, y1 x = [-5, 0, 1, 2, 3]; y0 = [0.0067, 0.3679, 0.1794, 0.0046, 0]; y1 = [0.0025, 0.2546, 0.3679, 0.1794, 0.0046]; ***** assert_equal (evpdf (x), y0, 1e-4) ***** assert_equal (evpdf (x, zeros (1,5), ones (1,5)), y0, 1e-4) ***** assert_equal (evpdf (x, ones (1,5), ones (1,5)), y1, 1e-4) ***** error evpdf () ***** error ... evpdf (ones (3), ones (2), ones (2)) ***** error evpdf (i, 2, 2) ***** error evpdf (2, i, 2) ***** error evpdf (2, 2, i) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fun/hygeinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/hygeinv.m ***** demo ## Plot various iCDFs from the hypergeometric distribution p = 0.001:0.001:0.999; x1 = hygeinv (p, 500, 50, 100); x2 = hygeinv (p, 500, 60, 200); x3 = hygeinv (p, 500, 70, 300); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r') grid on ylim ([0, 60]) legend ({'m = 500, k = 50, n = 100', 'm = 500, k = 60, n = 200', ... 'm = 500, k = 70, n = 300'}, 'location', 'northwest') title ('Hypergeometric iCDF') xlabel ('probability') ylabel ('values in p (number of successes)') ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (hygeinv (p, 4*ones (1,5), 2*ones (1,5), 2*ones (1,5)), [NaN 0 1 2 NaN]) ***** assert_equal (hygeinv (p, 4*ones (1,5), 2, 2), [NaN 0 1 2 NaN]) ***** assert_equal (hygeinv (p, 4, 2*ones (1,5), 2), [NaN 0 1 2 NaN]) ***** assert_equal (hygeinv (p, 4, 2, 2*ones (1,5)), [NaN 0 1 2 NaN]) ***** assert_equal (hygeinv (p, 4*[1 -1 NaN 1.1 1], 2, 2), [NaN NaN NaN NaN NaN]) ***** assert_equal (hygeinv (p, 4, 2*[1 -1 NaN 1.1 1], 2), [NaN NaN NaN NaN NaN]) ***** assert_equal (hygeinv (p, 4, 5, 2), [NaN NaN NaN NaN NaN]) ***** assert_equal (hygeinv (p, 4, 2, 2*[1 -1 NaN 1.1 1]), [NaN NaN NaN NaN NaN]) ***** assert_equal (hygeinv (p, 4, 2, 5), [NaN NaN NaN NaN NaN]) ***** assert_equal (hygeinv ([p(1:2) NaN p(4:5)], 4, 2, 2), [NaN 0 NaN 2 NaN]) ***** assert_equal (hygeinv ([p, NaN], 4, 2, 2), [NaN 0 1 2 NaN NaN]) ***** assert_equal (hygeinv (single ([p, NaN]), 4, 2, 2), single ([NaN 0 1 2 NaN NaN])) ***** assert_equal (hygeinv ([p, NaN], single (4), 2, 2), single ([NaN 0 1 2 NaN NaN])) ***** assert_equal (hygeinv ([p, NaN], 4, single (2), 2), single ([NaN 0 1 2 NaN NaN])) ***** assert_equal (hygeinv ([p, NaN], 4, 2, single (2)), single ([NaN 0 1 2 NaN NaN])) ***** error hygeinv () ***** error hygeinv (1) ***** error hygeinv (1,2) ***** error hygeinv (1,2,3) ***** error ... hygeinv (ones (2), ones (3), 1, 1) ***** error ... hygeinv (1, ones (2), ones (3), 1) ***** error ... hygeinv (1, 1, ones (2), ones (3)) ***** error hygeinv (i, 2, 2, 2) ***** error hygeinv (2, i, 2, 2) ***** error hygeinv (2, 2, i, 2) ***** error hygeinv (2, 2, 2, i) 26 tests, 26 passed, 0 known failure, 0 skipped [inst/dist_fun/unifpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/unifpdf.m ***** demo ## Plot various PDFs from the continuous uniform distribution x = 0:0.001:10; y1 = unifpdf (x, 2, 5); y2 = unifpdf (x, 3, 9); plot (x, y1, '-b', x, y2, '-g') grid on xlim ([0, 10]) ylim ([0, 0.4]) legend ({'a = 2, b = 5', 'a = 3, b = 9'}, 'location', 'northeast') title ('Continuous uniform PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1 0 0.5 1 2] + 1; y = [0 1 1 1 0]; ***** assert_equal (unifpdf (x, ones (1,5), 2*ones (1,5)), y) ***** assert_equal (unifpdf (x, 1, 2*ones (1,5)), y) ***** assert_equal (unifpdf (x, ones (1,5), 2), y) ***** assert_equal (unifpdf (x, [2 NaN 1 1 1], 2), [NaN NaN y(3:5)]) ***** assert_equal (unifpdf (x, 1, 2*[0 NaN 1 1 1]), [NaN NaN y(3:5)]) ***** assert_equal (unifpdf ([x, NaN], 1, 2), [y, NaN]) ***** assert_equal (unifpdf (x, 0, 1), [1 1 0 0 0]) ***** assert_equal (unifpdf (single ([x, NaN]), 1, 2), single ([y, NaN])) ***** assert_equal (unifpdf (single ([x, NaN]), single (1), 2), single ([y, NaN])) ***** assert_equal (unifpdf ([x, NaN], 1, single (2)), single ([y, NaN])) ***** error unifpdf () ***** error unifpdf (1) ***** error unifpdf (1, 2) ***** error ... unifpdf (ones (3), ones (2), ones (2)) ***** error ... unifpdf (ones (2), ones (3), ones (2)) ***** error ... unifpdf (ones (2), ones (2), ones (3)) ***** error unifpdf (i, 2, 2) ***** error unifpdf (2, i, 2) ***** error unifpdf (2, 2, i) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/dist_fun/poissinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/poissinv.m ***** demo ## Plot various iCDFs from the Poisson distribution p = 0.001:0.001:0.999; x1 = poissinv (p, 13); x2 = poissinv (p, 4); x3 = poissinv (p, 10); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r') grid on ylim ([0, 20]) legend ({'λ = 1', 'λ = 4', 'λ = 10'}, 'location', 'northwest') title ('Poisson iCDF') xlabel ('probability') ylabel ('values in x (number of occurrences)') ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (poissinv (p, ones (1,5)), [NaN 0 1 Inf NaN]) ***** assert_equal (poissinv (p, 1), [NaN 0 1 Inf NaN]) ***** assert_equal (poissinv (p, [1 0 NaN 1 1]), [NaN NaN NaN Inf NaN]) ***** assert_equal (poissinv ([p(1:2) NaN p(4:5)], 1), [NaN 0 NaN Inf NaN]) ***** assert_equal (poissinv ([p, NaN], 1), [NaN 0 1 Inf NaN NaN]) ***** assert_equal (poissinv (single ([p, NaN]), 1), single ([NaN 0 1 Inf NaN NaN])) ***** assert_equal (poissinv ([p, NaN], single (1)), single ([NaN 0 1 Inf NaN NaN])) ***** error poissinv () ***** error poissinv (1) ***** error ... poissinv (ones (3), ones (2)) ***** error ... poissinv (ones (2), ones (3)) ***** error poissinv (i, 2) ***** error poissinv (2, i) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fun/mvtrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/mvtrnd.m ***** test rho = [1, 0.5; 0.5, 1]; df = 3; n = 10; r = mvtrnd (rho, df, n); assert_equal (size (r), [10, 2]); ***** test rho = [1, 0.5; 0.5, 1]; df = [2; 3]; n = 2; r = mvtrnd (rho, df, 2); assert_equal (size (r), [2, 2]); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/dist_fun/evcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/evcdf.m ***** demo ## Plot various CDFs from the extreme value distribution x = -10:0.01:10; p1 = evcdf (x, 0.5, 2); p2 = evcdf (x, 1.0, 2); p3 = evcdf (x, 1.5, 3); p4 = evcdf (x, 3.0, 4); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c') grid on legend ({'μ = 0.5, σ = 2', 'μ = 1.0, σ = 2', ... 'μ = 1.5, σ = 3', 'μ = 3.0, σ = 4'}, 'location', 'southeast') title ('Extreme value CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-Inf, 1, 2, Inf]; y = [0, 0.6321, 0.9340, 1]; ***** assert_equal (evcdf (x, ones (1,4), ones (1,4)), y, 1e-4) ***** assert_equal (evcdf (x, 1, ones (1,4)), y, 1e-4) ***** assert_equal (evcdf (x, ones (1,4), 1), y, 1e-4) ***** assert_equal (evcdf (x, [0, -Inf, NaN, Inf], 1), [0, 1, NaN, NaN], 1e-4) ***** assert_equal (evcdf (x, 1, [Inf, NaN, -1, 0]), [NaN, NaN, NaN, NaN], 1e-4) ***** assert_equal (evcdf ([x(1:2), NaN, x(4)], 1, 1), [y(1:2), NaN, y(4)], 1e-4) ***** assert_equal (evcdf (x, 'upper'), [1, 0.0660, 0.0006, 0], 1e-4) ***** assert_equal (evcdf ([x, NaN], 1, 1), [y, NaN], 1e-4) ***** assert_equal (evcdf (single ([x, NaN]), 1, 1), single ([y, NaN]), 1e-4) ***** assert_equal (evcdf ([x, NaN], single (1), 1), single ([y, NaN]), 1e-4) ***** assert_equal (evcdf ([x, NaN], 1, single (1)), single ([y, NaN]), 1e-4) ***** error evcdf () ***** error evcdf (1,2,3,4,5,6,7) ***** error evcdf (1, 2, 3, 4, 'uper') ***** error ... evcdf (ones (3), ones (2), ones (2)) ***** error evcdf (2, 3, 4, [1, 2]) ***** error ... [p, plo, pup] = evcdf (1, 2, 3) ***** error [p, plo, pup] = ... evcdf (1, 2, 3, [1, 0; 0, 1], 0) ***** error [p, plo, pup] = ... evcdf (1, 2, 3, [1, 0; 0, 1], 1.22) ***** error [p, plo, pup] = ... evcdf (1, 2, 3, [1, 0; 0, 1], 'alpha', 'upper') ***** error evcdf (i, 2, 2) ***** error evcdf (2, i, 2) ***** error evcdf (2, 2, i) ***** error ... [p, plo, pup] = evcdf (1, 2, 3, [1, 0; 0, -inf], 0.04) 24 tests, 24 passed, 0 known failure, 0 skipped [inst/dist_fun/trirnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/trirnd.m ***** assert_equal (size (trirnd (1, 1.5, 2)), [1, 1]) ***** assert_equal (size (trirnd (1 * ones (2, 1), 1.5, 2)), [2, 1]) ***** assert_equal (size (trirnd (1 * ones (2, 2), 1.5, 2)), [2, 2]) ***** assert_equal (size (trirnd (1, 1.5 * ones (2, 1), 2)), [2, 1]) ***** assert_equal (size (trirnd (1, 1.5 * ones (2, 2), 2)), [2, 2]) ***** assert_equal (size (trirnd (1, 1.5, 2 * ones (2, 1))), [2, 1]) ***** assert_equal (size (trirnd (1, 1.5, 2 * ones (2, 2))), [2, 2]) ***** assert_equal (size (trirnd (1, 1.5, 2, 3)), [3, 3]) ***** assert_equal (size (trirnd (1, 1.5, 2, [4, 1])), [4, 1]) ***** assert_equal (size (trirnd (1, 1.5, 2, 4, 1)), [4, 1]) ***** assert_equal (size (trirnd (1, 1.5, 2, [])), [0, 0]) ***** assert_equal (size (trirnd (1, 1.5, 2, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (trirnd (1, 1.5, 2)), "double") ***** assert_equal (class (trirnd (single (1), 1.5, 2)), "single") ***** assert_equal (class (trirnd (single ([1, 1]), 1.5, 2)), "single") ***** assert_equal (class (trirnd (1, single (1.5), 2)), "single") ***** assert_equal (class (trirnd (1, single ([1.5, 1.5]), 2)), "single") ***** assert_equal (class (trirnd (1, 1.5, single (1.5))), "single") ***** assert_equal (class (trirnd (1, 1.5, single ([2, 2]))), "single") ***** error trirnd () ***** error trirnd (1) ***** error trirnd (1, 2) ***** error ... trirnd (ones (3), 5 * ones (2), ones (2)) ***** error ... trirnd (ones (2), 5 * ones (3), ones (2)) ***** error ... trirnd (ones (2), 5 * ones (2), ones (3)) ***** error trirnd (i, 5, 3) ***** error trirnd (1, 5+i, 3) ***** error trirnd (1, 5, i) ***** error ... trirnd (1, 5, 3, -1) ***** error ... trirnd (1, 5, 3, 1.2) ***** error ... trirnd (1, 5, 3, ones (2)) ***** error ... trirnd (1, 5, 3, [2 -1 2]) ***** error ... trirnd (1, 5, 3, [2 0 2.5]) ***** error ... trirnd (1, 5, 3, 2, -1, 5) ***** error ... trirnd (1, 5, 3, 2, 1.5, 5) ***** error ... trirnd (2, 5 * ones (2), 2, 3) ***** error ... trirnd (2, 5 * ones (2), 2, [3, 2]) ***** error ... trirnd (2, 5 * ones (2), 2, 3, 2) 38 tests, 38 passed, 0 known failure, 0 skipped [inst/dist_fun/gpcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gpcdf.m ***** demo ## Plot various CDFs from the generalized Pareto distribution x = 0:0.001:5; p1 = gpcdf (x, 1, 1, 0); p2 = gpcdf (x, 5, 1, 0); p3 = gpcdf (x, 20, 1, 0); p4 = gpcdf (x, 1, 2, 0); p5 = gpcdf (x, 5, 2, 0); p6 = gpcdf (x, 20, 2, 0); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', ... x, p4, '-c', x, p5, '-m', x, p6, '-k') grid on xlim ([0, 5]) legend ({'k = 1, σ = 1, θ = 0', 'k = 5, σ = 1, θ = 0', ... 'k = 20, σ = 1, θ = 0', 'k = 1, σ = 2, θ = 0', ... 'k = 5, σ = 2, θ = 0', 'k = 20, σ = 2, θ = 0'}, ... 'location', 'northwest') title ('Generalized Pareto CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y1, y1u, y2, y2u, y3, y3u x = [-Inf, -1, 0, 1/2, 1, Inf]; y1 = [0, 0, 0, 0.3934693402873666, 0.6321205588285577, 1]; y1u = [1, 1, 1, 0.6065306597126334, 0.3678794411714423, 0]; y2 = [0, 0, 0, 1/3, 1/2, 1]; y2u = [1, 1, 1, 2/3, 1/2, 0]; y3 = [0, 0, 0, 1/2, 1, 1]; y3u = [1, 1, 1, 1/2, 0, 0]; ***** assert_equal (gpcdf (x, zeros (1,6), ones (1,6), zeros (1,6)), y1, eps) ***** assert_equal (gpcdf (x, 0, 1, zeros (1,6)), y1, eps) ***** assert_equal (gpcdf (x, 0, ones (1,6), 0), y1, eps) ***** assert_equal (gpcdf (x, zeros (1,6), 1, 0), y1, eps) ***** assert_equal (gpcdf (x, 0, 1, 0), y1, eps) ***** assert_equal (gpcdf (x, 0, 1, [0, 0, 0, NaN, 0, 0]), [y1(1:3), NaN, y1(5:6)], eps) ***** assert_equal (gpcdf (x, 0, [1, 1, 1, NaN, 1, 1], 0), [y1(1:3), NaN, y1(5:6)], eps) ***** assert_equal (gpcdf (x, [0, 0, 0, NaN, 0, 0], 1, 0), [y1(1:3), NaN, y1(5:6)], eps) ***** assert_equal (gpcdf ([x(1:3), NaN, x(5:6)], 0, 1, 0), [y1(1:3), NaN, y1(5:6)], eps) ***** assert_equal (gpcdf (x, zeros (1,6), ones (1,6), zeros (1,6), 'upper'), y1u, eps) ***** assert_equal (gpcdf (x, 0, 1, zeros (1,6), 'upper'), y1u, eps) ***** assert_equal (gpcdf (x, 0, ones (1,6), 0, 'upper'), y1u, eps) ***** assert_equal (gpcdf (x, zeros (1,6), 1, 0, 'upper'), y1u, eps) ***** assert_equal (gpcdf (x, 0, 1, 0, 'upper'), y1u, eps) ***** assert_equal (gpcdf (x, ones (1,6), ones (1,6), zeros (1,6)), y2, eps) ***** assert_equal (gpcdf (x, 1, 1, zeros (1,6)), y2, eps) ***** assert_equal (gpcdf (x, 1, ones (1,6), 0), y2, eps) ***** assert_equal (gpcdf (x, ones (1,6), 1, 0), y2, eps) ***** assert_equal (gpcdf (x, 1, 1, 0), y2, eps) ***** assert_equal (gpcdf (x, 1, 1, [0, 0, 0, NaN, 0, 0]), [y2(1:3), NaN, y2(5:6)], eps) ***** assert_equal (gpcdf (x, 1, [1, 1, 1, NaN, 1, 1], 0), [y2(1:3), NaN, y2(5:6)], eps) ***** assert_equal (gpcdf (x, [1, 1, 1, NaN, 1, 1], 1, 0), [y2(1:3), NaN, y2(5:6)], eps) ***** assert_equal (gpcdf ([x(1:3), NaN, x(5:6)], 1, 1, 0), [y2(1:3), NaN, y2(5:6)], eps) ***** assert_equal (gpcdf (x, ones (1,6), ones (1,6), zeros (1,6), 'upper'), y2u, eps) ***** assert_equal (gpcdf (x, 1, 1, zeros (1,6), 'upper'), y2u, eps) ***** assert_equal (gpcdf (x, 1, ones (1,6), 0, 'upper'), y2u, eps) ***** assert_equal (gpcdf (x, ones (1,6), 1, 0, 'upper'), y2u, eps) ***** assert_equal (gpcdf (x, 1, 1, 0, 'upper'), y2u, eps) ***** assert_equal (gpcdf (x, 1, 1, [0, 0, 0, NaN, 0, 0], 'upper'), ... [y2u(1:3), NaN, y2u(5:6)], eps) ***** assert_equal (gpcdf (x, 1, [1, 1, 1, NaN, 1, 1], 0, 'upper'), ... [y2u(1:3), NaN, y2u(5:6)], eps) ***** assert_equal (gpcdf (x, [1, 1, 1, NaN, 1, 1], 1, 0, 'upper'), ... [y2u(1:3), NaN, y2u(5:6)], eps) ***** assert_equal (gpcdf ([x(1:3), NaN, x(5:6)], 1, 1, 0, 'upper'), ... [y2u(1:3), NaN, y2u(5:6)], eps) ***** assert_equal (gpcdf (x, -ones (1,6), ones (1,6), zeros (1,6)), y3, eps) ***** assert_equal (gpcdf (x, -1, 1, zeros (1,6)), y3, eps) ***** assert_equal (gpcdf (x, -1, ones (1,6), 0), y3, eps) ***** assert_equal (gpcdf (x, -ones (1,6), 1, 0), y3, eps) ***** assert_equal (gpcdf (x, -1, 1, 0), y3, eps) ***** assert_equal (gpcdf (x, -1, 1, [0, 0, 0, NaN, 0, 0]), [y3(1:3), NaN, y3(5:6)], eps) ***** assert_equal (gpcdf (x, -1, [1, 1, 1, NaN, 1, 1], 0), [y3(1:3), NaN, y3(5:6)], eps) ***** assert_equal (gpcdf (x, [-1, -1, -1, NaN, -1, -1], 1, 0), [y3(1:3), NaN, y3(5:6)], eps) ***** assert_equal (gpcdf ([x(1:3), NaN, x(5:6)], -1, 1, 0), [y3(1:3), NaN, y3(5:6)], eps) ***** assert_equal (gpcdf (x, -ones (1,6), ones (1,6), zeros (1,6), 'upper'), y3u, eps) ***** assert_equal (gpcdf (x, -1, 1, zeros (1,6), 'upper'), y3u, eps) ***** assert_equal (gpcdf (x, -1, ones (1,6), 0, 'upper'), y3u, eps) ***** assert_equal (gpcdf (x, -ones (1,6), 1, 0, 'upper'), y3u, eps) ***** assert_equal (gpcdf (x, -1, 1, 0, 'upper'), y3u, eps) ***** assert_equal (gpcdf (x, -1, 1, [0, 0, 0, NaN, 0, 0], 'upper'), ... [y3u(1:3), NaN, y3u(5:6)], eps) ***** assert_equal (gpcdf (x, -1, [1, 1, 1, NaN, 1, 1], 0, 'upper'), ... [y3u(1:3), NaN, y3u(5:6)], eps) ***** assert_equal (gpcdf (x, [-1, -1, -1, NaN, -1, -1], 1, 0, 'upper'), ... [y3u(1:3), NaN, y3u(5:6)], eps) ***** assert_equal (gpcdf ([x(1:3), NaN, x(5:6)], -1, 1, 0, 'upper'), ... [y3u(1:3), NaN, y3u(5:6)], eps) ***** assert_equal (gpcdf (single ([x, NaN]), 0, 1, 0), single ([y1, NaN]), eps ('single')) ***** assert_equal (gpcdf ([x, NaN], 0, 1, single (0)), single ([y1, NaN]), eps ('single')) ***** assert_equal (gpcdf ([x, NaN], 0, single (1), 0), single ([y1, NaN]), eps ('single')) ***** assert_equal (gpcdf ([x, NaN], single (0), 1, 0), single ([y1, NaN]), eps ('single')) ***** assert_equal (gpcdf (single ([x, NaN]), 1, 1, 0), single ([y2, NaN]), eps ('single')) ***** assert_equal (gpcdf ([x, NaN], 1, 1, single (0)), single ([y2, NaN]), eps ('single')) ***** assert_equal (gpcdf ([x, NaN], 1, single (1), 0), single ([y2, NaN]), eps ('single')) ***** assert_equal (gpcdf ([x, NaN], single (1), 1, 0), single ([y2, NaN]), eps ('single')) ***** assert_equal (gpcdf (single ([x, NaN]), -1, 1, 0), single ([y3, NaN]), eps ('single')) ***** assert_equal (gpcdf ([x, NaN], -1, 1, single (0)), single ([y3, NaN]), eps ('single')) ***** assert_equal (gpcdf ([x, NaN], -1, single (1), 0), single ([y3, NaN]), eps ('single')) ***** assert_equal (gpcdf ([x, NaN], single (-1), 1, 0), single ([y3, NaN]), eps ('single')) ***** error gpcdf () ***** error gpcdf (1) ***** error gpcdf (1, 2) ***** error gpcdf (1, 2, 3) ***** error gpcdf (1, 2, 3, 4, 'tail') ***** error gpcdf (1, 2, 3, 4, 5) ***** error ... gpcdf (ones (3), ones (2), ones (2), ones (2)) ***** error ... gpcdf (ones (2), ones (3), ones (2), ones (2)) ***** error ... gpcdf (ones (2), ones (2), ones (3), ones (2)) ***** error ... gpcdf (ones (2), ones (2), ones (2), ones (3)) ***** error gpcdf (i, 2, 3, 4) ***** error gpcdf (1, i, 3, 4) ***** error gpcdf (1, 2, i, 4) ***** error gpcdf (1, 2, 3, i) 76 tests, 76 passed, 0 known failure, 0 skipped [inst/dist_fun/nbincdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nbincdf.m ***** demo ## Plot various CDFs from the negative binomial distribution x = 0:50; p1 = nbincdf (x, 2, 0.15); p2 = nbincdf (x, 5, 0.2); p3 = nbincdf (x, 4, 0.4); p4 = nbincdf (x, 10, 0.3); plot (x, p1, '*r', x, p2, '*g', x, p3, '*k', x, p4, '*m') grid on xlim ([0, 40]) legend ({'r = 2, ps = 0.15', 'r = 5, ps = 0.2', 'r = 4, p = 0.4', ... 'r = 10, ps = 0.3'}, 'location', 'southeast') title ('Negative binomial CDF') xlabel ('values in x (number of failures)') ylabel ('probability') ***** shared x, y x = [-1 0 1 2 Inf]; y = [0 1/2 3/4 7/8 1]; ***** assert_equal (nbincdf (x, ones (1,5), 0.5*ones (1,5)), y) ***** assert_equal (nbincdf (x, 1, 0.5*ones (1,5)), y) ***** assert_equal (nbincdf (x, ones (1,5), 0.5), y) ***** assert_equal (nbincdf (x, ones (1,5), 0.5, 'upper'), 1 - y, eps) ***** assert_equal (nbincdf ([x(1:3) 0 x(5)], [0 1 NaN 1.5 Inf], 0.5), ... [NaN 1/2 NaN nbinpdf(0,1.5,0.5) NaN], eps) ***** assert_equal (nbincdf (x, 1, 0.5*[-1 NaN 4 1 1]), [NaN NaN NaN y(4:5)]) ***** assert_equal (nbincdf ([x(1:2) NaN x(4:5)], 1, 0.5), [y(1:2) NaN y(4:5)]) ***** assert_equal (nbincdf ([x, NaN], 1, 0.5), [y, NaN]) ***** assert_equal (nbincdf (single ([x, NaN]), 1, 0.5), single ([y, NaN])) ***** assert_equal (nbincdf ([x, NaN], single (1), 0.5), single ([y, NaN])) ***** assert_equal (nbincdf ([x, NaN], 1, single (0.5)), single ([y, NaN])) ***** error nbincdf () ***** error nbincdf (1) ***** error nbincdf (1, 2) ***** error nbincdf (1, 2, 3, 4) ***** error nbincdf (1, 2, 3, 'some') ***** error ... nbincdf (ones (3), ones (2), ones (2)) ***** error ... nbincdf (ones (2), ones (3), ones (2)) ***** error ... nbincdf (ones (2), ones (2), ones (3)) ***** error nbincdf (i, 2, 2) ***** error nbincdf (2, i, 2) ***** error nbincdf (2, 2, i) 22 tests, 22 passed, 0 known failure, 0 skipped [inst/dist_fun/gumbelinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gumbelinv.m ***** demo ## Plot various iCDFs from the Gumbel distribution p = 0.001:0.001:0.999; x1 = gumbelinv (p, 0.5, 2); x2 = gumbelinv (p, 1.0, 2); x3 = gumbelinv (p, 1.5, 3); x4 = gumbelinv (p, 3.0, 4); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c') grid on ylim ([-5, 20]) legend ({'μ = 0.5, β = 2', 'μ = 1.0, β = 2', ... 'μ = 1.5, β = 3', 'μ = 3.0, β = 4'}, 'location', 'northwest') title ('Gumbel iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p, x p = [0, 0.05, 0.5 0.95]; x = [-Inf, -1.0972, 0.3665, 2.9702]; ***** assert_equal (gumbelinv (p), x, 1e-4) ***** assert_equal (gumbelinv (p, zeros (1,4), ones (1,4)), x, 1e-4) ***** assert_equal (gumbelinv (p, 0, ones (1,4)), x, 1e-4) ***** assert_equal (gumbelinv (p, zeros (1,4), 1), x, 1e-4) ***** assert_equal (gumbelinv (p, [0, -Inf, NaN, Inf], 1), [-Inf, -Inf, NaN, Inf], 1e-4) ***** assert_equal (gumbelinv (p, 0, [Inf, NaN, -1, 0]), [-Inf, NaN, NaN, NaN], 1e-4) ***** assert_equal (gumbelinv ([p(1:2), NaN, p(4)], 0, 1), [x(1:2), NaN, x(4)], 1e-4) ***** assert_equal (gumbelinv ([p, NaN], 0, 1), [x, NaN], 1e-4) ***** assert_equal (gumbelinv (single ([p, NaN]), 0, 1), single ([x, NaN]), 1e-4) ***** assert_equal (gumbelinv ([p, NaN], single (0), 1), single ([x, NaN]), 1e-4) ***** assert_equal (gumbelinv ([p, NaN], 0, single (1)), single ([x, NaN]), 1e-4) p = [0.05, 0.5, 0.95]; x = gumbelinv(p); ***** assert_equal (gumbelcdf (x), p, 1e-4) ***** error gumbelinv () ***** error gumbelinv (1,2,3,4,5,6) ***** error ... gumbelinv (ones (3), ones (2), ones (2)) ***** error ... [p, plo, pup] = gumbelinv (2, 3, 4, [1, 2]) ***** error ... [p, plo, pup] = gumbelinv (1, 2, 3) ***** error [p, plo, pup] = ... gumbelinv (1, 2, 3, [1, 0; 0, 1], 0) ***** error [p, plo, pup] = ... gumbelinv (1, 2, 3, [1, 0; 0, 1], 1.22) ***** error gumbelinv (i, 2, 2) ***** error gumbelinv (2, i, 2) ***** error gumbelinv (2, 2, i) ***** error ... [p, plo, pup] = gumbelinv (1, 2, 3, [-1, 10; -Inf, -Inf], 0.04) 23 tests, 23 passed, 0 known failure, 0 skipped [inst/dist_fun/tlsrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/tlsrnd.m ***** assert_equal (size (tlsrnd (1, 2, 3)), [1, 1]) ***** assert_equal (size (tlsrnd (ones (2, 1), 2, 3)), [2, 1]) ***** assert_equal (size (tlsrnd (ones (2, 2), 2, 3)), [2, 2]) ***** assert_equal (size (tlsrnd (1, 2, 3, 3)), [3, 3]) ***** assert_equal (size (tlsrnd (1, 2, 3, [4, 1])), [4, 1]) ***** assert_equal (size (tlsrnd (1, 2, 3, 4, 1)), [4, 1]) ***** assert_equal (size (tlsrnd (1, 2, 3, 4, 1)), [4, 1]) ***** assert_equal (size (tlsrnd (1, 2, 3, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (tlsrnd (1, 2, 3, 0, 1)), [0, 1]) ***** assert_equal (size (tlsrnd (1, 2, 3, 1, 0)), [1, 0]) ***** assert_equal (size (tlsrnd (1, 2, 3, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (tlsrnd (1, 2, 3, [])), [0, 0]) ***** assert_equal (size (tlsrnd (1, 2, 3, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (tlsrnd (1, 2, 0, 1, 1), NaN) ***** assert_equal (tlsrnd (1, 2, [0, 0, 0], [1, 3]), [NaN, NaN, NaN]) ***** assert_equal (class (tlsrnd (1, 2, 3)), "double") ***** assert_equal (class (tlsrnd (single (1), 2, 3)), "single") ***** assert_equal (class (tlsrnd (single ([1, 1]), 2, 3)), "single") ***** assert_equal (class (tlsrnd (1, single (2), 3)), "single") ***** assert_equal (class (tlsrnd (1, single ([2, 2]), 3)), "single") ***** assert_equal (class (tlsrnd (1, 2, single (3))), "single") ***** assert_equal (class (tlsrnd (1, 2, single ([3, 3]))), "single") ***** error tlsrnd () ***** error tlsrnd (1) ***** error tlsrnd (1, 2) ***** error ... tlsrnd (ones (3), ones (2), 1) ***** error ... tlsrnd (ones (2), 1, ones (3)) ***** error ... tlsrnd (1, ones (2), ones (3)) ***** error tlsrnd (i, 2, 3) ***** error tlsrnd (1, i, 3) ***** error tlsrnd (1, 2, i) ***** error ... tlsrnd (1, 2, 3, -1) ***** error ... tlsrnd (1, 2, 3, 1.2) ***** error ... tlsrnd (1, 2, 3, ones (2)) ***** error ... tlsrnd (1, 2, 3, [2 -1 2]) ***** error ... tlsrnd (1, 2, 3, [2 0 2.5]) ***** error ... tlsrnd (ones (2), 2, 3, ones (2)) ***** error ... tlsrnd (1, 2, 3, 2, -1, 5) ***** error ... tlsrnd (1, 2, 3, 2, 1.5, 5) ***** error ... tlsrnd (ones (2,2), 2, 3, 3) ***** error ... tlsrnd (1, ones (2,2), 3, 3) ***** error ... tlsrnd (1, 2, ones (2,2), 3) ***** error ... tlsrnd (1, 2, ones (2,2), [3, 3]) ***** error ... tlsrnd (1, 2, ones (2,2), 2, 3) 44 tests, 44 passed, 0 known failure, 0 skipped [inst/dist_fun/bisacdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/bisacdf.m ***** demo ## Plot various CDFs from the Birnbaum-Saunders distribution x = 0.01:0.01:4; p1 = bisacdf (x, 1, 0.5); p2 = bisacdf (x, 1, 1); p3 = bisacdf (x, 1, 2); p4 = bisacdf (x, 1, 5); p5 = bisacdf (x, 1, 10); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c', x, p5, '-m') grid on legend ({'β = 1, γ = 0.5', 'β = 1, γ = 1', 'β = 1, γ = 2', ... 'β = 1, γ = 5', 'β = 1, γ = 10'}, 'location', 'southeast') title ('Birnbaum-Saunders CDF') xlabel ('values in x') ylabel ('probability') ***** demo ## Plot various CDFs from the Birnbaum-Saunders distribution x = 0.01:0.01:6; p1 = bisacdf (x, 1, 0.3); p2 = bisacdf (x, 2, 0.3); p3 = bisacdf (x, 1, 0.5); p4 = bisacdf (x, 3, 0.5); p5 = bisacdf (x, 5, 0.5); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c', x, p5, '-m') grid on legend ({'β = 1, γ = 0.3', 'β = 2, γ = 0.3', 'β = 1, γ = 0.5', ... 'β = 3, γ = 0.5', 'β = 5, γ = 0.5'}, 'location', 'southeast') title ('Birnbaum-Saunders CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-1, 0, 1, 2, Inf]; y = [0, 0, 1/2, 0.76024993890652337, 1]; ***** assert_equal (bisacdf (x, ones (1,5), ones (1,5)), y, eps) ***** assert_equal (bisacdf (x, 1, 1), y, eps) ***** assert_equal (bisacdf (x, 1, ones (1,5)), y, eps) ***** assert_equal (bisacdf (x, ones (1,5), 1), y, eps) ***** assert_equal (bisacdf (x, 1, 1), y, eps) ***** assert_equal (bisacdf (x, 1, [1, 1, NaN, 1, 1]), [y(1:2), NaN, y(4:5)], eps) ***** assert_equal (bisacdf (x, [1, 1, NaN, 1, 1], 1), [y(1:2), NaN, y(4:5)], eps) ***** assert_equal (bisacdf ([x, NaN], 1, 1), [y, NaN], eps) ***** assert_equal (bisacdf (single ([x, NaN]), 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (bisacdf ([x, NaN], 1, single (1)), single ([y, NaN]), eps ('single')) ***** assert_equal (bisacdf ([x, NaN], single (1), 1), single ([y, NaN]), eps ('single')) ***** error bisacdf () ***** error bisacdf (1) ***** error bisacdf (1, 2) ***** error ... bisacdf (1, 2, 3, 4, 5) ***** error bisacdf (1, 2, 3, 'tail') ***** error bisacdf (1, 2, 3, 4) ***** error ... bisacdf (ones (3), ones (2), ones (2)) ***** error ... bisacdf (ones (2), ones (3), ones (2)) ***** error ... bisacdf (ones (2), ones (2), ones (3)) ***** error bisacdf (i, 4, 3) ***** error bisacdf (1, i, 3) ***** error bisacdf (1, 4, i) 23 tests, 23 passed, 0 known failure, 0 skipped [inst/dist_fun/logncdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/logncdf.m ***** demo ## Plot various CDFs from the log-normal distribution x = 0:0.01:3; p1 = logncdf (x, 0, 1); p2 = logncdf (x, 0, 0.5); p3 = logncdf (x, 0, 0.25); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r') grid on legend ({'μ = 0, σ = 1', 'μ = 0, σ = 0.5', 'μ = 0, σ = 0.25'}, ... 'location', 'southeast') title ('Log-normal CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-1, 0, 1, e, Inf]; y = [0, 0, 0.5, 1/2+1/2*erf(1/2), 1]; ***** assert_equal (logncdf (x, zeros (1,5), sqrt (2)*ones (1,5)), y, eps) ***** assert_equal (logncdf (x, zeros (1,5), sqrt (2)*ones (1,5), []), y, eps) ***** assert_equal (logncdf (x, 0, sqrt (2)*ones (1,5)), y, eps) ***** assert_equal (logncdf (x, zeros (1,5), sqrt (2)), y, eps) ***** assert_equal (logncdf (x, [0 1 NaN 0 1], sqrt (2)), [0 0 NaN y(4:5)], eps) ***** assert_equal (logncdf (x, 0, sqrt (2)*[0 NaN Inf 1 1]), [NaN NaN y(3:5)], eps) ***** assert_equal (logncdf ([x(1:3) NaN x(5)], 0, sqrt (2)), [y(1:3) NaN y(5)], eps) ***** assert_equal (logncdf ([x, NaN], 0, sqrt (2)), [y, NaN], eps) ***** assert_equal (logncdf (single ([x, NaN]), 0, sqrt (2)), single ([y, NaN]), eps ('single')) ***** assert_equal (logncdf ([x, NaN], single (0), sqrt (2)), single ([y, NaN]), eps ('single')) ***** assert_equal (logncdf ([x, NaN], 0, single (sqrt (2))), single ([y, NaN]), eps ('single')) ***** error logncdf () ***** error logncdf (1,2,3,4,5,6,7) ***** error logncdf (1, 2, 3, 4, 'uper') ***** error ... logncdf (ones (3), ones (2), ones (2)) ***** error logncdf (2, 3, 4, [1, 2]) ***** error ... [p, plo, pup] = logncdf (1, 2, 3) ***** error [p, plo, pup] = ... logncdf (1, 2, 3, [1, 0; 0, 1], 0) ***** error [p, plo, pup] = ... logncdf (1, 2, 3, [1, 0; 0, 1], 1.22) ***** error [p, plo, pup] = ... logncdf (1, 2, 3, [1, 0; 0, 1], 'alpha', 'upper') ***** error logncdf (i, 2, 2) ***** error logncdf (2, i, 2) ***** error logncdf (2, 2, i) ***** error ... [p, plo, pup] =logncdf (1, 2, 3, [1, 0; 0, -inf], 0.04) 24 tests, 24 passed, 0 known failure, 0 skipped [inst/dist_fun/exppdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/exppdf.m ***** demo ## Plot various PDFs from the exponential distribution x = 0:0.01:5; y1 = exppdf (x, 2/3); y2 = exppdf (x, 1.0); y3 = exppdf (x, 2.0); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r') grid on ylim ([0, 1.5]) legend ({'μ = 2/3', 'μ = 1', 'μ = 2'}, 'location', 'northeast') title ('Exponential PDF') xlabel ('values in x') ylabel ('density') ***** shared x,y x = [-1 0 0.5 1 Inf]; y = gampdf (x, 1, 2); ***** assert_equal (exppdf (x, 2*ones (1,5)), y) ***** assert_equal (exppdf (x, 2*[1 0 NaN 1 1]), [y(1) NaN NaN y(4:5)]) ***** assert_equal (exppdf ([x, NaN], 2), [y, NaN]) ***** assert_equal (exppdf (single ([x, NaN]), 2), single ([y, NaN])) ***** assert_equal (exppdf ([x, NaN], single (2)), single ([y, NaN])) ***** error exppdf () ***** error exppdf (1,2,3) ***** error ... exppdf (ones (3), ones (2)) ***** error ... exppdf (ones (2), ones (3)) ***** error exppdf (i, 2) ***** error exppdf (2, i) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/dist_fun/jsucdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/jsucdf.m ***** error jsucdf () ***** error jsucdf (1, 2, 3, 4) ***** error ... jsucdf (1, ones (2), ones (3)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/dist_fun/fpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/fpdf.m ***** demo ## Plot various PDFs from the F distribution x = 0.01:0.01:4; y1 = fpdf (x, 1, 1); y2 = fpdf (x, 2, 1); y3 = fpdf (x, 5, 2); y4 = fpdf (x, 10, 1); y5 = fpdf (x, 100, 100); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c', x, y5, '-m') grid on ylim ([0, 2.5]) legend ({'df1 = 1, df2 = 2', 'df1 = 2, df2 = 1', ... 'df1 = 5, df2 = 2', 'df1 = 10, df2 = 1', ... 'df1 = 100, df2 = 100'}, 'location', 'northeast') title ('F PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1, 0, 0.5, 1, 2]; y = [0, 0, 4/9, 1/4, 1/9]; ***** assert_equal (fpdf (x, 2*ones (1,5), 2*ones (1,5)), y, eps) ***** assert_equal (fpdf (x, 2, 2*ones (1,5)), y, eps) ***** assert_equal (fpdf (x, 2*ones (1,5), 2), y, eps) ***** assert_equal (fpdf (x, [0, NaN, Inf, 2, 2], 2), [NaN, NaN, 0.5413, y(4:5)], 1e-4) ***** assert_equal (fpdf (x, 2, [0, NaN, Inf, 2, 2]), [NaN, NaN, 0.6065, y(4:5)], 1e-4) ***** assert_equal (fpdf ([x, NaN], 2, 2), [y, NaN], eps) ***** test #F (x, 1, df1) == T distribution (sqrt (x), df1) / sqrt (x) rand ('seed', 1234); # for reproducibility xr = rand (10,1); xr = xr(x > 0.1 & x < 0.9); yr = tpdf (sqrt (xr), 2) ./ sqrt (xr); assert_equal (fpdf (xr, 1, 2), yr, 5*eps); ***** test yy = fpdf (2, 4, Inf); assert_equal (yy, 0.1465, 1e-4) ***** test yy = fpdf (2, 4, 1000000000000000); assert_equal (yy, 0.1465, 1e-4) ***** test yy = fpdf (2, Inf, 4); assert_equal (yy, 0.1839, 1e-4) ***** test yy = fpdf (2, 10000000000000000, 4); assert_equal (yy, 0.1839, 1e-4) ***** test yy = fpdf (2, Inf, Inf); assert_equal (yy, 0) ***** test yy = fpdf (NaN, Inf, Inf); assert_equal (yy, NaN) ***** assert_equal (fpdf (single ([x, NaN]), 2, 2), single ([y, NaN]), eps ('single')) ***** assert_equal (fpdf ([x, NaN], single (2), 2), single ([y, NaN]), eps ('single')) ***** assert_equal (fpdf ([x, NaN], 2, single (2)), single ([y, NaN]), eps ('single')) ***** error fpdf () ***** error fpdf (1) ***** error fpdf (1,2) ***** error ... fpdf (ones (3), ones (2), ones (2)) ***** error ... fpdf (ones (2), ones (3), ones (2)) ***** error ... fpdf (ones (2), ones (2), ones (3)) ***** error fpdf (i, 2, 2) ***** error fpdf (2, i, 2) ***** error fpdf (2, 2, i) 25 tests, 25 passed, 0 known failure, 0 skipped [inst/dist_fun/invginv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/invginv.m ***** demo ## Plot various iCDFs from the inverse Gaussian distribution p = 0.001:0.001:0.999; x1 = invginv (p, 1, 0.2); x2 = invginv (p, 1, 1); x3 = invginv (p, 1, 3); x4 = invginv (p, 3, 0.2); x5 = invginv (p, 3, 1); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c', p, x5, '-y') grid on ylim ([0, 3]) legend ({'μ = 1, σ = 0.2', 'μ = 1, σ = 1', 'μ = 1, σ = 3', ... 'μ = 3, σ = 0.2', 'μ = 3, σ = 1'}, 'location', 'northwest') title ('Inverse Gaussian iCDF') xlabel ('probability') ylabel ('x') ***** shared p, x p = [0, 0.3829, 0.6827, 1]; x = [0, 0.5207, 1.0376, Inf]; ***** assert_equal (invginv (p, 1, 1), x, 1e-4); ***** assert_equal (invginv (p, 1, ones (1,4)), x, 1e-4); ***** assert_equal (invginv (p, 1, [-1, 0, 1, 1]), [NaN, NaN, x(3:4)], 1e-4) ***** assert_equal (invginv (p, [-1, 0, 1, 1], 1), [NaN, NaN, x(3:4)], 1e-4) ***** assert_equal (class (invginv (single ([p, NaN]), 0, 1)), "single") ***** assert_equal (class (invginv ([p, NaN], single (0), 1)), "single") ***** assert_equal (class (invginv ([p, NaN], 0, single (1))), "single") ***** error invginv (1) ***** error invginv (1, 2) ***** error ... invginv (1, ones (2), ones (3)) ***** error ... invginv (ones (2), 1, ones (3)) ***** error ... invginv (ones (2), ones (3), 1) ***** error invginv (i, 2, 3) ***** error invginv (1, i, 3) ***** error invginv (1, 2, i) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fun/wishrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/wishrnd.m ***** assert_equal (size (wishrnd (1,2)), [1, 1]); ***** assert_equal (size (wishrnd (1,2,[])), [1, 1]); ***** assert_equal (size (wishrnd (1,2,1)), [1, 1]); ***** assert_equal (size (wishrnd ([],2,1)), [1, 1]); ***** assert_equal (size (wishrnd ([3 1; 1 3], 2.00001, [], 1)), [2, 2]); ***** assert_equal (size (wishrnd (eye (2), 2, [], 3)), [2, 2, 3]); ***** error wishrnd () ***** error wishrnd (1) ***** error wishrnd ([1; 1], 2) ***** test W = wishrnd (eye (3), 2.5); assert_equal (size (W), [3, 3]); ***** warning wishrnd (eye (3), 1.5); 11 tests, 11 passed, 0 known failure, 0 skipped [inst/dist_fun/nctrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nctrnd.m ***** assert_equal (size (nctrnd (1, 1)), [1, 1]) ***** assert_equal (size (nctrnd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (nctrnd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (nctrnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (nctrnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (nctrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (nctrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (nctrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (nctrnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (nctrnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (nctrnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (nctrnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (nctrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (nctrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (nctrnd (1, 1)), "double") ***** assert_equal (class (nctrnd (1, single (1))), "single") ***** assert_equal (class (nctrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (nctrnd (single (1), 1)), "single") ***** assert_equal (class (nctrnd (single ([1, 1]), 1)), "single") ***** error nctrnd () ***** error nctrnd (1) ***** error ... nctrnd (ones (3), ones (2)) ***** error ... nctrnd (ones (2), ones (3)) ***** error nctrnd (i, 2) ***** error nctrnd (1, i) ***** error ... nctrnd (1, 2, -1) ***** error ... nctrnd (1, 2, 1.2) ***** error ... nctrnd (1, 2, ones (2)) ***** error ... nctrnd (1, 2, [2 -1 2]) ***** error ... nctrnd (1, 2, [2 0 2.5]) ***** error ... nctrnd (1, 2, 2, -1, 5) ***** error ... nctrnd (1, 2, 2, 1.5, 5) ***** error ... nctrnd (2, ones (2), 3) ***** error ... nctrnd (2, ones (2), [3, 2]) ***** error ... nctrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/logicdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/logicdf.m ***** demo ## Plot various CDFs from the logistic distribution x = -5:0.01:20; p1 = logicdf (x, 5, 2); p2 = logicdf (x, 9, 3); p3 = logicdf (x, 9, 4); p4 = logicdf (x, 6, 2); p5 = logicdf (x, 2, 1); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c', x, p5, '-m') grid on legend ({'μ = 5, σ = 2', 'μ = 9, σ = 3', 'μ = 9, σ = 4', ... 'μ = 6, σ = 2', 'μ = 2, σ = 1'}, 'location', 'southeast') title ('Logistic CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-Inf -log(3) 0 log(3) Inf]; y = [0, 1/4, 1/2, 3/4, 1]; ***** assert_equal (logicdf ([x, NaN], 0, 1), [y, NaN], eps) ***** assert_equal (logicdf (x, 0, [-2, -1, 0, 1, 2]), [nan(1, 3), 0.75, 1], eps) ***** assert_equal (logicdf (single ([x, NaN]), 0, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (logicdf ([x, NaN], single (0), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (logicdf ([x, NaN], 0, single (1)), single ([y, NaN]), eps ('single')) ***** error logicdf () ***** error logicdf (1) ***** error ... logicdf (1, 2) ***** error logicdf (1, 2, 3, 'tail') ***** error logicdf (1, 2, 3, 4) ***** error ... logicdf (1, ones (2), ones (3)) ***** error ... logicdf (ones (2), 1, ones (3)) ***** error ... logicdf (ones (2), ones (3), 1) ***** error logicdf (i, 2, 3) ***** error logicdf (1, i, 3) ***** error logicdf (1, 2, i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fun/bvtcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/bvtcdf.m ***** test x = [1, 2]; rho = [1, 0.5; 0.5, 1]; df = 4; assert_equal (bvtcdf (x, rho(2), df), mvtcdf (x, rho, df), 1e-14); ***** test x = [3, 2;2, 4;1, 5]; rho = [1, 0.5; 0.5, 1]; df = 4; assert_equal (bvtcdf (x, rho(2), df), mvtcdf (x, rho, df), 1e-14); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/dist_fun/cauchyrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/cauchyrnd.m ***** assert_equal (size (cauchyrnd (1, 1)), [1 1]) ***** assert_equal (size (cauchyrnd (1, ones (2,1))), [2, 1]) ***** assert_equal (size (cauchyrnd (1, ones (2,2))), [2, 2]) ***** assert_equal (size (cauchyrnd (ones (2,1), 1)), [2, 1]) ***** assert_equal (size (cauchyrnd (ones (2,2), 1)), [2, 2]) ***** assert_equal (size (cauchyrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (cauchyrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (cauchyrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (cauchyrnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (cauchyrnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (cauchyrnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (cauchyrnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (cauchyrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (cauchyrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (cauchyrnd (1, 1)), "double") ***** assert_equal (class (cauchyrnd (1, single (1))), "single") ***** assert_equal (class (cauchyrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (cauchyrnd (single (1), 1)), "single") ***** assert_equal (class (cauchyrnd (single ([1, 1]), 1)), "single") ***** error cauchyrnd () ***** error cauchyrnd (1) ***** error ... cauchyrnd (ones (3), ones (2)) ***** error ... cauchyrnd (ones (2), ones (3)) ***** error cauchyrnd (i, 2, 3) ***** error cauchyrnd (1, i, 3) ***** error ... cauchyrnd (1, 2, -1) ***** error ... cauchyrnd (1, 2, 1.2) ***** error ... cauchyrnd (1, 2, ones (2)) ***** error ... cauchyrnd (1, 2, [2 -1 2]) ***** error ... cauchyrnd (1, 2, [2 0 2.5]) ***** error ... cauchyrnd (1, 2, 2, -1, 5) ***** error ... cauchyrnd (1, 2, 2, 1.5, 5) ***** error ... cauchyrnd (2, ones (2), 3) ***** error ... cauchyrnd (2, ones (2), [3, 2]) ***** error ... cauchyrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/bisainv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/bisainv.m ***** demo ## Plot various iCDFs from the Birnbaum-Saunders distribution p = 0.001:0.001:0.999; x1 = bisainv (p, 1, 0.5); x2 = bisainv (p, 1, 1); x3 = bisainv (p, 1, 2); x4 = bisainv (p, 1, 5); x5 = bisainv (p, 1, 10); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c', p, x5, '-m') grid on ylim ([0, 10]) legend ({'β = 1, γ = 0.5', 'β = 1, γ = 1', 'β = 1, γ = 2', ... 'β = 1, γ = 5', 'β = 1, γ = 10'}, 'location', 'northwest') title ('Birnbaum-Saunders iCDF') xlabel ('probability') ylabel ('values in x') ***** demo ## Plot various iCDFs from the Birnbaum-Saunders distribution p = 0.001:0.001:0.999; x1 = bisainv (p, 1, 0.3); x2 = bisainv (p, 2, 0.3); x3 = bisainv (p, 1, 0.5); x4 = bisainv (p, 3, 0.5); x5 = bisainv (p, 5, 0.5); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c', p, x5, '-m') grid on ylim ([0, 10]) legend ({'β = 1, γ = 0.3', 'β = 2, γ = 0.3', 'β = 1, γ = 0.5', ... 'β = 3, γ = 0.5', 'β = 5, γ = 0.5'}, 'location', 'northwest') title ('Birnbaum-Saunders iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p, y, f f = @(p,b,c) (b * (c * norminv (p) + sqrt (4 + (c * norminv (p))^2))^2) / 4; p = [-1, 0, 1/4, 1/2, 1, 2]; y = [NaN, 0, f(1/4, 1, 1), 1, Inf, NaN]; ***** assert_equal (bisainv (p, ones (1,6), ones (1,6)), y) ***** assert_equal (bisainv (p, 1, ones (1,6)), y) ***** assert_equal (bisainv (p, ones (1,6), 1), y) ***** assert_equal (bisainv (p, 1, 1), y) ***** assert_equal (bisainv (p, 1, [1, 1, 1, NaN, 1, 1]), [y(1:3), NaN, y(5:6)]) ***** assert_equal (bisainv (p, [1, 1, 1, NaN, 1, 1], 1), [y(1:3), NaN, y(5:6)]) ***** assert_equal (bisainv ([p, NaN], 1, 1), [y, NaN]) ***** assert_equal (bisainv (single ([p, NaN]), 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (bisainv ([p, NaN], 1, single (1)), single ([y, NaN]), eps ('single')) ***** assert_equal (bisainv ([p, NaN], single (1), 1), single ([y, NaN]), eps ('single')) ***** error bisainv () ***** error bisainv (1) ***** error bisainv (1, 2) ***** error bisainv (1, 2, 3, 4) ***** error ... bisainv (ones (3), ones (2), ones (2)) ***** error ... bisainv (ones (2), ones (3), ones (2)) ***** error ... bisainv (ones (2), ones (2), ones (3)) ***** error bisainv (i, 4, 3) ***** error bisainv (1, i, 3) ***** error bisainv (1, 4, i) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/dist_fun/gumbelcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gumbelcdf.m ***** demo ## Plot various CDFs from the Gumbel distribution x = -5:0.01:20; p1 = gumbelcdf (x, 0.5, 2); p2 = gumbelcdf (x, 1.0, 2); p3 = gumbelcdf (x, 1.5, 3); p4 = gumbelcdf (x, 3.0, 4); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c') grid on legend ({'μ = 0.5, β = 2', 'μ = 1.0, β = 2', ... 'μ = 1.5, β = 3', 'μ = 3.0, β = 4'}, 'location', 'southeast') title ('Gumbel CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-Inf, 1, 2, Inf]; y = [0, 0.3679, 0.6922, 1]; ***** assert_equal (gumbelcdf (x, ones (1,4), ones (1,4)), y, 1e-4) ***** assert_equal (gumbelcdf (x, 1, ones (1,4)), y, 1e-4) ***** assert_equal (gumbelcdf (x, ones (1,4), 1), y, 1e-4) ***** assert_equal (gumbelcdf (x, [0, -Inf, NaN, Inf], 1), [0, 1, NaN, NaN], 1e-4) ***** assert_equal (gumbelcdf (x, 1, [Inf, NaN, -1, 0]), [NaN, NaN, NaN, NaN], 1e-4) ***** assert_equal (gumbelcdf ([x(1:2), NaN, x(4)], 1, 1), [y(1:2), NaN, y(4)], 1e-4) ***** assert_equal (gumbelcdf (x, 'upper'), [1, 0.3078, 0.1266, 0], 1e-4) ***** assert_equal (gumbelcdf ([x, NaN], 1, 1), [y, NaN], 1e-4) ***** assert_equal (gumbelcdf (single ([x, NaN]), 1, 1), single ([y, NaN]), 1e-4) ***** assert_equal (gumbelcdf ([x, NaN], single (1), 1), single ([y, NaN]), 1e-4) ***** assert_equal (gumbelcdf ([x, NaN], 1, single (1)), single ([y, NaN]), 1e-4) ***** error gumbelcdf () ***** error gumbelcdf (1,2,3,4,5,6,7) ***** error gumbelcdf (1, 2, 3, 4, 'uper') ***** error ... gumbelcdf (ones (3), ones (2), ones (2)) ***** error gumbelcdf (2, 3, 4, [1, 2]) ***** error ... [p, plo, pup] = gumbelcdf (1, 2, 3) ***** error [p, plo, pup] = ... gumbelcdf (1, 2, 3, [1, 0; 0, 1], 0) ***** error [p, plo, pup] = ... gumbelcdf (1, 2, 3, [1, 0; 0, 1], 1.22) ***** error [p, plo, pup] = ... gumbelcdf (1, 2, 3, [1, 0; 0, 1], 'alpha', 'upper') ***** error gumbelcdf (i, 2, 2) ***** error gumbelcdf (2, i, 2) ***** error gumbelcdf (2, 2, i) ***** error ... [p, plo, pup] = gumbelcdf (1, 2, 3, [1, 0; 0, -inf], 0.04) 24 tests, 24 passed, 0 known failure, 0 skipped [inst/dist_fun/tlsinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/tlsinv.m ***** demo ## Plot various iCDFs from the location-scale Student's T distribution p = 0.001:0.001:0.999; x1 = tlsinv (p, 0, 1, 1); x2 = tlsinv (p, 0, 2, 2); x3 = tlsinv (p, 3, 2, 5); x4 = tlsinv (p, -1, 3, Inf); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-m') grid on xlim ([0, 1]) ylim ([-8, 8]) legend ({'mu = 0, sigma = 1, nu = 1', 'mu = 0, sigma = 2, nu = 2', ... 'mu = 3, sigma = 2, nu = 5', 'mu = -1, sigma = 3, nu = \infty'}, ... 'location', 'southeast') title ('Location-scale Student''s T iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (tlsinv (p, 0, 1, ones (1,5)), [NaN -Inf 0 Inf NaN]) ***** assert_equal (tlsinv (p, 0, 1, 1), [NaN -Inf 0 Inf NaN], eps) ***** assert_equal (tlsinv (p, 0, 1, [1 0 NaN 1 1]), [NaN NaN NaN Inf NaN], eps) ***** assert_equal (tlsinv ([p(1:2) NaN p(4:5)], 0, 1, 1), [NaN -Inf NaN Inf NaN]) ***** assert_equal (class (tlsinv ([p, NaN], 0, 1, 1)), "double") ***** assert_equal (class (tlsinv (single ([p, NaN]), 0, 1, 1)), "single") ***** assert_equal (class (tlsinv ([p, NaN], single (0), 1, 1)), "single") ***** assert_equal (class (tlsinv ([p, NaN], 0, single (1), 1)), "single") ***** assert_equal (class (tlsinv ([p, NaN], 0, 1, single (1))), "single") ***** error tlsinv () ***** error tlsinv (1) ***** error tlsinv (1, 2) ***** error tlsinv (1, 2, 3) ***** error ... tlsinv (ones (3), ones (2), 1, 1) ***** error ... tlsinv (ones (2), 1, ones (3), 1) ***** error ... tlsinv (ones (2), 1, 1, ones (3)) ***** error tlsinv (i, 2, 3, 4) ***** error tlsinv (2, i, 3, 4) ***** error tlsinv (2, 2, i, 4) ***** error tlsinv (2, 2, 3, i) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/dist_fun/invgrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/invgrnd.m ***** assert_equal (size (invgrnd (1, 1, 1)), [1, 1]) ***** assert_equal (size (invgrnd (1, 1, 2)), [2, 2]) ***** assert_equal (size (invgrnd (1, 1, [2, 1])), [2, 1]) ***** assert_equal (size (invgrnd (1, zeros (2, 2))), [2, 2]) ***** assert_equal (size (invgrnd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (invgrnd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (invgrnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (invgrnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (invgrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (invgrnd (1, 1, [4 1])), [4, 1]) ***** assert_equal (size (invgrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (invgrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (invgrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** test r = invgrnd (1, [1, 0, -1]); assert_equal (r([2:3]), [NaN, NaN]) ***** assert_equal (class (invgrnd (1, 0)), "double") ***** assert_equal (class (invgrnd (1, single (0))), "single") ***** assert_equal (class (invgrnd (1, single ([0, 0]))), "single") ***** assert_equal (class (invgrnd (1, single (1))), "single") ***** assert_equal (class (invgrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (invgrnd (single (1), 1)), "single") ***** assert_equal (class (invgrnd (single ([1, 1]), 1)), "single") ***** error invgrnd () ***** error invgrnd (1) ***** error ... invgrnd (ones (3), ones (2)) ***** error ... invgrnd (ones (2), ones (3)) ***** error invgrnd (i, 2, 3) ***** error invgrnd (1, i, 3) ***** error ... invgrnd (1, 2, -1) ***** error ... invgrnd (1, 2, 1.2) ***** error ... invgrnd (1, 2, ones (2)) ***** error ... invgrnd (1, 2, [2 -1 2]) ***** error ... invgrnd (1, 2, [2 0 2.5]) ***** error ... invgrnd (1, 2, 2, -1, 5) ***** error ... invgrnd (1, 2, 2, 1.5, 5) ***** error ... invgrnd (2, ones (2), 3) ***** error ... invgrnd (2, ones (2), [3, 2]) ***** error ... invgrnd (2, ones (2), 3, 2) 37 tests, 37 passed, 0 known failure, 0 skipped [inst/dist_fun/poisspdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/poisspdf.m ***** demo ## Plot various PDFs from the Poisson distribution x = 0:20; y1 = poisspdf (x, 1); y2 = poisspdf (x, 4); y3 = poisspdf (x, 10); plot (x, y1, '*b', x, y2, '*g', x, y3, '*r') grid on ylim ([0, 0.4]) legend ({'λ = 1', 'λ = 4', 'λ = 10'}, 'location', 'northeast') title ('Poisson PDF') xlabel ('values in x (number of occurrences)') ylabel ('density') ***** shared x, y x = [-1 0 1 2 Inf]; y = [0, exp(-1)*[1 1 0.5], 0]; ***** assert_equal (poisspdf (x, ones (1,5)), y, eps) ***** assert_equal (poisspdf (x, 1), y, eps) ***** assert_equal (poisspdf (x, [1 0 NaN 1 1]), [y(1) NaN NaN y(4:5)], eps) ***** assert_equal (poisspdf ([x, NaN], 1), [y, NaN], eps) ***** assert_equal (poisspdf (single ([x, NaN]), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (poisspdf ([x, NaN], single (1)), single ([y, NaN]), eps ('single')) ***** error poisspdf () ***** error poisspdf (1) ***** error ... poisspdf (ones (3), ones (2)) ***** error ... poisspdf (ones (2), ones (3)) ***** error poisspdf (i, 2) ***** error poisspdf (2, i) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/dist_fun/expcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/expcdf.m ***** demo ## Plot various CDFs from the exponential distribution x = 0:0.01:5; p1 = expcdf (x, 2/3); p2 = expcdf (x, 1.0); p3 = expcdf (x, 2.0); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r') grid on legend ({'μ = 2/3', 'μ = 1', 'μ = 2'}, 'location', 'southeast') title ('Exponential CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, p x = [-1 0 0.5 1 Inf]; p = [0, 1 - exp(-x(2:end)/2)]; ***** assert_equal (expcdf (x, 2 * ones (1, 5)), p, 1e-16) ***** assert_equal (expcdf (x, 2), p, 1e-16) ***** assert_equal (expcdf (x, 2 * [1, 0, NaN, 1, 1]), [0, NaN, NaN, p(4:5)], 1e-16) ***** assert_equal (expcdf ([x, NaN], 2), [p, NaN], 1e-16) ***** assert_equal (expcdf (single ([x, NaN]), 2), single ([p, NaN])) ***** assert_equal (expcdf ([x, NaN], single (2)), single ([p, NaN])) ***** test [p, plo, pup] = expcdf (1, 2, 3); assert_equal (p, 0.39346934028737, 1e-14); assert_equal (plo, 0.08751307220484, 1e-14); assert_equal (pup, 0.93476821257933, 1e-14); ***** test [p, plo, pup] = expcdf (1, 2, 2, 0.1); assert_equal (p, 0.39346934028737, 1e-14); assert_equal (plo, 0.14466318041675, 1e-14); assert_equal (pup, 0.79808291849140, 1e-14); ***** test [p, plo, pup] = expcdf (1, 2, 2, 0.1, 'upper'); assert_equal (p, 0.60653065971263, 1e-14); assert_equal (plo, 0.20191708150860, 1e-14); assert_equal (pup, 0.85533681958325, 1e-14); ***** error expcdf () ***** error expcdf (1, 2 ,3 ,4 ,5, 6) ***** error expcdf (1, 2, 3, 4, 'uper') ***** error ... expcdf (ones (3), ones (2)) ***** error ... expcdf (2, 3, [1, 2]) ***** error ... [p, plo, pup] = expcdf (1, 2) ***** error [p, plo, pup] = ... expcdf (1, 2, 3, 0) ***** error [p, plo, pup] = ... expcdf (1, 2, 3, 1.22) ***** error [p, plo, pup] = ... expcdf (1, 2, 3, 'alpha', 'upper') ***** error expcdf (i, 2) ***** error expcdf (2, i) ***** error ... [p, plo, pup] = expcdf (1, 2, -1, 0.04) 21 tests, 21 passed, 0 known failure, 0 skipped [inst/dist_fun/normcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/normcdf.m ***** demo ## Plot various CDFs from the normal distribution x = -5:0.01:5; p1 = normcdf (x, 0, 0.5); p2 = normcdf (x, 0, 1); p3 = normcdf (x, 0, 2); p4 = normcdf (x, -2, 0.8); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c') grid on xlim ([-5, 5]) legend ({'μ = 0, σ = 0.5', 'μ = 0, σ = 1', ... 'μ = 0, σ = 2', 'μ = -2, σ = 0.8'}, 'location', 'southeast') title ('Normal CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-Inf 1 2 Inf]; y = [0, 0.5, 1/2*(1+erf(1/sqrt(2))), 1]; ***** assert_equal (normcdf (x, ones (1,4), ones (1,4)), y) ***** assert_equal (normcdf (x, 1, ones (1,4)), y) ***** assert_equal (normcdf (x, ones (1,4), 1), y) ***** assert_equal (normcdf (x, [0, -Inf, NaN, Inf], 1), [0, 1, NaN, NaN]) ***** assert_equal (normcdf (x, 1, [Inf, NaN, -1, 0]), [NaN, NaN, NaN, 1]) ***** assert_equal (normcdf ([x(1:2), NaN, x(4)], 1, 1), [y(1:2), NaN, y(4)]) ***** assert_equal (normcdf (x, 'upper'), [1, 0.1587, 0.0228, 0], 1e-4) ***** assert_equal (normcdf ([x, NaN], 1, 1), [y, NaN]) ***** assert_equal (normcdf (single ([x, NaN]), 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (normcdf ([x, NaN], single (1), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (normcdf ([x, NaN], 1, single (1)), single ([y, NaN]), eps ('single')) ***** error normcdf () ***** error normcdf (1,2,3,4,5,6,7) ***** error normcdf (1, 2, 3, 4, 'uper') ***** error ... normcdf (ones (3), ones (2), ones (2)) ***** error normcdf (2, 3, 4, [1, 2]) ***** error ... [p, plo, pup] = normcdf (1, 2, 3) ***** error [p, plo, pup] = ... normcdf (1, 2, 3, [1, 0; 0, 1], 0) ***** error [p, plo, pup] = ... normcdf (1, 2, 3, [1, 0; 0, 1], 1.22) ***** error [p, plo, pup] = ... normcdf (1, 2, 3, [1, 0; 0, 1], 'alpha', 'upper') ***** error normcdf (i, 2, 2) ***** error normcdf (2, i, 2) ***** error normcdf (2, 2, i) ***** error ... [p, plo, pup] =normcdf (1, 2, 3, [1, 0; 0, -inf], 0.04) 24 tests, 24 passed, 0 known failure, 0 skipped [inst/dist_fun/plinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/plinv.m ***** demo ## Plot various iCDFs from the Piecewise linear distribution p = 0.001:0.001:0.999; x1 = [0, 1, 3, 4, 7, 10]; Fx1 = [0, 0.2, 0.5, 0.6, 0.7, 1]; x2 = [0, 2, 5, 6, 7, 8]; Fx2 = [0, 0.1, 0.3, 0.6, 0.9, 1]; data1 = plinv (p, x1, Fx1); data2 = plinv (p, x2, Fx2); plot (p, data1, '-b', p, data2, '-g') grid on legend ({'x1, Fx1', 'x2, Fx2'}, 'location', 'northwest') title ('Piecewise linear iCDF') xlabel ('probability') ylabel ('values in data') ***** test p = 0:0.2:1; data = plinv (p, [0, 1], [0, 1]); assert_equal (data, p); ***** test p = 0:0.2:1; data = plinv (p, [0, 2], [0, 1]); assert_equal (data, 2 * p); ***** test p = 0:0.2:1; data_out = 1:6; data = plinv (p, [0, 1], [0, 0.5]); assert_equal (data, [0, 0.4, 0.8, NA, NA, NA]); ***** test p = 0:0.2:1; data_out = 1:6; data = plinv (p, [0, 0.5], [0, 1]); assert_equal (data, [0:0.1:0.5]); ***** error plinv () ***** error plinv (1) ***** error plinv (1, 2) ***** error ... plinv (1, [0, 1, 2], [0, 1]) ***** error ... plinv (1, [0], [1]) ***** error ... plinv (1, [0, 1, 2], [0, 1, 1.5]) ***** error ... plinv (1, [0, 1, 2], [0, i, 1]) ***** error ... plinv (i, [0, 1, 2], [0, 0.5, 1]) ***** error ... plinv (1, [0, i, 2], [0, 0.5, 1]) ***** error ... plinv (1, [0, 1, 2], [0, 0.5i, 1]) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/dist_fun/tripdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/tripdf.m ***** demo ## Plot various CDFs from the triangular distribution x = 0.001:0.001:10; y1 = tripdf (x, 3, 4, 6); y2 = tripdf (x, 1, 2, 5); y3 = tripdf (x, 2, 3, 9); y4 = tripdf (x, 2, 5, 9); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c') grid on xlim ([0, 10]) legend ({'a = 3, b = 4, c = 6', 'a = 1, b = 2, c = 5', ... 'a = 2, b = 3, c = 9', 'a = 2, b = 5, c = 9'}, ... 'location', 'northeast') title ('Triangular CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y, deps x = [-1, 0, 0.1, 0.5, 0.9, 1, 2] + 1; y = [0, 0, 0.4, 2, 0.4, 0, 0]; deps = 2*eps; ***** assert_equal (tripdf (x, ones (1,7), 1.5*ones (1,7), 2*ones (1,7)), y, deps) ***** assert_equal (tripdf (x, 1*ones (1,7), 1.5, 2), y, deps) ***** assert_equal (tripdf (x, 1, 1.5, 2*ones (1,7)), y, deps) ***** assert_equal (tripdf (x, 1, 1.5*ones (1,7), 2), y, deps) ***** assert_equal (tripdf (x, 1, 1.5, 2), y, deps) ***** assert_equal (tripdf (x, [1, 1, NaN, 1, 1, 1, 1], 1.5, 2), [y(1:2), NaN, y(4:7)], deps) ***** assert_equal (tripdf (x, 1, 1.5, 2*[1, 1, NaN, 1, 1, 1, 1]), [y(1:2), NaN, y(4:7)], deps) ***** assert_equal (tripdf (x, 1, 1.5*[1, 1, NaN, 1, 1, 1, 1], 2), [y(1:2), NaN, y(4:7)], deps) ***** assert_equal (tripdf ([x, NaN], 1, 1.5, 2), [y, NaN], deps) ***** assert_equal (tripdf (single ([x, NaN]), 1, 1.5, 2), single ([y, NaN]), eps ('single')) ***** assert_equal (tripdf ([x, NaN], single (1), 1.5, 2), single ([y, NaN]), eps ('single')) ***** assert_equal (tripdf ([x, NaN], 1, 1.5, single (2)), single ([y, NaN]), eps ('single')) ***** assert_equal (tripdf ([x, NaN], 1, single (1.5), 2), single ([y, NaN]), eps ('single')) ***** error tripdf () ***** error tripdf (1) ***** error tripdf (1, 2) ***** error tripdf (1, 2, 3) ***** error ... tripdf (1, 2, 3, 4, 5) ***** error ... tripdf (ones (3), ones (2), ones (2), ones (2)) ***** error ... tripdf (ones (2), ones (3), ones (2), ones (2)) ***** error ... tripdf (ones (2), ones (2), ones (3), ones (2)) ***** error ... tripdf (ones (2), ones (2), ones (2), ones (3)) ***** error tripdf (i, 2, 3, 4) ***** error tripdf (1, i, 3, 4) ***** error tripdf (1, 2, i, 4) ***** error tripdf (1, 2, 3, i) 26 tests, 26 passed, 0 known failure, 0 skipped [inst/dist_fun/copularnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/copularnd.m ***** test theta = 0.5; r = copularnd ('Gaussian', theta); assert_equal (size (r), [1, 2]); assert_equal (all ((all ((r >= 0) & (r <= 1)))(:)), true); ***** test theta = 0.5; df = 2; r = copularnd ('t', theta, df); assert_equal (size (r), [1, 2]); assert_equal (all ((all ((r >= 0) & (r <= 1)))(:)), true); ***** test theta = 0.5; r = copularnd ('Clayton', theta); assert_equal (size (r), [1, 2]); assert_equal (all ((all ((r >= 0) & (r <= 1)))(:)), true); ***** test theta = 0.5; n = 2; r = copularnd ('Clayton', theta, n); assert_equal (size (r), [n, 2]); assert_equal (all ((all ((r >= 0) & (r <= 1)))(:)), true); ***** test theta = [1; 2]; n = 2; d = 3; r = copularnd ('Clayton', theta, n, d); assert_equal (size (r), [n, d]); assert_equal (all ((all ((r >= 0) & (r <= 1)))(:)), true); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/dist_fun/gevinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gevinv.m ***** demo ## Plot various iCDFs from the generalized extreme value distribution p = 0.001:0.001:0.999; x1 = gevinv (p, 1, 1, 1); x2 = gevinv (p, 0.5, 1, 1); x3 = gevinv (p, 1, 1, 5); x4 = gevinv (p, 1, 2, 5); x5 = gevinv (p, 1, 5, 5); x6 = gevinv (p, 1, 0.5, 5); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', ... p, x4, '-c', p, x5, '-m', p, x6, '-k') grid on ylim ([-1, 10]) legend ({'k = 1, σ = 1, μ = 1', 'k = 0.5, σ = 1, μ = 1', ... 'k = 1, σ = 1, μ = 5', 'k = 1, σ = 2, μ = 5', ... 'k = 1, σ = 5, μ = 5', 'k = 1, σ = 0.5, μ = 5'}, ... 'location', 'northwest') title ('Generalized extreme value iCDF') xlabel ('probability') ylabel ('values in x') ***** test p = 0.1:0.1:0.9; k = 0; sigma = 1; mu = 0; x = gevinv (p, k, sigma, mu); c = gevcdf (x, k, sigma, mu); assert_equal (c, p, 0.001); ***** test p = 0.1:0.1:0.9; k = 1; sigma = 1; mu = 0; x = gevinv (p, k, sigma, mu); c = gevcdf (x, k, sigma, mu); assert_equal (c, p, 0.001); ***** test p = 0.1:0.1:0.9; k = 0.3; sigma = 1; mu = 0; x = gevinv (p, k, sigma, mu); c = gevcdf (x, k, sigma, mu); assert_equal (c, p, 0.001); ***** error gevinv () ***** error gevinv (1) ***** error gevinv (1, 2) ***** error gevinv (1, 2, 3) ***** error ... gevinv (ones (3), ones (2), ones (2), ones (2)) ***** error ... gevinv (ones (2), ones (3), ones (2), ones (2)) ***** error ... gevinv (ones (2), ones (2), ones (3), ones (2)) ***** error ... gevinv (ones (2), ones (2), ones (2), ones (3)) ***** error gevinv (i, 2, 3, 4) ***** error gevinv (1, i, 3, 4) ***** error gevinv (1, 2, i, 4) ***** error gevinv (1, 2, 3, i) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fun/nakapdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nakapdf.m ***** demo ## Plot various PDFs from the Nakagami distribution x = 0:0.01:3; y1 = nakapdf (x, 0.5, 1); y2 = nakapdf (x, 1, 1); y3 = nakapdf (x, 1, 2); y4 = nakapdf (x, 1, 3); y5 = nakapdf (x, 2, 1); y6 = nakapdf (x, 2, 2); y7 = nakapdf (x, 5, 1); plot (x, y1, '-r', x, y2, '-g', x, y3, '-y', x, y4, '-m', ... x, y5, '-k', x, y6, '-b', x, y7, '-c') grid on xlim ([0, 3]) ylim ([0, 2]) legend ({'μ = 0.5, ω = 1', 'μ = 1, ω = 1', 'μ = 1, ω = 2', ... 'μ = 1, ω = 3', 'μ = 2, ω = 1', 'μ = 2, ω = 2', ... 'μ = 5, ω = 1'}, 'location', 'northeast') title ('Nakagami PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1, 0, 1, 2, Inf]; y = [0, 0, 0.73575888234288467, 0.073262555554936715, 0]; ***** assert_equal (nakapdf (x, ones (1,5), ones (1,5)), y, eps) ***** assert_equal (nakapdf (x, 1, 1), y, eps) ***** assert_equal (nakapdf (x, [1, 1, NaN, 1, 1], 1), [y(1:2), NaN, y(4:5)], eps) ***** assert_equal (nakapdf (x, 1, [1, 1, NaN, 1, 1]), [y(1:2), NaN, y(4:5)], eps) ***** assert_equal (nakapdf ([x, NaN], 1, 1), [y, NaN], eps) ***** assert_equal (nakapdf (single ([x, NaN]), 1, 1), single ([y, NaN])) ***** assert_equal (nakapdf ([x, NaN], single (1), 1), single ([y, NaN])) ***** assert_equal (nakapdf ([x, NaN], 1, single (1)), single ([y, NaN])) ***** error nakapdf () ***** error nakapdf (1) ***** error nakapdf (1, 2) ***** error ... nakapdf (ones (3), ones (2), ones (2)) ***** error ... nakapdf (ones (2), ones (3), ones (2)) ***** error ... nakapdf (ones (2), ones (2), ones (3)) ***** error nakapdf (i, 4, 3) ***** error nakapdf (1, i, 3) ***** error nakapdf (1, 4, i) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/dist_fun/plcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/plcdf.m ***** demo ## Plot various CDFs from the Piecewise linear distribution data = 0:0.01:10; x1 = [0, 1, 3, 4, 7, 10]; Fx1 = [0, 0.2, 0.5, 0.6, 0.7, 1]; x2 = [0, 2, 5, 6, 7, 8]; Fx2 = [0, 0.1, 0.3, 0.6, 0.9, 1]; p1 = plcdf (data, x1, Fx1); p2 = plcdf (data, x2, Fx2); plot (data, p1, '-b', data, p2, 'g') grid on ylim ([0, 1]) xlim ([0, 10]) legend ({'x1, Fx1', 'x2, Fx2'}, 'location', 'southeast') title ('Piecewise linear CDF') xlabel ('values in data') ylabel ('probability') ***** test data = 0:0.2:1; p = plcdf (data, [0, 1], [0, 1]); assert_equal (p, data); ***** test data = 0:0.2:1; p = plcdf (data, [0, 2], [0, 1]); assert_equal (p, 0.5 * data); ***** test data = 0:0.2:1; p = plcdf (data, [0, 1], [0, 0.5]); assert_equal (p, 0.5 * data); ***** test data = 0:0.2:1; p = plcdf (data, [0, 0.5], [0, 1]); assert_equal (p, [0, 0.4, 0.8, 1, 1, 1]); ***** test data = 0:0.2:1; p = plcdf (data, [0, 1], [0, 1], 'upper'); assert_equal (p, 1 - data); ***** error plcdf () ***** error plcdf (1) ***** error plcdf (1, 2) ***** error plcdf (1, 2, 3, 'uper') ***** error plcdf (1, 2, 3, 4) ***** error ... plcdf (1, [0, 1, 2], [0, 1]) ***** error ... plcdf (1, [0], [1]) ***** error ... plcdf (1, [0, 1, 2], [0, 1, 1.5]) ***** error ... plcdf (1, [0, 1, 2], [0, i, 1]) ***** error ... plcdf (i, [0, 1, 2], [0, 0.5, 1]) ***** error ... plcdf (1, [0, i, 2], [0, 0.5, 1]) ***** error ... plcdf (1, [0, 1, 2], [0, 0.5i, 1]) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/dist_fun/ncx2pdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/ncx2pdf.m ***** demo ## Plot various PDFs from the noncentral chi-squared distribution x = 0:0.1:10; y1 = ncx2pdf (x, 2, 1); y2 = ncx2pdf (x, 2, 2); y3 = ncx2pdf (x, 2, 3); y4 = ncx2pdf (x, 4, 1); y5 = ncx2pdf (x, 4, 2); y6 = ncx2pdf (x, 4, 3); plot (x, y1, '-r', x, y2, '-g', x, y3, '-k', ... x, y4, '-m', x, y5, '-c', x, y6, '-y') grid on xlim ([0, 10]) ylim ([0, 0.32]) legend ({'df = 2, λ = 1', 'df = 2, λ = 2', ... 'df = 2, λ = 3', 'df = 4, λ = 1', ... 'df = 4, λ = 2', 'df = 4, λ = 3'}, 'location', 'northeast') title ('Noncentral chi-squared PDF') xlabel ('values in x') ylabel ('density') ***** demo ## Compare the noncentral chi-squared PDF with LAMBDA = 2 to the ## chi-squared PDF with the same number of degrees of freedom (4). x = 0:0.1:10; y1 = ncx2pdf (x, 4, 2); y2 = chi2pdf (x, 4); plot (x, y1, '-', x, y2, '-'); grid on xlim ([0, 10]) ylim ([0, 0.32]) legend ({'Noncentral T(10,1)', 'T(10)'}, 'location', 'northwest') title ('Noncentral chi-squared vs chi-squared PDFs') xlabel ('values in x') ylabel ('density') ***** shared x1, df, d1 x1 = [-Inf, 2, NaN, 4, Inf]; df = [2, 0, -1, 1, 4]; d1 = [1, NaN, 3, -1, 2]; ***** assert_equal (ncx2pdf (x1, df, d1), [0, NaN, NaN, NaN, 0]); ***** assert_equal (ncx2pdf (x1, df, 1), [0, 0.07093996461786045, NaN, ... 0.06160064323277038, 0], 1e-14); ***** assert_equal (ncx2pdf (x1, df, 3), [0, 0.1208364909271113, NaN, ... 0.09631299762429098, 0], 1e-14); ***** assert_equal (ncx2pdf (x1, df, 2), [0, 0.1076346446244688, NaN, ... 0.08430464047296625, 0], 1e-14); ***** assert_equal (ncx2pdf (x1, 2, d1), [0, NaN, NaN, NaN, 0]); ***** assert_equal (ncx2pdf (2, df, d1), [0.1747201674611283, NaN, NaN, ... NaN, 0.1076346446244688], 1e-14); ***** assert_equal (ncx2pdf (4, df, d1), [0.09355987820265799, NaN, NaN, ... NaN, 0.1192317192431485], 1e-14); ***** error ncx2pdf () ***** error ncx2pdf (1) ***** error ncx2pdf (1, 2) ***** error ... ncx2pdf (ones (3), ones (2), ones (2)) ***** error ... ncx2pdf (ones (2), ones (3), ones (2)) ***** error ... ncx2pdf (ones (2), ones (2), ones (3)) ***** error ncx2pdf (i, 2, 2) ***** error ncx2pdf (2, i, 2) ***** error ncx2pdf (2, 2, i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fun/gevpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gevpdf.m ***** demo ## Plot various PDFs from the generalized extreme value distribution x = -1:0.001:10; y1 = gevpdf (x, 1, 1, 1); y2 = gevpdf (x, 0.5, 1, 1); y3 = gevpdf (x, 1, 1, 5); y4 = gevpdf (x, 1, 2, 5); y5 = gevpdf (x, 1, 5, 5); y6 = gevpdf (x, 1, 0.5, 5); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', ... x, y4, '-c', x, y5, '-m', x, y6, '-k') grid on xlim ([-1, 10]) ylim ([0, 1.1]) legend ({'k = 1, σ = 1, μ = 1', 'k = 0.5, σ = 1, μ = 1', ... 'k = 1, σ = 1, μ = 5', 'k = 1, σ = 2, μ = 5', ... 'k = 1, σ = 5, μ = 5', 'k = 1, σ = 0.5, μ = 5'}, ... 'location', 'northeast') title ('Generalized extreme value PDF') xlabel ('values in x') ylabel ('density') ***** test x = 0:0.5:2.5; sigma = 1:6; k = 1; mu = 0; y = gevpdf (x, k, sigma, mu); expected_y = [0.367879 0.143785 0.088569 0.063898 0.049953 0.040997]; assert_equal (y, expected_y, 0.001); ***** test x = -0.5:0.5:2.5; sigma = 0.5; k = 1; mu = 0; y = gevpdf (x, k, sigma, mu); expected_y = [0 0.735759 0.303265 0.159229 0.097350 0.065498 0.047027]; assert_equal (y, expected_y, 0.001); ***** test # check for continuity for k near 0 x = 1; sigma = 0.5; k = -0.03:0.01:0.03; mu = 0; y = gevpdf (x, k, sigma, mu); expected_y = [0.23820 0.23764 0.23704 0.23641 0.23576 0.23508 0.23438]; assert_equal (y, expected_y, 0.001); ***** error gevpdf () ***** error gevpdf (1) ***** error gevpdf (1, 2) ***** error gevpdf (1, 2, 3) ***** error ... gevpdf (ones (3), ones (2), ones (2), ones (2)) ***** error ... gevpdf (ones (2), ones (3), ones (2), ones (2)) ***** error ... gevpdf (ones (2), ones (2), ones (3), ones (2)) ***** error ... gevpdf (ones (2), ones (2), ones (2), ones (3)) ***** error gevpdf (i, 2, 3, 4) ***** error gevpdf (1, i, 3, 4) ***** error gevpdf (1, 2, i, 4) ***** error gevpdf (1, 2, 3, i) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fun/raylinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/raylinv.m ***** demo ## Plot various iCDFs from the Rayleigh distribution p = 0.001:0.001:0.999; x1 = raylinv (p, 0.5); x2 = raylinv (p, 1); x3 = raylinv (p, 2); x4 = raylinv (p, 3); x5 = raylinv (p, 4); plot (p, x1, '-b', p, x2, 'g', p, x3, '-r', p, x4, '-m', p, x5, '-k') grid on ylim ([0, 10]) legend ({'σ = 0,5', 'σ = 1', 'σ = 2', ... 'σ = 3', 'σ = 4'}, 'location', 'northwest') title ('Rayleigh iCDF') xlabel ('probability') ylabel ('values in x') ***** test p = 0:0.1:0.5; sigma = 1:6; x = raylinv (p, sigma); expected_x = [0.0000, 0.9181, 2.0041, 3.3784, 5.0538, 7.0645]; assert_equal (x, expected_x, 0.001); ***** test p = 0:0.1:0.5; x = raylinv (p, 0.5); expected_x = [0.0000, 0.2295, 0.3340, 0.4223, 0.5054, 0.5887]; assert_equal (x, expected_x, 0.001); ***** error raylinv () ***** error raylinv (1) ***** error ... raylinv (ones (3), ones (2)) ***** error ... raylinv (ones (2), ones (3)) ***** error raylinv (i, 2) ***** error raylinv (2, i) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fun/exprnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/exprnd.m ***** assert_equal (size (exprnd (2)), [1, 1]) ***** assert_equal (size (exprnd (ones (2,1))), [2, 1]) ***** assert_equal (size (exprnd (ones (2,2))), [2, 2]) ***** assert_equal (size (exprnd (1, 3)), [3, 3]) ***** assert_equal (size (exprnd (1, [4 1])), [4, 1]) ***** assert_equal (size (exprnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (exprnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (exprnd (1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (exprnd (1, 0, 1)), [0, 1]) ***** assert_equal (size (exprnd (1, 1, 0)), [1, 0]) ***** assert_equal (size (exprnd (1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (exprnd (1, [])), [0, 0]) ***** assert_equal (size (exprnd (1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (exprnd (2)), "double") ***** assert_equal (class (exprnd (single (2))), "single") ***** assert_equal (class (exprnd (single ([2 2]))), "single") ***** error exprnd () ***** error exprnd (i) ***** error ... exprnd (1, -1) ***** error ... exprnd (1, 1.2) ***** error ... exprnd (1, ones (2)) ***** error ... exprnd (1, [2 -1 2]) ***** error ... exprnd (1, [2 0 2.5]) ***** error ... exprnd (ones (2), ones (2)) ***** error ... exprnd (1, 2, -1, 5) ***** error ... exprnd (1, 2, 1.5, 5) ***** error exprnd (ones (2,2), 3) ***** error exprnd (ones (2,2), [3, 2]) ***** error exprnd (ones (2,2), 2, 3) 29 tests, 29 passed, 0 known failure, 0 skipped [inst/dist_fun/loglcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/loglcdf.m ***** demo ## Plot various CDFs from the log-logistic distribution x = 0:0.001:2; p1 = loglcdf (x, log (1), 1/0.5); p2 = loglcdf (x, log (1), 1); p3 = loglcdf (x, log (1), 1/2); p4 = loglcdf (x, log (1), 1/4); p5 = loglcdf (x, log (1), 1/8); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c', x, p5, '-m') legend ({'σ = 2 (β = 0.5)', 'σ = 1 (β = 1)', 'σ = 0.5 (β = 2)', ... 'σ = 0.25 (β = 4)', 'σ = 0.125 (β = 8)'}, 'location', 'northwest') grid on title ('Log-logistic CDF') xlabel ('values in x') ylabel ('probability') text (0.05, 0.64, 'μ = 0 (α = 1), values of σ (β) as shown in legend') ***** shared out1, out2 out1 = [0, 0.5, 0.66666667, 0.75, 0.8, 0.83333333]; out2 = [0, 0.4174, 0.4745, 0.5082, 0.5321, 0.5506]; ***** assert_equal (loglcdf ([0:5], 0, 1), out1, 1e-8) ***** assert_equal (loglcdf ([0:5], 0, 1, 'upper'), 1 - out1, 1e-8) ***** assert_equal (loglcdf ([0:5], 0, 1), out1, 1e-8) ***** assert_equal (loglcdf ([0:5], 0, 1, 'upper'), 1 - out1, 1e-8) ***** assert_equal (loglcdf ([0:5], 1, 3), out2, 1e-4) ***** assert_equal (loglcdf ([0:5], 1, 3, 'upper'), 1 - out2, 1e-4) ***** assert_equal (class (loglcdf (single (1), 2, 3)), "single") ***** assert_equal (class (loglcdf (1, single (2), 3)), "single") ***** assert_equal (class (loglcdf (1, 2, single (3))), "single") ***** error loglcdf (1) ***** error loglcdf (1, 2) ***** error ... loglcdf (1, 2, 3, 4) ***** error ... loglcdf (1, 2, 3, 'uper') ***** error ... loglcdf (1, ones (2), ones (3)) ***** error ... loglcdf (1, ones (2), ones (3), 'upper') ***** error ... loglcdf (ones (2), 1, ones (3)) ***** error ... loglcdf (ones (2), 1, ones (3), 'upper') ***** error ... loglcdf (ones (2), ones (3), 1) ***** error ... loglcdf (ones (2), ones (3), 1, 'upper') ***** error loglcdf (i, 2, 3) ***** error loglcdf (i, 2, 3, 'upper') ***** error loglcdf (1, i, 3) ***** error loglcdf (1, i, 3, 'upper') ***** error loglcdf (1, 2, i) ***** error loglcdf (1, 2, i, 'upper') 25 tests, 25 passed, 0 known failure, 0 skipped [inst/dist_fun/binopdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/binopdf.m ***** demo ## Plot various PDFs from the binomial distribution x = 0:40; y1 = binopdf (x, 20, 0.5); y2 = binopdf (x, 20, 0.7); y3 = binopdf (x, 40, 0.5); plot (x, y1, '*b', x, y2, '*g', x, y3, '*r') grid on ylim ([0, 0.25]) legend ({'n = 20, ps = 0.5', 'n = 20, ps = 0.7', ... 'n = 40, ps = 0.5'}, 'location', 'northeast') title ('Binomial PDF') xlabel ('values in x (number of successes)') ylabel ('density') ***** shared x, y x = [-1 0 1 2 3]; y = [0 1/4 1/2 1/4 0]; ***** assert_equal (binopdf (x, 2 * ones (1, 5), 0.5 * ones (1, 5)), y, eps) ***** assert_equal (binopdf (x, 2, 0.5 * ones (1, 5)), y, eps) ***** assert_equal (binopdf (x, 2 * ones (1, 5), 0.5), y, eps) ***** assert_equal (binopdf (x, 2 * [0 -1 NaN 1.1 1], 0.5), [0 NaN NaN NaN 0]) ***** assert_equal (binopdf (x, 2, 0.5 * [0 -1 NaN 3 1]), [0 NaN NaN NaN 0]) ***** assert_equal (binopdf ([x, NaN], 2, 0.5), [y, NaN], eps) ***** assert_equal (binopdf (cat (3, x, x), 2, 0.5), cat (3, y, y), eps) ***** assert_equal (binopdf (1, 1, 1), 1) ***** assert_equal (binopdf (0, 3, 0), 1) ***** assert_equal (binopdf (2, 2, 1), 1) ***** assert_equal (binopdf (1, 2, 1), 0) ***** assert_equal (binopdf (0, 1.1, 0), NaN) ***** assert_equal (binopdf (1, 2, -1), NaN) ***** assert_equal (binopdf (1, 2, 1.5), NaN) ***** assert_equal (binopdf ([], 1, 1), []) ***** assert_equal (binopdf (1, [], 1), []) ***** assert_equal (binopdf (1, 1, []), []) ***** assert_equal (binopdf (ones (1, 0), 2, .5), ones (1, 0)) ***** assert_equal (binopdf (ones (0, 1), 2, .5), ones (0, 1)) ***** assert_equal (binopdf (ones (0, 1, 2), 2, .5), ones (0, 1, 2)) ***** assert_equal (binopdf (1, ones (0, 1, 2), .5), ones (0, 1, 2)) ***** assert_equal (binopdf (1, 2, ones (0, 1, 2)), ones (0, 1, 2)) ***** assert_equal (binopdf (ones (1, 0, 2), 2, .5), ones (1, 0, 2)) ***** assert_equal (binopdf (ones (1, 2, 0), 2, .5), ones (1, 2, 0)) ***** assert_equal (binopdf (ones (0, 1, 2), NaN, .5), ones (0, 1, 2)) ***** assert_equal (binopdf (ones (0, 1, 2), 2, NaN), ones (0, 1, 2)) ***** assert_equal (binopdf (single ([x, NaN]), 2, 0.5), single ([y, NaN])) ***** assert_equal (binopdf ([x, NaN], single (2), 0.5), single ([y, NaN])) ***** assert_equal (binopdf ([x, NaN], 2, single (0.5)), single ([y, NaN])) ***** error binopdf () ***** error binopdf (1) ***** error binopdf (1, 2) ***** error binopdf (1, 2, 3, 4) ***** error ... binopdf (ones (3), ones (2), ones (2)) ***** error ... binopdf (ones (2), ones (3), ones (2)) ***** error ... binopdf (ones (2), ones (2), ones (3)) ***** error binopdf (i, 2, 2) ***** error binopdf (2, i, 2) ***** error binopdf (2, 2, i) 39 tests, 39 passed, 0 known failure, 0 skipped [inst/dist_fun/nctpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nctpdf.m ***** demo ## Plot various PDFs from the noncentral T distribution x = -5:0.01:10; y1 = nctpdf (x, 1, 0); y2 = nctpdf (x, 4, 0); y3 = nctpdf (x, 1, 2); y4 = nctpdf (x, 4, 2); plot (x, y1, '-r', x, y2, '-g', x, y3, '-k', x, y4, '-m') grid on xlim ([-5, 10]) ylim ([0, 0.4]) legend ({'df = 1, μ = 0', 'df = 4, μ = 0', ... 'df = 1, μ = 2', 'df = 4, μ = 2'}, 'location', 'northeast') title ('Noncentral T PDF') xlabel ('values in x') ylabel ('density') ***** demo ## Compare the noncentral T PDF with MU = 1 to the T PDF ## with the same number of degrees of freedom (10). x = -5:0.1:5; y1 = nctpdf (x, 10, 1); y2 = tpdf (x, 10); plot (x, y1, '-', x, y2, '-'); grid on xlim ([-5, 5]) ylim ([0, 0.4]) legend ({'Noncentral χ^2(4,2)', 'χ^2(4)'}, 'location', 'northwest') title ('Noncentral T vs T PDFs') xlabel ('values in x') ylabel ('density') ***** shared x1, df, mu x1 = [-Inf, 2, NaN, 4, Inf]; df = [2, 0, -1, 1, 4]; mu = [1, NaN, 3, -1, 2]; ***** assert_equal (nctpdf (x1, df, mu), [0, NaN, NaN, 0.00401787561306999, 0], 1e-14); ***** assert_equal (nctpdf (x1, df, 1), [0, NaN, NaN, 0.0482312135423008, 0], 1e-14); ***** assert_equal (nctpdf (x1, df, 3), [0, NaN, NaN, 0.1048493126401585, 0], 1e-14); ***** assert_equal (nctpdf (x1, df, 2), [0, NaN, NaN, 0.08137377919890307, 0], 1e-14); ***** assert_equal (nctpdf (x1, 3, mu), [0, NaN, NaN, 0.001185305171654381, 0], 1e-14); ***** assert_equal (nctpdf (2, df, mu), [0.1791097459405861, NaN, NaN, ... 0.0146500727180389, 0.3082302682110299], 1e-14); ***** assert_equal (nctpdf (4, df, mu), [0.04467929612254971, NaN, NaN, ... 0.00401787561306999, 0.0972086534042828], 1e-14); ***** error nctpdf () ***** error nctpdf (1) ***** error nctpdf (1, 2) ***** error ... nctpdf (ones (3), ones (2), ones (2)) ***** error ... nctpdf (ones (2), ones (3), ones (2)) ***** error ... nctpdf (ones (2), ones (2), ones (3)) ***** error nctpdf (i, 2, 2) ***** error nctpdf (2, i, 2) ***** error nctpdf (2, 2, i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fun/evinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/evinv.m ***** demo ## Plot various iCDFs from the extreme value distribution p = 0.001:0.001:0.999; x1 = evinv (p, 0.5, 2); x2 = evinv (p, 1.0, 2); x3 = evinv (p, 1.5, 3); x4 = evinv (p, 3.0, 4); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c') grid on ylim ([-10, 10]) legend ({'μ = 0.5, σ = 2', 'μ = 1.0, σ = 2', ... 'μ = 1.5, σ = 3', 'μ = 3.0, σ = 4'}, 'location', 'northwest') title ('Extreme value iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p, x p = [0, 0.05, 0.5 0.95]; x = [-Inf, -2.9702, -0.3665, 1.0972]; ***** assert_equal (evinv (p), x, 1e-4) ***** assert_equal (evinv (p, zeros (1,4), ones (1,4)), x, 1e-4) ***** assert_equal (evinv (p, 0, ones (1,4)), x, 1e-4) ***** assert_equal (evinv (p, zeros (1,4), 1), x, 1e-4) ***** assert_equal (evinv (p, [0, -Inf, NaN, Inf], 1), [-Inf, -Inf, NaN, Inf], 1e-4) ***** assert_equal (evinv (p, 0, [Inf, NaN, -1, 0]), [-Inf, NaN, NaN, NaN], 1e-4) ***** assert_equal (evinv ([p(1:2), NaN, p(4)], 0, 1), [x(1:2), NaN, x(4)], 1e-4) ***** assert_equal (evinv ([p, NaN], 0, 1), [x, NaN], 1e-4) ***** assert_equal (evinv (single ([p, NaN]), 0, 1), single ([x, NaN]), 1e-4) ***** assert_equal (evinv ([p, NaN], single (0), 1), single ([x, NaN]), 1e-4) ***** assert_equal (evinv ([p, NaN], 0, single (1)), single ([x, NaN]), 1e-4) ***** error evinv () ***** error evinv (1,2,3,4,5,6) ***** error ... evinv (ones (3), ones (2), ones (2)) ***** error ... [p, plo, pup] = evinv (2, 3, 4, [1, 2]) ***** error ... [p, plo, pup] = evinv (1, 2, 3) ***** error [p, plo, pup] = ... evinv (1, 2, 3, [1, 0; 0, 1], 0) ***** error [p, plo, pup] = ... evinv (1, 2, 3, [1, 0; 0, 1], 1.22) ***** error evinv (i, 2, 2) ***** error evinv (2, i, 2) ***** error evinv (2, 2, i) ***** error ... [p, plo, pup] = evinv (1, 2, 3, [-1, -10; -Inf, -Inf], 0.04) 22 tests, 22 passed, 0 known failure, 0 skipped [inst/dist_fun/ncfrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/ncfrnd.m ***** assert_equal (size (ncfrnd (1, 1, 1)), [1, 1]) ***** assert_equal (size (ncfrnd (1, ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (ncfrnd (1, ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (ncfrnd (ones (2, 1), 1, 1)), [2, 1]) ***** assert_equal (size (ncfrnd (ones (2, 2), 1, 1)), [2, 2]) ***** assert_equal (size (ncfrnd (1, 1, 1, 3)), [3, 3]) ***** assert_equal (size (ncfrnd (1, 1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (ncfrnd (1, 1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (ncfrnd (1, 1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (ncfrnd (1, 1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (ncfrnd (1, 1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (ncfrnd (1, 1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (ncfrnd (1, 1, 1, [])), [0, 0]) ***** assert_equal (size (ncfrnd (1, 1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (ncfrnd (1, 1, 1)), "double") ***** assert_equal (class (ncfrnd (1, single (1), 1)), "single") ***** assert_equal (class (ncfrnd (1, 1, single (1))), "single") ***** assert_equal (class (ncfrnd (1, single ([1, 1]), 1)), "single") ***** assert_equal (class (ncfrnd (1, 1, single ([1, 1]))), "single") ***** assert_equal (class (ncfrnd (single (1), 1, 1)), "single") ***** assert_equal (class (ncfrnd (single ([1, 1]), 1, 1)), "single") ***** error ncfrnd () ***** error ncfrnd (1) ***** error ncfrnd (1, 2) ***** error ... ncfrnd (ones (3), ones (2), ones (2)) ***** error ... ncfrnd (ones (2), ones (3), ones (2)) ***** error ... ncfrnd (ones (2), ones (2), ones (3)) ***** error ncfrnd (i, 2, 3) ***** error ncfrnd (1, i, 3) ***** error ncfrnd (1, 2, i) ***** error ... ncfrnd (1, 2, 3, -1) ***** error ... ncfrnd (1, 2, 3, 1.2) ***** error ... ncfrnd (1, 2, 3, ones (2)) ***** error ... ncfrnd (1, 2, 3, [2 -1 2]) ***** error ... ncfrnd (1, 2, 3, [2 0 2.5]) ***** error ... ncfrnd (1, 2, 3, 2, -1, 5) ***** error ... ncfrnd (1, 2, 3, 2, 1.5, 5) ***** error ... ncfrnd (2, ones (2), 2, 3) ***** error ... ncfrnd (2, ones (2), 2, [3, 2]) ***** error ... ncfrnd (2, ones (2), 2, 3, 2) 40 tests, 40 passed, 0 known failure, 0 skipped [inst/dist_fun/normpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/normpdf.m ***** demo ## Plot various PDFs from the normal distribution x = -5:0.01:5; y1 = normpdf (x, 0, 0.5); y2 = normpdf (x, 0, 1); y3 = normpdf (x, 0, 2); y4 = normpdf (x, -2, 0.8); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c') grid on xlim ([-5, 5]) ylim ([0, 0.9]) legend ({'μ = 0, σ = 0.5', 'μ = 0, σ = 1', ... 'μ = 0, σ = 2', 'μ = -2, σ = 0.8'}, 'location', 'northeast') title ('Normal PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-Inf, 1, 2, Inf]; y = 1 / sqrt (2 * pi) * exp (-(x - 1) .^ 2 / 2); ***** assert_equal (normpdf (x, ones (1,4), ones (1,4)), y, eps) ***** assert_equal (normpdf (x, 1, ones (1,4)), y, eps) ***** assert_equal (normpdf (x, ones (1,4), 1), y, eps) ***** assert_equal (normpdf (x, [0 -Inf NaN Inf], 1), [y(1) NaN NaN NaN], eps) ***** assert_equal (normpdf (x, 1, [Inf NaN -1 0]), [NaN NaN NaN NaN], eps) ***** assert_equal (normpdf ([x, NaN], 1, 1), [y, NaN], eps) ***** assert_equal (normpdf (single ([x, NaN]), 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (normpdf ([x, NaN], single (1), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (normpdf ([x, NaN], 1, single (1)), single ([y, NaN]), eps ('single')) ***** error normpdf () ***** error ... normpdf (ones (3), ones (2), ones (2)) ***** error ... normpdf (ones (2), ones (3), ones (2)) ***** error ... normpdf (ones (2), ones (2), ones (3)) ***** error normpdf (i, 2, 2) ***** error normpdf (2, i, 2) ***** error normpdf (2, 2, i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fun/wblinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/wblinv.m ***** demo ## Plot various iCDFs from the Weibull distribution p = 0.001:0.001:0.999; x1 = wblinv (p, 1, 0.5); x2 = wblinv (p, 1, 1); x3 = wblinv (p, 1, 1.5); x4 = wblinv (p, 1, 5); plot (p, x1, '-b', p, x2, '-r', p, x3, '-m', p, x4, '-g') ylim ([0, 2.5]) grid on legend ({'λ = 1, k = 0.5', 'λ = 1, k = 1', ... 'λ = 1, k = 1.5', 'λ = 1, k = 5'}, 'location', 'northwest') title ('Weibull iCDF') xlabel ('probability') ylabel ('x') ***** shared p p = [-1 0 0.63212055882855778 1 2]; ***** assert_equal (wblinv (p, ones (1,5), ones (1,5)), [NaN 0 1 Inf NaN], eps) ***** assert_equal (wblinv (p, 1, ones (1,5)), [NaN 0 1 Inf NaN], eps) ***** assert_equal (wblinv (p, ones (1,5), 1), [NaN 0 1 Inf NaN], eps) ***** assert_equal (wblinv (p, [1 -1 NaN Inf 1], 1), [NaN NaN NaN NaN NaN]) ***** assert_equal (wblinv (p, 1, [1 -1 NaN Inf 1]), [NaN NaN NaN NaN NaN]) ***** assert_equal (wblinv ([p(1:2) NaN p(4:5)], 1, 1), [NaN 0 NaN Inf NaN]) ***** assert_equal (wblinv ([p, NaN], 1, 1), [NaN 0 1 Inf NaN NaN], eps) ***** assert_equal (wblinv (single ([p, NaN]), 1, 1), single ([NaN 0 1 Inf NaN NaN]), eps ('single')) ***** assert_equal (wblinv ([p, NaN], single (1), 1), single ([NaN 0 1 Inf NaN NaN]), eps ('single')) ***** assert_equal (wblinv ([p, NaN], 1, single (1)), single ([NaN 0 1 Inf NaN NaN]), eps ('single')) ***** error wblinv () ***** error wblinv (1,2,3,4) ***** error ... wblinv (ones (3), ones (2), ones (2)) ***** error ... wblinv (ones (2), ones (3), ones (2)) ***** error ... wblinv (ones (2), ones (2), ones (3)) ***** error wblinv (i, 2, 2) ***** error wblinv (2, i, 2) ***** error wblinv (2, 2, i) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/dist_fun/cauchypdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/cauchypdf.m ***** demo ## Plot various PDFs from the Cauchy distribution x = -5:0.01:5; y1 = cauchypdf (x, 0, 0.5); y2 = cauchypdf (x, 0, 1); y3 = cauchypdf (x, 0, 2); y4 = cauchypdf (x, -2, 1); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c') grid on xlim ([-5, 5]) ylim ([0, 0.7]) legend ({'x0 = 0, γ = 0.5', 'x0 = 0, γ = 1', ... 'x0 = 0, γ = 2', 'x0 = -2, γ = 1'}, 'location', 'northeast') title ('Cauchy PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1 0 0.5 1 2]; y = 1/pi * ( 2 ./ ((x-1).^2 + 2^2) ); ***** assert_equal (cauchypdf (x, ones (1,5), 2*ones (1,5)), y) ***** assert_equal (cauchypdf (x, 1, 2*ones (1,5)), y) ***** assert_equal (cauchypdf (x, ones (1,5), 2), y) ***** assert_equal (cauchypdf (x, [-Inf 1 NaN 1 Inf], 2), [NaN y(2) NaN y(4) NaN]) ***** assert_equal (cauchypdf (x, 1, 2*[0 1 NaN 1 Inf]), [NaN y(2) NaN y(4) NaN]) ***** assert_equal (cauchypdf ([x, NaN], 1, 2), [y, NaN]) ***** assert_equal (cauchypdf (single ([x, NaN]), 1, 2), single ([y, NaN]), eps ('single')) ***** assert_equal (cauchypdf ([x, NaN], single (1), 2), single ([y, NaN]), eps ('single')) ***** assert_equal (cauchypdf ([x, NaN], 1, single (2)), single ([y, NaN]), eps ('single')) ***** test x = rand (10, 1); assert_equal (cauchypdf (x, 0, 1), tpdf (x, 1), eps); ***** error cauchypdf () ***** error cauchypdf (1) ***** error ... cauchypdf (1, 2) ***** error cauchypdf (1, 2, 3, 4) ***** error ... cauchypdf (ones (3), ones (2), ones (2)) ***** error ... cauchypdf (ones (2), ones (3), ones (2)) ***** error ... cauchypdf (ones (2), ones (2), ones (3)) ***** error cauchypdf (i, 4, 3) ***** error cauchypdf (1, i, 3) ***** error cauchypdf (1, 4, i) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/dist_fun/poisscdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/poisscdf.m ***** demo ## Plot various CDFs from the Poisson distribution x = 0:20; p1 = poisscdf (x, 1); p2 = poisscdf (x, 4); p3 = poisscdf (x, 10); plot (x, p1, '*b', x, p2, '*g', x, p3, '*r') grid on ylim ([0, 1]) legend ({'λ = 1', 'λ = 4', 'λ = 10'}, 'location', 'southeast') title ('Poisson CDF') xlabel ('values in x (number of occurrences)') ylabel ('probability') ***** shared x, y x = [-1 0 1 2 Inf]; y = [0, gammainc(1, (x(2:4) +1), 'upper'), 1]; ***** assert_equal (poisscdf (x, ones (1,5)), y) ***** assert_equal (poisscdf (x, 1), y) ***** assert_equal (poisscdf (x, [1 0 NaN 1 1]), [y(1) 1 NaN y(4:5)]) ***** assert_equal (poisscdf ([x(1:2) NaN Inf x(5)], 1), [y(1:2) NaN 1 y(5)]) ***** assert_equal (poisscdf ([x, NaN], 1), [y, NaN]) ***** assert_equal (poisscdf (single ([x, NaN]), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (poisscdf ([x, NaN], single (1)), single ([y, NaN]), eps ('single')) ***** error poisscdf () ***** error poisscdf (1) ***** error poisscdf (1, 2, 3) ***** error poisscdf (1, 2, 'tail') ***** error ... poisscdf (ones (3), ones (2)) ***** error ... poisscdf (ones (2), ones (3)) ***** error poisscdf (i, 2) ***** error poisscdf (2, i) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fun/copulapdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/copulapdf.m ***** test x = [0.2:0.2:0.6; 0.2:0.2:0.6]; theta = [1; 2]; y = copulapdf ('Clayton', x, theta); expected_p = [0.9872; 0.7295]; assert_equal (y, expected_p, 0.001); ***** test x = [0.2:0.2:0.6; 0.2:0.2:0.6]; y = copulapdf ('Gumbel', x, 2); expected_p = [0.9468; 0.9468]; assert_equal (y, expected_p, 0.001); ***** test x = [0.2, 0.6; 0.2, 0.6]; theta = [1; 2]; y = copulapdf ('Frank', x, theta); expected_p = [0.9378; 0.8678]; assert_equal (y, expected_p, 0.001); ***** test x = [0.2, 0.6; 0.2, 0.6]; theta = [0.3; 0.7]; y = copulapdf ('AMH', x, theta); expected_p = [0.9540; 0.8577]; assert_equal (y, expected_p, 0.001); 4 tests, 4 passed, 0 known failure, 0 skipped [inst/dist_fun/mvnrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/mvnrnd.m ***** error mvnrnd () ***** error mvnrnd ([2, 3, 4]) ***** error mvnrnd (ones (2, 2, 2), ones (1, 2, 3, 4)) ***** error mvnrnd (ones (1, 3), ones (1, 2, 3, 4)) ***** assert_equal (size (mvnrnd ([2, 3, 4], [2, 2, 2])), [1, 3]) ***** assert_equal (size (mvnrnd ([2, 3, 4], [2, 2, 2], 10)), [10, 3]) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/dist_fun/vmrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/vmrnd.m ***** assert_equal (size (vmrnd (1, 1)), [1, 1]) ***** assert_equal (size (vmrnd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (vmrnd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (vmrnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (vmrnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (vmrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (vmrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (vmrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (vmrnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (vmrnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (vmrnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (vmrnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (vmrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (vmrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (vmrnd (1, 1)), "double") ***** assert_equal (class (vmrnd (1, single (1))), "single") ***** assert_equal (class (vmrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (vmrnd (single (1), 1)), "single") ***** assert_equal (class (vmrnd (single ([1, 1]), 1)), "single") ***** error vmrnd () ***** error vmrnd (1) ***** error ... vmrnd (ones (3), ones (2)) ***** error ... vmrnd (ones (2), ones (3)) ***** error vmrnd (i, 2, 3) ***** error vmrnd (1, i, 3) ***** error ... vmrnd (1, 2, -1) ***** error ... vmrnd (1, 2, 1.2) ***** error ... vmrnd (1, 2, ones (2)) ***** error ... vmrnd (1, 2, [2 -1 2]) ***** error ... vmrnd (1, 2, [2 0 2.5]) ***** error ... vmrnd (1, 2, 2, -1, 5) ***** error ... vmrnd (1, 2, 2, 1.5, 5) ***** error ... vmrnd (2, ones (2), 3) ***** error ... vmrnd (2, ones (2), [3, 2]) ***** error ... vmrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/gampdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gampdf.m ***** demo ## Plot various PDFs from the Gamma distribution x = 0:0.01:20; y1 = gampdf (x, 1, 2); y2 = gampdf (x, 2, 2); y3 = gampdf (x, 3, 2); y4 = gampdf (x, 5, 1); y5 = gampdf (x, 9, 0.5); y6 = gampdf (x, 7.5, 1); y7 = gampdf (x, 0.5, 1); plot (x, y1, '-r', x, y2, '-g', x, y3, '-y', x, y4, '-m', ... x, y5, '-k', x, y6, '-b', x, y7, '-c') grid on ylim ([0,0.5]) legend ({'α = 1, β = 2', 'α = 2, β = 2', 'α = 3, β = 2', ... 'α = 5, β = 1', 'α = 9, β = 0.5', 'α = 7.5, β = 1', ... 'α = 0.5, β = 1'}, 'location', 'northeast') title ('Gamma PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1 0 0.5 1 Inf]; y = [0 exp(-x(2:end))]; ***** assert_equal (gampdf (x, ones (1,5), ones (1,5)), y) ***** assert_equal (gampdf (x, 1, ones (1,5)), y) ***** assert_equal (gampdf (x, ones (1,5), 1), y) ***** assert_equal (gampdf (x, [0 -Inf NaN Inf 1], 1), [NaN NaN NaN 0 y(5)]) ***** assert_equal (gampdf (x, [0 Inf NaN Inf 1], 1), [NaN 0 NaN 0 y(5)]) ***** assert_equal (gampdf (x, 1, [0 -Inf NaN Inf 1]), [NaN NaN NaN 0 y(5)]) ***** assert_equal (gampdf ([x, NaN], 1, 1), [y, NaN]) ***** assert_equal (gampdf (2, Inf, 4), 0) ***** assert_equal (gampdf (2, 4, Inf), 0) ***** assert_equal (gampdf (2, Inf, Inf), 0) ***** assert_equal (gampdf (single ([x, NaN]), 1, 1), single ([y, NaN])) ***** assert_equal (gampdf ([x, NaN], single (1), 1), single ([y, NaN])) ***** assert_equal (gampdf ([x, NaN], 1, single (1)), single ([y, NaN])) ***** error gampdf () ***** error gampdf (1) ***** error gampdf (1,2) ***** error ... gampdf (ones (3), ones (2), ones (2)) ***** error ... gampdf (ones (2), ones (3), ones (2)) ***** error ... gampdf (ones (2), ones (2), ones (3)) ***** error gampdf (i, 2, 2) ***** error gampdf (2, i, 2) ***** error gampdf (2, 2, i) 22 tests, 22 passed, 0 known failure, 0 skipped [inst/dist_fun/nctcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nctcdf.m ***** demo ## Plot various CDFs from the noncentral Τ distribution x = -5:0.01:5; p1 = nctcdf (x, 1, 0); p2 = nctcdf (x, 4, 0); p3 = nctcdf (x, 1, 2); p4 = nctcdf (x, 4, 2); plot (x, p1, '-r', x, p2, '-g', x, p3, '-k', x, p4, '-m') grid on xlim ([-5, 5]) legend ({'df = 1, μ = 0', 'df = 4, μ = 0', ... 'df = 1, μ = 2', 'df = 4, μ = 2'}, 'location', 'southeast') title ('Noncentral Τ CDF') xlabel ('values in x') ylabel ('probability') ***** demo ## Compare the noncentral T CDF with MU = 1 to the T CDF ## with the same number of degrees of freedom (10). x = -5:0.1:5; p1 = nctcdf (x, 10, 1); p2 = tcdf (x, 10); plot (x, p1, '-', x, p2, '-') grid on xlim ([-5, 5]) legend ({'Noncentral T(10,1)', 'T(10)'}, 'location', 'southeast') title ('Noncentral T vs T CDFs') xlabel ('values in x') ylabel ('probability') ***** test x = -2:0.1:2; p = nctcdf (x, 10, 1); assert_equal (p(1), 0.003302485766631558, 1e-14); assert_equal (p(2), 0.004084668193532631, 1e-14); assert_equal (p(3), 0.005052800319478737, 1e-14); assert_equal (p(41), 0.8076115625303751, 1e-14); ***** test p = nctcdf (12, 10, 3); assert_equal (p, 0.9997719343243797, 1e-14); ***** test p = nctcdf (2, 3, 2); assert_equal (p, 0.4430757822176028, 1e-14); ***** test p = nctcdf (2, 3, 2, 'upper'); assert_equal (p, 0.5569242177823971, 1e-14); ***** test p = nctcdf ([3, 6], 3, 2, 'upper'); assert_equal (p, [0.3199728259444777, 0.07064855592441913], 1e-14); ***** error nctcdf () ***** error nctcdf (1) ***** error nctcdf (1, 2) ***** error nctcdf (1, 2, 3, 'tail') ***** error nctcdf (1, 2, 3, 4) ***** error ... nctcdf (ones (3), ones (2), ones (2)) ***** error ... nctcdf (ones (2), ones (3), ones (2)) ***** error ... nctcdf (ones (2), ones (2), ones (3)) ***** error nctcdf (i, 2, 2) ***** error nctcdf (2, i, 2) ***** error nctcdf (2, 2, i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fun/iwishrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/iwishrnd.m ***** assert_equal (size (iwishrnd (1,2,1)), [1, 1]); ***** assert_equal (size (iwishrnd ([],2,1)), [1, 1]); ***** assert_equal (size (iwishrnd ([3 1; 1 3], 2.00001, [], 1)), [2, 2]); ***** assert_equal (size (iwishrnd (eye (2), 2, [], 3)), [2, 2, 3]); ***** error iwishrnd () ***** error iwishrnd (1) ***** error iwishrnd ([-3 1; 1 3],1) ***** error iwishrnd ([1; 1],1) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fun/tlspdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/tlspdf.m ***** demo ## Plot various PDFs from the Student's T distribution x = -8:0.01:8; y1 = tlspdf (x, 0, 1, 1); y2 = tlspdf (x, 0, 2, 2); y3 = tlspdf (x, 3, 2, 5); y4 = tlspdf (x, -1, 3, Inf); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-m') grid on xlim ([-8, 8]) ylim ([0, 0.41]) legend ({'mu = 0, sigma = 1, nu = 1', 'mu = 0, sigma = 2, nu = 2', ... 'mu = 3, sigma = 2, nu = 5', 'mu = -1, sigma = 3, nu = \infty'}, ... 'location', 'northwest') title ('Location-scale Student''s T PDF') xlabel ('values in x') ylabel ('density') ***** test x = rand (10,1); y = 1./(pi * (1 + x.^2)); assert_equal (tlspdf (x, 0, 1, 1), y, 5*eps); assert_equal (tlspdf (x+5, 5, 1, 1), y, 5*eps); assert_equal (tlspdf (x.*2, 0, 2, 1), y./2, 5*eps); ***** shared x, y x = [-Inf 0 0.5 1 Inf]; y = 1./(pi * (1 + x.^2)); ***** assert_equal (tlspdf (x, 0, 1, ones (1,5)), y, eps) ***** assert_equal (tlspdf (x, 0, 1, 1), y, eps) ***** assert_equal (tlspdf (x, 0, 1, [0 NaN 1 1 1]), [NaN NaN y(3:5)], eps) ***** assert_equal (tlspdf (x, 0, 1, Inf), normpdf (x)) ***** assert_equal (class (tlspdf ([x, NaN], 1, 1, 1)), "double") ***** assert_equal (class (tlspdf (single ([x, NaN]), 1, 1, 1)), "single") ***** assert_equal (class (tlspdf ([x, NaN], single (1), 1, 1)), "single") ***** assert_equal (class (tlspdf ([x, NaN], 1, single (1), 1)), "single") ***** assert_equal (class (tlspdf ([x, NaN], 1, 1, single (1))), "single") ***** error tlspdf () ***** error tlspdf (1) ***** error tlspdf (1, 2) ***** error tlspdf (1, 2, 3) ***** error ... tlspdf (ones (3), ones (2), 1, 1) ***** error ... tlspdf (ones (2), 1, ones (3), 1) ***** error ... tlspdf (ones (2), 1, 1, ones (3)) ***** error tlspdf (i, 2, 1, 1) ***** error tlspdf (2, i, 1, 1) ***** error tlspdf (2, 1, i, 1) ***** error tlspdf (2, 1, 1, i) 21 tests, 21 passed, 0 known failure, 0 skipped [inst/dist_fun/copulacdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/copulacdf.m ***** test x = [0.2:0.2:0.6; 0.2:0.2:0.6]; theta = [1; 2]; p = copulacdf ('Clayton', x, theta); expected_p = [0.1395; 0.1767]; assert_equal (p, expected_p, 0.001); ***** test x = [0.2:0.2:0.6; 0.2:0.2:0.6]; p = copulacdf ('Gumbel', x, 2); expected_p = [0.1464; 0.1464]; assert_equal (p, expected_p, 0.001); ***** test x = [0.2:0.2:0.6; 0.2:0.2:0.6]; theta = [1; 2]; p = copulacdf ('Frank', x, theta); expected_p = [0.0699; 0.0930]; assert_equal (p, expected_p, 0.001); ***** test x = [0.2:0.2:0.6; 0.2:0.2:0.6]; theta = [0.3; 0.7]; p = copulacdf ('AMH', x, theta); expected_p = [0.0629; 0.0959]; assert_equal (p, expected_p, 0.001); ***** test x = [0.2:0.2:0.6; 0.2:0.1:0.4]; theta = [0.2, 0.1, 0.1, 0.05]; p = copulacdf ('FGM', x, theta); expected_p = [0.0558; 0.0293]; assert_equal (p, expected_p, 0.001); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/dist_fun/unifrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/unifrnd.m ***** assert_equal (size (unifrnd (1, 1)), [1 1]) ***** assert_equal (size (unifrnd (1, ones (2,1))), [2, 1]) ***** assert_equal (size (unifrnd (1, ones (2,2))), [2, 2]) ***** assert_equal (size (unifrnd (ones (2,1), 1)), [2, 1]) ***** assert_equal (size (unifrnd (ones (2,2), 1)), [2, 2]) ***** assert_equal (size (unifrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (unifrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (unifrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (unifrnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (unifrnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (unifrnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (unifrnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (unifrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (unifrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (unifrnd (1, 1)), "double") ***** assert_equal (class (unifrnd (1, single (1))), "single") ***** assert_equal (class (unifrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (unifrnd (single (1), 1)), "single") ***** assert_equal (class (unifrnd (single ([1, 1]), 1)), "single") ***** error unifrnd () ***** error unifrnd (1) ***** error ... unifrnd (ones (3), ones (2)) ***** error ... unifrnd (ones (2), ones (3)) ***** error unifrnd (i, 2, 3) ***** error unifrnd (1, i, 3) ***** error ... unifrnd (1, 2, -1) ***** error ... unifrnd (1, 2, 1.2) ***** error ... unifrnd (1, 2, ones (2)) ***** error ... unifrnd (1, 2, [2 -1 2]) ***** error ... unifrnd (1, 2, [2 0 2.5]) ***** error ... unifrnd (1, 2, 2, -1, 5) ***** error ... unifrnd (1, 2, 2, 1.5, 5) ***** error ... unifrnd (2, ones (2), 3) ***** error ... unifrnd (2, ones (2), [3, 2]) ***** error ... unifrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/plpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/plpdf.m ***** demo ## Plot various PDFs from the Piecewise linear distribution data = 0:0.01:10; x1 = [0, 1, 3, 4, 7, 10]; Fx1 = [0, 0.2, 0.5, 0.6, 0.7, 1]; x2 = [0, 2, 5, 6, 7, 8]; Fx2 = [0, 0.1, 0.3, 0.6, 0.9, 1]; y1 = plpdf (data, x1, Fx1); y2 = plpdf (data, x2, Fx2); plot (data, y1, '-b', data, y2, 'g') grid on ylim ([0, 0.6]) xlim ([0, 10]) legend ({'x1, Fx1', 'x2, Fx2'}, 'location', 'northeast') title ('Piecewise linear CDF') xlabel ('values in data') ylabel ('density') ***** shared x, Fx x = [0, 1, 3, 4, 7, 10]; Fx = [0, 0.2, 0.5, 0.6, 0.7, 1]; ***** assert_equal (plpdf (0.5, x, Fx), 0.2, eps); ***** assert_equal (plpdf (1.5, x, Fx), 0.15, eps); ***** assert_equal (plpdf (3.5, x, Fx), 0.1, eps); ***** assert_equal (plpdf (5, x, Fx), 0.1/3, eps); ***** assert_equal (plpdf (8, x, Fx), 0.1, eps); ***** error plpdf () ***** error plpdf (1) ***** error plpdf (1, 2) ***** error ... plpdf (1, [0, 1, 2], [0, 1]) ***** error ... plpdf (1, [0], [1]) ***** error ... plpdf (1, [0, 1, 2], [0, 1, 1.5]) ***** error ... plpdf (1, [0, 1, 2], [0, i, 1]) ***** error ... plpdf (i, [0, 1, 2], [0, 0.5, 1]) ***** error ... plpdf (1, [0, i, 2], [0, 0.5, 1]) ***** error ... plpdf (1, [0, 1, 2], [0, 0.5i, 1]) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fun/normrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/normrnd.m ***** assert_equal (size (normrnd (1, 1)), [1, 1]) ***** assert_equal (size (normrnd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (normrnd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (normrnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (normrnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (normrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (normrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (normrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (normrnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (normrnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (normrnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (normrnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (normrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (normrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (normrnd (1, 1)), "double") ***** assert_equal (class (normrnd (1, single (1))), "single") ***** assert_equal (class (normrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (normrnd (single (1), 1)), "single") ***** assert_equal (class (normrnd (single ([1, 1]), 1)), "single") ***** error normrnd () ***** error normrnd (1) ***** error ... normrnd (ones (3), ones (2)) ***** error ... normrnd (ones (2), ones (3)) ***** error normrnd (i, 2, 3) ***** error normrnd (1, i, 3) ***** error ... normrnd (1, 2, -1) ***** error ... normrnd (1, 2, 1.2) ***** error ... normrnd (1, 2, ones (2)) ***** error ... normrnd (1, 2, [2 -1 2]) ***** error ... normrnd (1, 2, [2 0 2.5]) ***** error ... normrnd (1, 2, 2, -1, 5) ***** error ... normrnd (1, 2, 2, 1.5, 5) ***** error ... normrnd (2, ones (2), 3) ***** error ... normrnd (2, ones (2), [3, 2]) ***** error ... normrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/betainv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/betainv.m ***** demo ## Plot various iCDFs from the Beta distribution p = 0.001:0.001:0.999; x1 = betainv (p, 0.5, 0.5); x2 = betainv (p, 5, 1); x3 = betainv (p, 1, 3); x4 = betainv (p, 2, 2); x5 = betainv (p, 2, 5); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c', p, x5, '-m') grid on legend ({'α = β = 0.5', 'α = 5, β = 1', 'α = 1, β = 3', ... 'α = 2, β = 2', 'α = 2, β = 5'}, 'location', 'southeast') title ('Beta iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.75 1 2]; ***** assert_equal (betainv (p, ones (1,5), 2*ones (1,5)), [NaN 0 0.5 1 NaN], eps) ***** assert_equal (betainv (p, 1, 2*ones (1,5)), [NaN 0 0.5 1 NaN], eps) ***** assert_equal (betainv (p, ones (1,5), 2), [NaN 0 0.5 1 NaN], eps) ***** assert_equal (betainv (p, [1 0 NaN 1 1], 2), [NaN NaN NaN 1 NaN]) ***** assert_equal (betainv (p, 1, 2*[1 0 NaN 1 1]), [NaN NaN NaN 1 NaN]) ***** assert_equal (betainv ([p(1:2) NaN p(4:5)], 1, 2), [NaN 0 NaN 1 NaN]) ***** assert_equal (betainv ([p, NaN], 1, 2), [NaN 0 0.5 1 NaN NaN], eps) ***** assert_equal (betainv (single ([p, NaN]), 1, 2), single ([NaN 0 0.5 1 NaN NaN])) ***** assert_equal (betainv ([p, NaN], single (1), 2), single ([NaN 0 0.5 1 NaN NaN]), eps ('single')) ***** assert_equal (betainv ([p, NaN], 1, single (2)), single ([NaN 0 0.5 1 NaN NaN]), eps ('single')) ***** error betainv () ***** error betainv (1) ***** error betainv (1,2) ***** error betainv (1,2,3,4) ***** error ... betainv (ones (3), ones (2), ones (2)) ***** error ... betainv (ones (2), ones (3), ones (2)) ***** error ... betainv (ones (2), ones (2), ones (3)) ***** error betainv (i, 2, 2) ***** error betainv (2, i, 2) ***** error betainv (2, 2, i) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/dist_fun/fcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/fcdf.m ***** demo ## Plot various CDFs from the F distribution x = 0.01:0.01:4; p1 = fcdf (x, 1, 2); p2 = fcdf (x, 2, 1); p3 = fcdf (x, 5, 2); p4 = fcdf (x, 10, 1); p5 = fcdf (x, 100, 100); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c', x, p5, '-m') grid on legend ({'df1 = 1, df2 = 2', 'df1 = 2, df2 = 1', ... 'df1 = 5, df2 = 2', 'df1 = 10, df2 = 1', ... 'df1 = 100, df2 = 100'}, 'location', 'southeast') title ('F CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-1, 0, 0.5, 1, 2, Inf]; y = [0, 0, 1/3, 1/2, 2/3, 1]; ***** assert_equal (fcdf (x, 2*ones (1,6), 2*ones (1,6)), y, eps) ***** assert_equal (fcdf (x, 2, 2*ones (1,6)), y, eps) ***** assert_equal (fcdf (x, 2*ones (1,6), 2), y, eps) ***** assert_equal (fcdf (x, [0 NaN Inf 2 2 2], 2), [NaN NaN 0.1353352832366127 y(4:6)], eps) ***** assert_equal (fcdf (x, 2, [0 NaN Inf 2 2 2]), [NaN NaN 0.3934693402873666 y(4:6)], eps) ***** assert_equal (fcdf ([x(1:2) NaN x(4:6)], 2, 2), [y(1:2) NaN y(4:6)], eps) ***** assert_equal (fcdf ([x, NaN], 2, 2), [y, NaN], eps) ***** assert_equal (fcdf (single ([x, NaN]), 2, 2), single ([y, NaN]), eps ('single')) ***** assert_equal (fcdf ([x, NaN], single (2), 2), single ([y, NaN]), eps ('single')) ***** assert_equal (fcdf ([x, NaN], 2, single (2)), single ([y, NaN]), eps ('single')) ***** error fcdf () ***** error fcdf (1) ***** error fcdf (1, 2) ***** error fcdf (1, 2, 3, 4) ***** error fcdf (1, 2, 3, 'tail') ***** error ... fcdf (ones (3), ones (2), ones (2)) ***** error ... fcdf (ones (2), ones (3), ones (2)) ***** error ... fcdf (ones (2), ones (2), ones (3)) ***** error fcdf (i, 2, 2) ***** error fcdf (2, i, 2) ***** error fcdf (2, 2, i) 21 tests, 21 passed, 0 known failure, 0 skipped [inst/dist_fun/ricepdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/ricepdf.m ***** demo ## Plot various PDFs from the Rician distribution x = 0:0.01:8; y1 = ricepdf (x, 0, 1); y2 = ricepdf (x, 0.5, 1); y3 = ricepdf (x, 1, 1); y4 = ricepdf (x, 2, 1); y5 = ricepdf (x, 4, 1); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-m', x, y5, '-k') grid on ylim ([0, 0.65]) xlim ([0, 8]) legend ({'s = 0, σ = 1', 's = 0.5, σ = 1', 's = 1, σ = 1', ... 's = 2, σ = 1', 's = 4, σ = 1'}, 'location', 'northeast') title ('Rician PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1 0 0.5 1 2]; y = [0 0 0.1073 0.1978 0.2846]; ***** assert_equal (ricepdf (x, ones (1, 5), 2 * ones (1, 5)), y, 1e-4) ***** assert_equal (ricepdf (x, 1, 2 * ones (1, 5)), y, 1e-4) ***** assert_equal (ricepdf (x, ones (1, 5), 2), y, 1e-4) ***** assert_equal (ricepdf (x, [0 NaN 1 1 1], 2), [0 NaN y(3:5)], 1e-4) ***** assert_equal (ricepdf (x, 1, 2 * [0 NaN 1 1 1]), [0 NaN y(3:5)], 1e-4) ***** assert_equal (ricepdf ([x, NaN], 1, 2), [y, NaN], 1e-4) ***** assert_equal (ricepdf (single ([x, NaN]), 1, 2), single ([y, NaN]), 1e-4) ***** assert_equal (ricepdf ([x, NaN], single (1), 2), single ([y, NaN]), 1e-4) ***** assert_equal (ricepdf ([x, NaN], 1, single (2)), single ([y, NaN]), 1e-4) ***** error ricepdf () ***** error ricepdf (1) ***** error ricepdf (1,2) ***** error ricepdf (1,2,3,4) ***** error ... ricepdf (ones (3), ones (2), ones (2)) ***** error ... ricepdf (ones (2), ones (3), ones (2)) ***** error ... ricepdf (ones (2), ones (2), ones (3)) ***** error ricepdf (i, 2, 2) ***** error ricepdf (2, i, 2) ***** error ricepdf (2, 2, i) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/dist_fun/hygepdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/hygepdf.m ***** demo ## Plot various PDFs from the hypergeometric distribution x = 0:60; y1 = hygepdf (x, 500, 50, 100); y2 = hygepdf (x, 500, 60, 200); y3 = hygepdf (x, 500, 70, 300); plot (x, y1, '*b', x, y2, '*g', x, y3, '*r') grid on xlim ([0, 60]) ylim ([0, 0.18]) legend ({'m = 500, k = 50, μ = 100', 'm = 500, k = 60, μ = 200', ... 'm = 500, k = 70, μ = 300'}, 'location', 'northeast') title ('Hypergeometric PDF') xlabel ('values in x (number of successes)') ylabel ('density') ***** shared x, y x = [-1 0 1 2 3]; y = [0 1/6 4/6 1/6 0]; ***** assert_equal (hygepdf (x, 4 * ones (1, 5), 2, 2), y, 3 * eps) ***** assert_equal (hygepdf (x, 4, 2 * ones (1, 5), 2), y, 3 * eps) ***** assert_equal (hygepdf (x, 4, 2, 2 * ones (1, 5)), y, 3 * eps) ***** assert_equal (hygepdf (x, 4 * [1, -1, NaN, 1.1, 1], 2, 2), [0, NaN, NaN, NaN, 0]) ***** assert_equal (hygepdf (x, 4, 2 * [1, -1, NaN, 1.1, 1], 2), [0, NaN, NaN, NaN, 0]) ***** assert_equal (hygepdf (x, 4, 5, 2), [NaN, NaN, NaN, NaN, NaN], 3 * eps) ***** assert_equal (hygepdf (x, 4, 2, 2 * [1, -1, NaN, 1.1, 1]), [0, NaN, NaN, NaN, 0]) ***** assert_equal (hygepdf (x, 4, 2, 5), [NaN, NaN, NaN, NaN, NaN], 3 * eps) ***** assert_equal (hygepdf ([x, NaN], 4, 2, 2), [y, NaN], 3 * eps) ***** assert_equal (hygepdf (single ([x, NaN]), 4, 2, 2), single ([y, NaN]), eps ('single')) ***** assert_equal (hygepdf ([x, NaN], single (4), 2, 2), single ([y, NaN]), eps ('single')) ***** assert_equal (hygepdf ([x, NaN], 4, single (2), 2), single ([y, NaN]), eps ('single')) ***** assert_equal (hygepdf ([x, NaN], 4, 2, single (2)), single ([y, NaN]), eps ('single')) ***** test z = zeros (3,5); z([4,5,6,8,9,12]) = [1, 0.5, 1/6, 0.5, 2/3, 1/6]; assert_equal (hygepdf (x, 4, [0, 1, 2], 2, 'vectorexpand'), z, 3 * eps); assert_equal (hygepdf (x, 4, [0, 1, 2]', 2, 'vectorexpand'), z, 3 * eps); assert_equal (hygepdf (x', 4, [0, 1, 2], 2, 'vectorexpand'), z, 3 * eps); assert_equal (hygepdf (2, 4, [0 ,1, 2], 2, 'vectorexpand'), z(:,4), 3 * eps); assert_equal (hygepdf (x, 4, 1, 2, 'vectorexpand'), z(2,:), 3 *eps); assert_equal (hygepdf ([NaN, x], 4, [0 1 2]', 2, 'vectorexpand'), [NaN(3, 1), z], 3 * eps); ***** error hygepdf () ***** error hygepdf (1) ***** error hygepdf (1,2) ***** error hygepdf (1,2,3) ***** error ... hygepdf (1, ones (3), ones (2), ones (2)) ***** error ... hygepdf (1, ones (2), ones (3), ones (2)) ***** error ... hygepdf (1, ones (2), ones (2), ones (3)) ***** error hygepdf (i, 2, 2, 2) ***** error hygepdf (2, i, 2, 2) ***** error hygepdf (2, 2, i, 2) ***** error hygepdf (2, 2, 2, i) 25 tests, 25 passed, 0 known failure, 0 skipped [inst/dist_fun/raylpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/raylpdf.m ***** demo ## Plot various PDFs from the Rayleigh distribution x = 0:0.01:10; y1 = raylpdf (x, 0.5); y2 = raylpdf (x, 1); y3 = raylpdf (x, 2); y4 = raylpdf (x, 3); y5 = raylpdf (x, 4); plot (x, y1, '-b', x, y2, 'g', x, y3, '-r', x, y4, '-m', x, y5, '-k') grid on ylim ([0, 1.25]) legend ({'σ = 0,5', 'σ = 1', 'σ = 2', ... 'σ = 3', 'σ = 4'}, 'location', 'northeast') title ('Rayleigh PDF') xlabel ('values in x') ylabel ('density') ***** test x = 0:0.5:2.5; sigma = 1:6; y = raylpdf (x, sigma); expected_y = [0.0000, 0.1212, 0.1051, 0.0874, 0.0738, 0.0637]; assert_equal (y, expected_y, 0.001); ***** test x = 0:0.5:2.5; y = raylpdf (x, 0.5); expected_y = [0.0000, 1.2131, 0.5413, 0.0667, 0.0027, 0.0000]; assert_equal (y, expected_y, 0.001); ***** error raylpdf () ***** error raylpdf (1) ***** error ... raylpdf (ones (3), ones (2)) ***** error ... raylpdf (ones (2), ones (3)) ***** error raylpdf (i, 2) ***** error raylpdf (2, i) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fun/nakainv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nakainv.m ***** demo ## Plot various iCDFs from the Nakagami distribution p = 0.001:0.001:0.999; x1 = nakainv (p, 0.5, 1); x2 = nakainv (p, 1, 1); x3 = nakainv (p, 1, 2); x4 = nakainv (p, 1, 3); x5 = nakainv (p, 2, 1); x6 = nakainv (p, 2, 2); x7 = nakainv (p, 5, 1); plot (p, x1, '-r', p, x2, '-g', p, x3, '-y', p, x4, '-m', ... p, x5, '-k', p, x6, '-b', p, x7, '-c') grid on ylim ([0, 3]) legend ({'μ = 0.5, ω = 1', 'μ = 1, ω = 1', 'μ = 1, ω = 2', ... 'μ = 1, ω = 3', 'μ = 2, ω = 1', 'μ = 2, ω = 2', ... 'μ = 5, ω = 1'}, 'location', 'northwest') title ('Nakagami iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p, y p = [-Inf, -1, 0, 1/2, 1, 2, Inf]; y = [NaN, NaN, 0, 0.83255461115769769, Inf, NaN, NaN]; ***** assert_equal (nakainv (p, ones (1,7), ones (1,7)), y, eps) ***** assert_equal (nakainv (p, 1, 1), y, eps) ***** assert_equal (nakainv (p, [1, 1, 1, NaN, 1, 1, 1], 1), [y(1:3), NaN, y(5:7)], eps) ***** assert_equal (nakainv (p, 1, [1, 1, 1, NaN, 1, 1, 1]), [y(1:3), NaN, y(5:7)], eps) ***** assert_equal (nakainv ([p, NaN], 1, 1), [y, NaN], eps) ***** assert_equal (nakainv (single ([p, NaN]), 1, 1), single ([y, NaN])) ***** assert_equal (nakainv ([p, NaN], single (1), 1), single ([y, NaN])) ***** assert_equal (nakainv ([p, NaN], 1, single (1)), single ([y, NaN])) ***** error nakainv () ***** error nakainv (1) ***** error nakainv (1, 2) ***** error ... nakainv (ones (3), ones (2), ones (2)) ***** error ... nakainv (ones (2), ones (3), ones (2)) ***** error ... nakainv (ones (2), ones (2), ones (3)) ***** error nakainv (i, 4, 3) ***** error nakainv (1, i, 3) ***** error nakainv (1, 4, i) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/dist_fun/tricdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/tricdf.m ***** demo ## Plot various CDFs from the triangular distribution x = 0.001:0.001:10; p1 = tricdf (x, 3, 4, 6); p2 = tricdf (x, 1, 2, 5); p3 = tricdf (x, 2, 3, 9); p4 = tricdf (x, 2, 5, 9); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c') grid on xlim ([0, 10]) legend ({'a = 3, b = 4, c = 6', 'a = 1, b = 2, c = 5', ... 'a = 2, b = 3, c = 9', 'a = 2, b = 5, c = 9'}, ... 'location', 'southeast') title ('Triangular CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-1, 0, 0.1, 0.5, 0.9, 1, 2] + 1; y = [0, 0, 0.02, 0.5, 0.98, 1 1]; ***** assert_equal (tricdf (x, ones (1,7), 1.5 * ones (1, 7), 2 * ones (1, 7)), y, eps) ***** assert_equal (tricdf (x, 1 * ones (1, 7), 1.5, 2), y, eps) ***** assert_equal (tricdf (x, 1 * ones (1, 7), 1.5, 2, 'upper'), 1 - y, eps) ***** assert_equal (tricdf (x, 1, 1.5, 2 * ones (1, 7)), y, eps) ***** assert_equal (tricdf (x, 1, 1.5 * ones (1, 7), 2), y, eps) ***** assert_equal (tricdf (x, 1, 1.5, 2), y, eps) ***** assert_equal (tricdf (x, [1, 1, NaN, 1, 1, 1, 1], 1.5, 2), ... [y(1:2), NaN, y(4:7)], eps) ***** assert_equal (tricdf (x, 1, 1.5, 2*[1, 1, NaN, 1, 1, 1, 1]), ... [y(1:2), NaN, y(4:7)], eps) ***** assert_equal (tricdf (x, 1, 1.5, 2*[1, 1, NaN, 1, 1, 1, 1]), ... [y(1:2), NaN, y(4:7)], eps) ***** assert_equal (tricdf ([x, NaN], 1, 1.5, 2), [y, NaN], eps) ***** assert_equal (tricdf (single ([x, NaN]), 1, 1.5, 2), ... single ([y, NaN]), eps ('single')) ***** assert_equal (tricdf ([x, NaN], single (1), 1.5, 2), ... single ([y, NaN]), eps ('single')) ***** assert_equal (tricdf ([x, NaN], 1, single (1.5), 2), ... single ([y, NaN]), eps ('single')) ***** assert_equal (tricdf ([x, NaN], 1, 1.5, single (2)), ... single ([y, NaN]), eps ('single')) ***** error tricdf () ***** error tricdf (1) ***** error tricdf (1, 2) ***** error tricdf (1, 2, 3) ***** error ... tricdf (1, 2, 3, 4, 5, 6) ***** error tricdf (1, 2, 3, 4, 'tail') ***** error tricdf (1, 2, 3, 4, 5) ***** error ... tricdf (ones (3), ones (2), ones (2), ones (2)) ***** error ... tricdf (ones (2), ones (3), ones (2), ones (2)) ***** error ... tricdf (ones (2), ones (2), ones (3), ones (2)) ***** error ... tricdf (ones (2), ones (2), ones (2), ones (3)) ***** error tricdf (i, 2, 3, 4) ***** error tricdf (1, i, 3, 4) ***** error tricdf (1, 2, i, 4) ***** error tricdf (1, 2, 3, i) 29 tests, 29 passed, 0 known failure, 0 skipped [inst/dist_fun/cauchycdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/cauchycdf.m ***** demo ## Plot various CDFs from the Cauchy distribution x = -5:0.01:5; p1 = cauchycdf (x, 0, 0.5); p2 = cauchycdf (x, 0, 1); p3 = cauchycdf (x, 0, 2); p4 = cauchycdf (x, -2, 1); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c') grid on xlim ([-5, 5]) legend ({'x0 = 0, γ = 0.5', 'x0 = 0, γ = 1', ... 'x0 = 0, γ = 2', 'x0 = -2, γ = 1'}, 'location', 'southeast') title ('Cauchy CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-1 0 0.5 1 2]; y = 1/pi * atan ((x-1) / 2) + 1/2; ***** assert_equal (cauchycdf (x, ones (1,5), 2*ones (1,5)), y) ***** assert_equal (cauchycdf (x, 1, 2*ones (1,5)), y) ***** assert_equal (cauchycdf (x, ones (1,5), 2), y) ***** assert_equal (cauchycdf (x, [-Inf 1 NaN 1 Inf], 2), [NaN y(2) NaN y(4) NaN]) ***** assert_equal (cauchycdf (x, 1, 2*[0 1 NaN 1 Inf]), [NaN y(2) NaN y(4) NaN]) ***** assert_equal (cauchycdf ([x(1:2) NaN x(4:5)], 1, 2), [y(1:2) NaN y(4:5)]) ***** assert_equal (cauchycdf ([x, NaN], 1, 2), [y, NaN]) ***** assert_equal (cauchycdf (single ([x, NaN]), 1, 2), single ([y, NaN]), eps ('single')) ***** assert_equal (cauchycdf ([x, NaN], single (1), 2), single ([y, NaN]), eps ('single')) ***** assert_equal (cauchycdf ([x, NaN], 1, single (2)), single ([y, NaN]), eps ('single')) ***** error cauchycdf () ***** error cauchycdf (1) ***** error ... cauchycdf (1, 2) ***** error ... cauchycdf (1, 2, 3, 4, 5) ***** error cauchycdf (1, 2, 3, 'tail') ***** error cauchycdf (1, 2, 3, 4) ***** error ... cauchycdf (ones (3), ones (2), ones (2)) ***** error ... cauchycdf (ones (2), ones (3), ones (2)) ***** error ... cauchycdf (ones (2), ones (2), ones (3)) ***** error cauchycdf (i, 2, 2) ***** error cauchycdf (2, i, 2) ***** error cauchycdf (2, 2, i) 22 tests, 22 passed, 0 known failure, 0 skipped [inst/dist_fun/gevrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gevrnd.m ***** assert_equal (size (gevrnd (1, 2, 1)), [1, 1]); ***** assert_equal (size (gevrnd (ones (2, 1), 2, 1)), [2, 1]); ***** assert_equal (size (gevrnd (ones (2, 2), 2, 1)), [2, 2]); ***** assert_equal (size (gevrnd (1, 2 * ones (2, 1), 1)), [2, 1]); ***** assert_equal (size (gevrnd (1, 2 * ones (2, 2), 1)), [2, 2]); ***** assert_equal (size (gevrnd (1, 2, 1, 3)), [3, 3]); ***** assert_equal (size (gevrnd (1, 2, 1, [4, 1])), [4, 1]); ***** assert_equal (size (gevrnd (1, 2, 1, 4, 1)), [4, 1]); ***** assert_equal (size (gevrnd (1, 2, 1, [])), [0, 0]) ***** assert_equal (size (gevrnd (1, 2, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (gevrnd (1,1,1)), "double") ***** assert_equal (class (gevrnd (single (1),1,1)), "single") ***** assert_equal (class (gevrnd (single ([1 1]),1,1)), "single") ***** assert_equal (class (gevrnd (1,single (1),1)), "single") ***** assert_equal (class (gevrnd (1,single ([1 1]),1)), "single") ***** assert_equal (class (gevrnd (1,1,single (1))), "single") ***** assert_equal (class (gevrnd (1,1,single ([1 1]))), "single") ***** error gevrnd () ***** error gevrnd (1) ***** error gevrnd (1, 2) ***** error ... gevrnd (ones (3), ones (2), ones (2)) ***** error ... gevrnd (ones (2), ones (3), ones (2)) ***** error ... gevrnd (ones (2), ones (2), ones (3)) ***** error gevrnd (i, 2, 3) ***** error gevrnd (1, i, 3) ***** error gevrnd (1, 2, i) ***** error ... gevrnd (1, 2, 3, -1) ***** error ... gevrnd (1, 2, 3, 1.2) ***** error ... gevrnd (1, 2, 3, ones (2)) ***** error ... gevrnd (1, 2, 3, [2 -1 2]) ***** error ... gevrnd (1, 2, 3, [2 0 2.5]) ***** error ... gevrnd (1, 2, 3, 2, -1, 5) ***** error ... gevrnd (1, 2, 3, 2, 1.5, 5) ***** error ... gevrnd (2, ones (2), 2, 3) ***** error ... gevrnd (2, ones (2), 2, [3, 2]) ***** error ... gevrnd (2, ones (2), 2, 3, 2) 36 tests, 36 passed, 0 known failure, 0 skipped [inst/dist_fun/frnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/frnd.m ***** assert_equal (size (frnd (1, 1)), [1 1]) ***** assert_equal (size (frnd (1, ones (2,1))), [2, 1]) ***** assert_equal (size (frnd (1, ones (2,2))), [2, 2]) ***** assert_equal (size (frnd (ones (2,1), 1)), [2, 1]) ***** assert_equal (size (frnd (ones (2,2), 1)), [2, 2]) ***** assert_equal (size (frnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (frnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (frnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (frnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (frnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (frnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (frnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (frnd (1, 1, [])), [0, 0]) ***** assert_equal (size (frnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (frnd (1, 1)), "double") ***** assert_equal (class (frnd (1, single (1))), "single") ***** assert_equal (class (frnd (1, single ([1, 1]))), "single") ***** assert_equal (class (frnd (single (1), 1)), "single") ***** assert_equal (class (frnd (single ([1, 1]), 1)), "single") ***** error frnd () ***** error frnd (1) ***** error ... frnd (ones (3), ones (2)) ***** error ... frnd (ones (2), ones (3)) ***** error frnd (i, 2, 3) ***** error frnd (1, i, 3) ***** error ... frnd (1, 2, -1) ***** error ... frnd (1, 2, 1.2) ***** error ... frnd (1, 2, ones (2)) ***** error ... frnd (1, 2, [2 -1 2]) ***** error ... frnd (1, 2, [2 0 2.5]) ***** error ... frnd (1, 2, 2, -1, 5) ***** error ... frnd (1, 2, 2, 1.5, 5) ***** error ... frnd (2, ones (2), 3) ***** error ... frnd (2, ones (2), [3, 2]) ***** error ... frnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/geocdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/geocdf.m ***** demo ## Plot various CDFs from the geometric distribution x = 0:10; p1 = geocdf (x, 0.2); p2 = geocdf (x, 0.5); p3 = geocdf (x, 0.7); plot (x, p1, '*b', x, p2, '*g', x, p3, '*r') grid on xlim ([0, 10]) legend ({'ps = 0.2', 'ps = 0.5', 'ps = 0.7'}, 'location', 'southeast') title ('Geometric CDF') xlabel ('values in x (number of failures)') ylabel ('probability') ***** test p = geocdf ([1, 2, 3, 4], 0.25); assert_equal (p(1), 0.4375000000, 1e-14); assert_equal (p(2), 0.5781250000, 1e-14); assert_equal (p(3), 0.6835937500, 1e-14); assert_equal (p(4), 0.7626953125, 1e-14); ***** test p = geocdf ([1, 2, 3, 4], 0.25, 'upper'); assert_equal (p(1), 0.5625000000, 1e-14); assert_equal (p(2), 0.4218750000, 1e-14); assert_equal (p(3), 0.3164062500, 1e-14); assert_equal (p(4), 0.2373046875, 1e-14); ***** shared x, p x = [-1 0 1 Inf]; p = [0 0.5 0.75 1]; ***** assert_equal (geocdf (x, 0.5*ones (1,4)), p) ***** assert_equal (geocdf (x, 0.5), p) ***** assert_equal (geocdf (x, 0.5*[-1 NaN 4 1]), [NaN NaN NaN p(4)]) ***** assert_equal (geocdf ([x(1:2) NaN x(4)], 0.5), [p(1:2) NaN p(4)]) ***** assert_equal (geocdf ([x, NaN], 0.5), [p, NaN]) ***** assert_equal (geocdf (single ([x, NaN]), 0.5), single ([p, NaN])) ***** assert_equal (geocdf ([x, NaN], single (0.5)), single ([p, NaN])) ***** error geocdf () ***** error geocdf (1) ***** error ... geocdf (ones (3), ones (2)) ***** error ... geocdf (ones (2), ones (3)) ***** error geocdf (i, 2) ***** error geocdf (2, i) ***** error geocdf (2, 3, 'tail') ***** error geocdf (2, 3, 5) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/dist_fun/chi2cdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/chi2cdf.m ***** demo ## Plot various CDFs from the chi-squared distribution x = 0:0.01:8; p1 = chi2cdf (x, 1); p2 = chi2cdf (x, 2); p3 = chi2cdf (x, 3); p4 = chi2cdf (x, 4); p5 = chi2cdf (x, 6); p6 = chi2cdf (x, 9); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', ... x, p4, '-c', x, p5, '-m', x, p6, '-y') grid on xlim ([0, 8]) legend ({'df = 1', 'df = 2', 'df = 3', ... 'df = 4', 'df = 6', 'df = 9'}, 'location', 'southeast') title ('Chi-squared CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, p, u x = [-1, 0, 0.5, 1, 2]; p = [0, (1 - exp (-x(2:end) / 2))]; u = [1, 0, NaN, 0.606530659712633, 0.367879441171442]; ***** assert_equal (chi2cdf (x, 2 * ones (1,5)), p, eps) ***** assert_equal (chi2cdf (x, 2), p, eps) ***** assert_equal (chi2cdf (x, 2 * [1, 0, NaN, 1, 1]), [0, 1, NaN, p(4:5)], eps) ***** assert_equal (chi2cdf (x, 2 * [1, 0, NaN, 1, 1], 'upper'), u, 3 * eps) ***** assert_equal (chi2cdf ([x(1:2), NaN, x(4:5)], 2), [p(1:2), NaN, p(4:5)], eps) ***** assert_equal (chi2cdf ([x, NaN], 2), [p, NaN], eps) ***** assert_equal (chi2cdf (single ([x, NaN]), 2), single ([p, NaN]), eps ('single')) ***** assert_equal (chi2cdf ([x, NaN], single (2)), single ([p, NaN]), eps ('single')) ***** error chi2cdf () ***** error chi2cdf (1) ***** error chi2cdf (1, 2, 3, 4) ***** error chi2cdf (1, 2, 3) ***** error chi2cdf (1, 2, 'uper') ***** error ... chi2cdf (ones (3), ones (2)) ***** error ... chi2cdf (ones (2), ones (3)) ***** error chi2cdf (i, 2) ***** error chi2cdf (2, i) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/dist_fun/nbininv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nbininv.m ***** demo ## Plot various iCDFs from the negative binomial distribution p = 0.001:0.001:0.999; x1 = nbininv (p, 2, 0.15); x2 = nbininv (p, 5, 0.2); x3 = nbininv (p, 4, 0.4); x4 = nbininv (p, 10, 0.3); plot (p, x1, '-r', p, x2, '-g', p, x3, '-k', p, x4, '-m') grid on ylim ([0, 40]) legend ({'r = 2, ps = 0.15', 'r = 5, ps = 0.2', 'r = 4, p = 0.4', ... 'r = 10, ps = 0.3'}, 'location', 'northwest') title ('Negative binomial iCDF') xlabel ('probability') ylabel ('values in x (number of failures)') ***** shared p p = [-1 0 3/4 1 2]; ***** assert_equal (nbininv (p, ones (1,5), 0.5*ones (1,5)), [NaN 0 1 Inf NaN]) ***** assert_equal (nbininv (p, 1, 0.5*ones (1,5)), [NaN 0 1 Inf NaN]) ***** assert_equal (nbininv (p, ones (1,5), 0.5), [NaN 0 1 Inf NaN]) ***** assert_equal (nbininv (p, [1 0 NaN Inf 1], 0.5), [NaN NaN NaN NaN NaN]) ***** assert_equal (nbininv (p, [1 0 1.5 Inf 1], 0.5), [NaN NaN 2 NaN NaN]) ***** assert_equal (nbininv (p, 1, 0.5*[1 -Inf NaN Inf 1]), [NaN NaN NaN NaN NaN]) ***** assert_equal (nbininv ([p(1:2) NaN p(4:5)], 1, 0.5), [NaN 0 NaN Inf NaN]) ***** assert_equal (nbininv ([p, NaN], 1, 0.5), [NaN 0 1 Inf NaN NaN]) ***** assert_equal (nbininv (single ([p, NaN]), 1, 0.5), single ([NaN 0 1 Inf NaN NaN])) ***** assert_equal (nbininv ([p, NaN], single (1), 0.5), single ([NaN 0 1 Inf NaN NaN])) ***** assert_equal (nbininv ([p, NaN], 1, single (0.5)), single ([NaN 0 1 Inf NaN NaN])) ***** shared y, tol y = magic (3) + 1; tol = 1; ***** assert_equal (nbininv (nbincdf (1:10, 3, 0.1), 3, 0.1), 1:10, tol) ***** assert_equal (nbininv (nbincdf (1:10, 3./(1:10), 0.1), 3./(1:10), 0.1), 1:10, tol) ***** assert_equal (nbininv (nbincdf (y, 3./y, 1./y), 3./y, 1./y), y, tol) ***** error nbininv () ***** error nbininv (1) ***** error nbininv (1, 2) ***** error ... nbininv (ones (3), ones (2), ones (2)) ***** error ... nbininv (ones (2), ones (3), ones (2)) ***** error ... nbininv (ones (2), ones (2), ones (3)) ***** error nbininv (i, 2, 2) ***** error nbininv (2, i, 2) ***** error nbininv (2, 2, i) 23 tests, 23 passed, 0 known failure, 0 skipped [inst/dist_fun/hnpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/hnpdf.m ***** demo ## Plot various PDFs from the half-normal distribution x = 0:0.001:10; y1 = hnpdf (x, 0, 1); y2 = hnpdf (x, 0, 2); y3 = hnpdf (x, 0, 3); y4 = hnpdf (x, 0, 5); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c') grid on xlim ([0, 10]) ylim ([0, 0.9]) legend ({'μ = 0, σ = 1', 'μ = 0, σ = 2', ... 'μ = 0, σ = 3', 'μ = 0, σ = 5'}, 'location', 'northeast') title ('Half-normal PDF') xlabel ('values in x') ylabel ('density') ***** demo ## Plot half-normal against normal probability density function x = -5:0.001:5; y1 = hnpdf (x, 0, 1); y2 = normpdf (x); plot (x, y1, '-b', x, y2, '-g') grid on xlim ([-5, 5]) ylim ([0, 0.9]) legend ({'half-normal with μ = 0, σ = 1', ... 'standard normal (μ = 0, σ = 1)'}, 'location', 'northeast') title ('Half-normal against standard normal PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-Inf, -1, 0, 1/2, 1, Inf]; y = [0, 0, 0.7979, 0.7041, 0.4839, 0]; ***** assert_equal (hnpdf ([x, NaN], 0, 1), [y, NaN], 1e-4) ***** assert_equal (hnpdf (x, 0, [-2, -1, 0, 1, 1, 1]), [nan(1,3), y([4:6])], 1e-4) ***** assert_equal (class (hncdf (single ([x, NaN]), 0, 1)), "single") ***** assert_equal (class (hncdf ([x, NaN], 0, single (1))), "single") ***** assert_equal (class (hncdf ([x, NaN], single (0), 1)), "single") ***** error hnpdf () ***** error hnpdf (1) ***** error hnpdf (1, 2) ***** error ... hnpdf (1, ones (2), ones (3)) ***** error ... hnpdf (ones (2), 1, ones (3)) ***** error ... hnpdf (ones (2), ones (3), 1) ***** error hnpdf (i, 2, 3) ***** error hnpdf (1, i, 3) ***** error hnpdf (1, 2, i) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/dist_fun/logninv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/logninv.m ***** demo ## Plot various iCDFs from the log-normal distribution p = 0.001:0.001:0.999; x1 = logninv (p, 0, 1); x2 = logninv (p, 0, 0.5); x3 = logninv (p, 0, 0.25); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r') grid on ylim ([0, 3]) legend ({'μ = 0, σ = 1', 'μ = 0, σ = 0.5', 'μ = 0, σ = 0.25'}, ... 'location', 'northwest') title ('Log-normal iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (logninv (p, ones (1,5), ones (1,5)), [NaN 0 e Inf NaN], 2*eps) ***** assert_equal (logninv (p, 1, ones (1,5)), [NaN 0 e Inf NaN], 2*eps) ***** assert_equal (logninv (p, ones (1,5), 1), [NaN 0 e Inf NaN], 2*eps) ***** assert_equal (logninv (p, [1 1 NaN 0 1], 1), [NaN 0 NaN Inf NaN]) ***** assert_equal (logninv (p, 1, [1 0 NaN Inf 1]), [NaN NaN NaN NaN NaN]) ***** assert_equal (logninv ([p(1:2) NaN p(4:5)], 1, 2), [NaN 0 NaN Inf NaN]) ***** assert_equal (logninv ([p, NaN], 1, 1), [NaN 0 e Inf NaN NaN], 2*eps) ***** assert_equal (logninv (single ([p, NaN]), 1, 1), single ([NaN 0 e Inf NaN NaN])) ***** assert_equal (logninv ([p, NaN], single (1), 1), single ([NaN 0 e Inf NaN NaN])) ***** assert_equal (logninv ([p, NaN], 1, single (1)), single ([NaN 0 e Inf NaN NaN])) ***** error logninv () ***** error logninv (1,2,3,4) ***** error logninv (ones (3), ones (2), ones (2)) ***** error logninv (ones (2), ones (3), ones (2)) ***** error logninv (ones (2), ones (2), ones (3)) ***** error logninv (i, 2, 2) ***** error logninv (2, i, 2) ***** error logninv (2, 2, i) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/dist_fun/gppdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gppdf.m ***** demo ## Plot various PDFs from the generalized Pareto distribution x = 0:0.001:5; y1 = gppdf (x, 1, 1, 0); y2 = gppdf (x, 5, 1, 0); y3 = gppdf (x, 20, 1, 0); y4 = gppdf (x, 1, 2, 0); y5 = gppdf (x, 5, 2, 0); y6 = gppdf (x, 20, 2, 0); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', ... x, y4, '-c', x, y5, '-m', x, y6, '-k') grid on xlim ([0, 5]) ylim ([0, 1]) legend ({'k = 1, σ = 1, θ = 0', 'k = 5, σ = 1, θ = 0', ... 'k = 20, σ = 1, θ = 0', 'k = 1, σ = 2, θ = 0', ... 'k = 5, σ = 2, θ = 0', 'k = 20, σ = 2, θ = 0'}, ... 'location', 'northeast') title ('Generalized Pareto PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y1, y2, y3 x = [-Inf, -1, 0, 1/2, 1, Inf]; y1 = [0, 0, 1, 0.6065306597126334, 0.36787944117144233, 0]; y2 = [0, 0, 1, 4/9, 1/4, 0]; y3 = [0, 0, 1, 1, 1, 0]; ***** assert_equal (gppdf (x, zeros (1,6), ones (1,6), zeros (1,6)), y1, eps) ***** assert_equal (gppdf (x, 0, 1, zeros (1,6)), y1, eps) ***** assert_equal (gppdf (x, 0, ones (1,6), 0), y1, eps) ***** assert_equal (gppdf (x, zeros (1,6), 1, 0), y1, eps) ***** assert_equal (gppdf (x, 0, 1, 0), y1, eps) ***** assert_equal (gppdf (x, 0, 1, [0, 0, 0, NaN, 0, 0]), [y1(1:3), NaN, y1(5:6)]) ***** assert_equal (gppdf (x, 0, [1, 1, 1, NaN, 1, 1], 0), [y1(1:3), NaN, y1(5:6)]) ***** assert_equal (gppdf (x, [0, 0, 0, NaN, 0, 0], 1, 0), [y1(1:3), NaN, y1(5:6)]) ***** assert_equal (gppdf ([x(1:3), NaN, x(5:6)], 0, 1, 0), [y1(1:3), NaN, y1(5:6)]) ***** assert_equal (gppdf (x, ones (1,6), ones (1,6), zeros (1,6)), y2, eps) ***** assert_equal (gppdf (x, 1, 1, zeros (1,6)), y2, eps) ***** assert_equal (gppdf (x, 1, ones (1,6), 0), y2, eps) ***** assert_equal (gppdf (x, ones (1,6), 1, 0), y2, eps) ***** assert_equal (gppdf (x, 1, 1, 0), y2, eps) ***** assert_equal (gppdf (x, 1, 1, [0, 0, 0, NaN, 0, 0]), [y2(1:3), NaN, y2(5:6)]) ***** assert_equal (gppdf (x, 1, [1, 1, 1, NaN, 1, 1], 0), [y2(1:3), NaN, y2(5:6)]) ***** assert_equal (gppdf (x, [1, 1, 1, NaN, 1, 1], 1, 0), [y2(1:3), NaN, y2(5:6)]) ***** assert_equal (gppdf ([x(1:3), NaN, x(5:6)], 1, 1, 0), [y2(1:3), NaN, y2(5:6)]) ***** assert_equal (gppdf (x, -ones (1,6), ones (1,6), zeros (1,6)), y3, eps) ***** assert_equal (gppdf (x, -1, 1, zeros (1,6)), y3, eps) ***** assert_equal (gppdf (x, -1, ones (1,6), 0), y3, eps) ***** assert_equal (gppdf (x, -ones (1,6), 1, 0), y3, eps) ***** assert_equal (gppdf (x, -1, 1, 0), y3, eps) ***** assert_equal (gppdf (x, -1, 1, [0, 0, 0, NaN, 0, 0]), [y3(1:3), NaN, y3(5:6)]) ***** assert_equal (gppdf (x, -1, [1, 1, 1, NaN, 1, 1], 0), [y3(1:3), NaN, y3(5:6)]) ***** assert_equal (gppdf (x, [-1, -1, -1, NaN, -1, -1], 1, 0), [y3(1:3), NaN, y3(5:6)]) ***** assert_equal (gppdf ([x(1:3), NaN, x(5:6)], -1, 1, 0), [y3(1:3), NaN, y3(5:6)]) ***** assert_equal (gppdf (single ([x, NaN]), 0, 1, 0), single ([y1, NaN])) ***** assert_equal (gppdf ([x, NaN], 0, 1, single (0)), single ([y1, NaN])) ***** assert_equal (gppdf ([x, NaN], 0, single (1), 0), single ([y1, NaN])) ***** assert_equal (gppdf ([x, NaN], single (0), 1, 0), single ([y1, NaN])) ***** assert_equal (gppdf (single ([x, NaN]), 1, 1, 0), single ([y2, NaN])) ***** assert_equal (gppdf ([x, NaN], 1, 1, single (0)), single ([y2, NaN])) ***** assert_equal (gppdf ([x, NaN], 1, single (1), 0), single ([y2, NaN])) ***** assert_equal (gppdf ([x, NaN], single (1), 1, 0), single ([y2, NaN])) ***** assert_equal (gppdf (single ([x, NaN]), -1, 1, 0), single ([y3, NaN])) ***** assert_equal (gppdf ([x, NaN], -1, 1, single (0)), single ([y3, NaN])) ***** assert_equal (gppdf ([x, NaN], -1, single (1), 0), single ([y3, NaN])) ***** assert_equal (gppdf ([x, NaN], single (-1), 1, 0), single ([y3, NaN])) ***** error gpcdf () ***** error gpcdf (1) ***** error gpcdf (1, 2) ***** error gpcdf (1, 2, 3) ***** error ... gpcdf (ones (3), ones (2), ones (2), ones (2)) ***** error ... gpcdf (ones (2), ones (3), ones (2), ones (2)) ***** error ... gpcdf (ones (2), ones (2), ones (3), ones (2)) ***** error ... gpcdf (ones (2), ones (2), ones (2), ones (3)) ***** error gpcdf (i, 2, 3, 4) ***** error gpcdf (1, i, 3, 4) ***** error gpcdf (1, 2, i, 4) ***** error gpcdf (1, 2, 3, i) 51 tests, 51 passed, 0 known failure, 0 skipped [inst/dist_fun/ncx2cdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/ncx2cdf.m ***** demo ## Plot various CDFs from the noncentral chi-squared distribution x = 0:0.1:10; p1 = ncx2cdf (x, 2, 1); p2 = ncx2cdf (x, 2, 2); p3 = ncx2cdf (x, 2, 3); p4 = ncx2cdf (x, 4, 1); p5 = ncx2cdf (x, 4, 2); p6 = ncx2cdf (x, 4, 3); plot (x, p1, '-r', x, p2, '-g', x, p3, '-k', ... x, p4, '-m', x, p5, '-c', x, p6, '-y') grid on xlim ([0, 10]) legend ({'df = 2, λ = 1', 'df = 2, λ = 2', ... 'df = 2, λ = 3', 'df = 4, λ = 1', ... 'df = 4, λ = 2', 'df = 4, λ = 3'}, 'location', 'southeast') title ('Noncentral chi-squared CDF') xlabel ('values in x') ylabel ('probability') ***** demo ## Compare the noncentral chi-squared CDF with LAMBDA = 2 to the ## chi-squared CDF with the same number of degrees of freedom (4). x = 0:0.1:10; p1 = ncx2cdf (x, 4, 2); p2 = chi2cdf (x, 4); plot (x, p1, '-', x, p2, '-') grid on xlim ([0, 10]) legend ({'Noncentral χ^2(4,2)', 'χ^2(4)'}, 'location', 'northwest') title ('Noncentral chi-squared vs chi-squared CDFs') xlabel ('values in x') ylabel ('probability') ***** test x = -2:0.1:2; p = ncx2cdf (x, 10, 1); assert_equal (p([1:21]), zeros (1, 21), 3e-84); assert_equal (p(22), 1.521400636466575e-09, 1e-14); assert_equal (p(30), 6.665480510026046e-05, 1e-14); assert_equal (p(41), 0.002406447308399836, 1e-14); ***** test p = ncx2cdf (12, 10, 3); assert_equal (p, 0.4845555602398649, 1e-14); ***** test p = ncx2cdf (2, 3, 2); assert_equal (p, 0.2207330870741212, 1e-14); ***** test p = ncx2cdf (2, 3, 2, 'upper'); assert_equal (p, 0.7792669129258789, 1e-14); ***** test p = ncx2cdf ([3, 6], 3, 2, 'upper'); assert_equal (p, [0.6423318186400054, 0.3152299878943012], 1e-14); ***** error ncx2cdf () ***** error ncx2cdf (1) ***** error ncx2cdf (1, 2) ***** error ncx2cdf (1, 2, 3, 'tail') ***** error ncx2cdf (1, 2, 3, 4) ***** error ... ncx2cdf (ones (3), ones (2), ones (2)) ***** error ... ncx2cdf (ones (2), ones (3), ones (2)) ***** error ... ncx2cdf (ones (2), ones (2), ones (3)) ***** error ncx2cdf (i, 2, 2) ***** error ncx2cdf (2, i, 2) ***** error ncx2cdf (2, 2, i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fun/unidinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/unidinv.m ***** demo ## Plot various iCDFs from the discrete uniform distribution p = 0.001:0.001:0.999; x1 = unidinv (p, 5); x2 = unidinv (p, 9); plot (p, x1, '-b', p, x2, '-g') grid on xlim ([0, 1]) ylim ([0, 10]) legend ({'N = 5', 'N = 9'}, 'location', 'northwest') title ('Discrete uniform iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (unidinv (p, 10*ones (1,5)), [NaN NaN 5 10 NaN], eps) ***** assert_equal (unidinv (p, 10), [NaN NaN 5 10 NaN], eps) ***** assert_equal (unidinv (p, 10*[0 1 NaN 1 1]), [NaN NaN NaN 10 NaN], eps) ***** assert_equal (unidinv ([p(1:2) NaN p(4:5)], 10), [NaN NaN NaN 10 NaN], eps) ***** assert_equal (unidinv ([p, NaN], 10), [NaN NaN 5 10 NaN NaN], eps) ***** assert_equal (unidinv (single ([p, NaN]), 10), single ([NaN NaN 5 10 NaN NaN]), eps) ***** assert_equal (unidinv ([p, NaN], single (10)), single ([NaN NaN 5 10 NaN NaN]), eps) ***** error unidinv () ***** error unidinv (1) ***** error ... unidinv (ones (3), ones (2)) ***** error ... unidinv (ones (2), ones (3)) ***** error unidinv (i, 2) ***** error unidinv (2, i) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fun/hygernd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/hygernd.m ***** assert_equal (size (hygernd (4, 2, 2)), [1, 1]) ***** assert_equal (size (hygernd (4 * ones (2, 1), 2,2)), [2, 1]) ***** assert_equal (size (hygernd (4 * ones (2, 2), 2,2)), [2, 2]) ***** assert_equal (size (hygernd (4, 2 * ones (2, 1), 2)), [2, 1]) ***** assert_equal (size (hygernd (4, 2 * ones (2, 2), 2)), [2, 2]) ***** assert_equal (size (hygernd (4, 2, 2 * ones (2, 1))), [2, 1]) ***** assert_equal (size (hygernd (4, 2, 2 * ones (2, 2))), [2, 2]) ***** assert_equal (size (hygernd (4, 2, 2, 3)), [3, 3]) ***** assert_equal (size (hygernd (4, 2, 2, [4, 1])), [4, 1]) ***** assert_equal (size (hygernd (4, 2, 2, 4, 1)), [4, 1]) ***** assert_equal (size (hygernd (4, 2, 2, [])), [0, 0]) ***** assert_equal (size (hygernd (4, 2, 2, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (hygernd (4, 2, 2)), "double") ***** assert_equal (class (hygernd (single (4), 2, 2)), "single") ***** assert_equal (class (hygernd (single ([4, 4]), 2, 2)), "single") ***** assert_equal (class (hygernd (4, single (2), 2)), "single") ***** assert_equal (class (hygernd (4, single ([2, 2]),2)), "single") ***** assert_equal (class (hygernd (4, 2, single (2))), "single") ***** assert_equal (class (hygernd (4, 2, single ([2, 2]))), "single") ***** error hygernd () ***** error hygernd (1) ***** error hygernd (1, 2) ***** error ... hygernd (ones (3), ones (2), ones (2)) ***** error ... hygernd (ones (2), ones (3), ones (2)) ***** error ... hygernd (ones (2), ones (2), ones (3)) ***** error hygernd (i, 2, 3) ***** error hygernd (1, i, 3) ***** error hygernd (1, 2, i) ***** error ... hygernd (1, 2, 3, -1) ***** error ... hygernd (1, 2, 3, 1.2) ***** error ... hygernd (1, 2, 3, ones (2)) ***** error ... hygernd (1, 2, 3, [2 -1 2]) ***** error ... hygernd (1, 2, 3, [2 0 2.5]) ***** error ... hygernd (1, 2, 3, 2, -1, 5) ***** error ... hygernd (1, 2, 3, 2, 1.5, 5) ***** error ... hygernd (2, ones (2), 2, 3) ***** error ... hygernd (2, ones (2), 2, [3, 2]) ***** error ... hygernd (2, ones (2), 2, 3, 2) 38 tests, 38 passed, 0 known failure, 0 skipped [inst/dist_fun/norminv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/norminv.m ***** demo ## Plot various iCDFs from the normal distribution p = 0.001:0.001:0.999; x1 = norminv (p, 0, 0.5); x2 = norminv (p, 0, 1); x3 = norminv (p, 0, 2); x4 = norminv (p, -2, 0.8); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c') grid on ylim ([-5, 5]) legend ({'μ = 0, σ = 0.5', 'μ = 0, σ = 1', ... 'μ = 0, σ = 2', 'μ = -2, σ = 0.8'}, 'location', 'northwest') title ('Normal iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (norminv (p, ones (1,5), ones (1,5)), [NaN -Inf 1 Inf NaN]) ***** assert_equal (norminv (p, 1, ones (1,5)), [NaN -Inf 1 Inf NaN]) ***** assert_equal (norminv (p, ones (1,5), 1), [NaN -Inf 1 Inf NaN]) ***** assert_equal (norminv (p, [1 -Inf NaN Inf 1], 1), [NaN NaN NaN NaN NaN]) ***** assert_equal (norminv (p, 1, [1 0 NaN Inf 1]), [NaN NaN NaN NaN NaN]) ***** assert_equal (norminv ([p(1:2) NaN p(4:5)], 1, 1), [NaN -Inf NaN Inf NaN]) ***** assert_equal (norminv (p), probit (p)) ***** assert_equal (norminv (0.31254), probit (0.31254)) ***** assert_equal (norminv ([p, NaN], 1, 1), [NaN -Inf 1 Inf NaN NaN]) ***** assert_equal (norminv (single ([p, NaN]), 1, 1), single ([NaN -Inf 1 Inf NaN NaN])) ***** assert_equal (norminv ([p, NaN], single (1), 1), single ([NaN -Inf 1 Inf NaN NaN])) ***** assert_equal (norminv ([p, NaN], 1, single (1)), single ([NaN -Inf 1 Inf NaN NaN])) ***** error norminv () ***** error ... norminv (ones (3), ones (2), ones (2)) ***** error ... norminv (ones (2), ones (3), ones (2)) ***** error ... norminv (ones (2), ones (2), ones (3)) ***** error norminv (i, 2, 2) ***** error norminv (2, i, 2) ***** error norminv (2, 2, i) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/dist_fun/logirnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/logirnd.m ***** assert_equal (size (logirnd (1, 1)), [1, 1]) ***** assert_equal (size (logirnd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (logirnd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (logirnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (logirnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (logirnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (logirnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (logirnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (logirnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (logirnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (logirnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (logirnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (logirnd (1, 1, [])), [0, 0]) ***** assert_equal (size (logirnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (logirnd (1, 1)), "double") ***** assert_equal (class (logirnd (1, single (1))), "single") ***** assert_equal (class (logirnd (1, single ([1, 1]))), "single") ***** assert_equal (class (logirnd (single (1), 1)), "single") ***** assert_equal (class (logirnd (single ([1, 1]), 1)), "single") ***** error logirnd () ***** error logirnd (1) ***** error ... logirnd (ones (3), ones (2)) ***** error ... logirnd (ones (2), ones (3)) ***** error logirnd (i, 2, 3) ***** error logirnd (1, i, 3) ***** error ... logirnd (1, 2, -1) ***** error ... logirnd (1, 2, 1.2) ***** error ... logirnd (1, 2, ones (2)) ***** error ... logirnd (1, 2, [2 -1 2]) ***** error ... logirnd (1, 2, [2 0 2.5]) ***** error ... logirnd (1, 2, 2, -1, 5) ***** error ... logirnd (1, 2, 2, 1.5, 5) ***** error ... logirnd (2, ones (2), 3) ***** error ... logirnd (2, ones (2), [3, 2]) ***** error ... logirnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/burrrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/burrrnd.m ***** assert_equal (size (burrrnd (1, 1, 1)), [1 1]) ***** assert_equal (size (burrrnd (ones (2,1), 1, 1)), [2, 1]) ***** assert_equal (size (burrrnd (ones (2,2), 1, 1)), [2, 2]) ***** assert_equal (size (burrrnd (1, ones (2,1), 1)), [2, 1]) ***** assert_equal (size (burrrnd (1, ones (2,2), 1)), [2, 2]) ***** assert_equal (size (burrrnd (1, 1, ones (2,1))), [2, 1]) ***** assert_equal (size (burrrnd (1, 1, ones (2,2))), [2, 2]) ***** assert_equal (size (burrrnd (1, 1, 1, 3)), [3, 3]) ***** assert_equal (size (burrrnd (1, 1, 1, [4 1])), [4, 1]) ***** assert_equal (size (burrrnd (1, 1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (burrrnd (1, 1, 1, [])), [0, 0]) ***** assert_equal (size (burrrnd (1, 1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (burrrnd (1,1,1)), "double") ***** assert_equal (class (burrrnd (single (1),1,1)), "single") ***** assert_equal (class (burrrnd (single ([1 1]),1,1)), "single") ***** assert_equal (class (burrrnd (1,single (1),1)), "single") ***** assert_equal (class (burrrnd (1,single ([1 1]),1)), "single") ***** assert_equal (class (burrrnd (1,1,single (1))), "single") ***** assert_equal (class (burrrnd (1,1,single ([1 1]))), "single") ***** error burrrnd () ***** error burrrnd (1) ***** error burrrnd (1, 2) ***** error ... burrrnd (ones (3), ones (2), ones (2)) ***** error ... burrrnd (ones (2), ones (3), ones (2)) ***** error ... burrrnd (ones (2), ones (2), ones (3)) ***** error burrrnd (i, 2, 3) ***** error burrrnd (1, i, 3) ***** error burrrnd (1, 2, i) ***** error ... burrrnd (1, 2, 3, -1) ***** error ... burrrnd (1, 2, 3, 1.2) ***** error ... burrrnd (1, 2, 3, ones (2)) ***** error ... burrrnd (1, 2, 3, [2 -1 2]) ***** error ... burrrnd (1, 2, 3, [2 0 2.5]) ***** error ... burrrnd (1, 2, 3, 2, -1, 5) ***** error ... burrrnd (1, 2, 3, 2, 1.5, 5) ***** error ... burrrnd (2, ones (2), 2, 3) ***** error ... burrrnd (2, ones (2), 2, [3, 2]) ***** error ... burrrnd (2, ones (2), 2, 3, 2) 38 tests, 38 passed, 0 known failure, 0 skipped [inst/dist_fun/tinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/tinv.m ***** demo ## Plot various iCDFs from the Student's T distribution p = 0.001:0.001:0.999; x1 = tinv (p, 1); x2 = tinv (p, 2); x3 = tinv (p, 5); x4 = tinv (p, Inf); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-m') grid on xlim ([0, 1]) ylim ([-5, 5]) legend ({'df = 1', 'df = 2', ... 'df = 5', 'df = \infty'}, 'location', 'northwest') title ('Student''s T iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (tinv (p, ones (1,5)), [NaN -Inf 0 Inf NaN]) ***** assert_equal (tinv (p, 1), [NaN -Inf 0 Inf NaN], eps) ***** assert_equal (tinv (p, [1 0 NaN 1 1]), [NaN NaN NaN Inf NaN], eps) ***** assert_equal (tinv ([p(1:2) NaN p(4:5)], 1), [NaN -Inf NaN Inf NaN]) ***** assert_equal (tinv ([p, NaN], 1), [NaN -Inf 0 Inf NaN NaN], eps) ***** assert_equal (tinv (single ([p, NaN]), 1), single ([NaN -Inf 0 Inf NaN NaN]), eps ('single')) ***** assert_equal (tinv ([p, NaN], single (1)), single ([NaN -Inf 0 Inf NaN NaN]), eps ('single')) ***** error tinv () ***** error tinv (1) ***** error ... tinv (ones (3), ones (2)) ***** error ... tinv (ones (2), ones (3)) ***** error tinv (i, 2) ***** error tinv (2, i) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fun/logiinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/logiinv.m ***** demo ## Plot various iCDFs from the logistic distribution p = 0.001:0.001:0.999; x1 = logiinv (p, 5, 2); x2 = logiinv (p, 9, 3); x3 = logiinv (p, 9, 4); x4 = logiinv (p, 6, 2); x5 = logiinv (p, 2, 1); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c', p, x5, '-m') grid on legend ({'μ = 5, σ = 2', 'μ = 9, σ = 3', 'μ = 9, σ = 4', ... 'μ = 6, σ = 2', 'μ = 2, σ = 1'}, 'location', 'southeast') title ('Logistic iCDF') xlabel ('probability') ylabel ('x') ***** test p = [0.01:0.01:0.99]; assert_equal (logiinv (p, 0, 1), log (p ./ (1-p)), 25*eps); ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (logiinv (p, 0, 1), [NaN -Inf 0 Inf NaN]) ***** assert_equal (logiinv (p, 0, [-1, 0, 1, 2, 3]), [NaN NaN 0 Inf NaN]) ***** assert_equal (logiinv ([p, NaN], 0, 1), [NaN -Inf 0 Inf NaN NaN]) ***** assert_equal (logiinv (single ([p, NaN]), 0, 1), single ([NaN -Inf 0 Inf NaN NaN])) ***** assert_equal (logiinv ([p, NaN], single (0), 1), single ([NaN -Inf 0 Inf NaN NaN])) ***** assert_equal (logiinv ([p, NaN], 0, single (1)), single ([NaN -Inf 0 Inf NaN NaN])) ***** error logiinv () ***** error logiinv (1) ***** error ... logiinv (1, 2) ***** error ... logiinv (1, ones (2), ones (3)) ***** error ... logiinv (ones (2), 1, ones (3)) ***** error ... logiinv (ones (2), ones (3), 1) ***** error logiinv (i, 2, 3) ***** error logiinv (1, i, 3) ***** error logiinv (1, 2, i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fun/wblcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/wblcdf.m ***** demo ## Plot various CDFs from the Weibull distribution x = 0:0.001:2.5; p1 = wblcdf (x, 1, 0.5); p2 = wblcdf (x, 1, 1); p3 = wblcdf (x, 1, 1.5); p4 = wblcdf (x, 1, 5); plot (x, p1, '-b', x, p2, '-r', x, p3, '-m', x, p4, '-g') grid on legend ({'λ = 1, k = 0.5', 'λ = 1, k = 1', ... 'λ = 1, k = 1.5', 'λ = 1, k = 5'}, 'location', 'southeast') title ('Weibull CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-1 0 0.5 1 Inf]; y = [0, 1-exp(-x(2:4)), 1]; ***** assert_equal (wblcdf (x, ones (1,5), ones (1,5)), y, 1e-16) ***** assert_equal (wblcdf (x, ones (1,5), ones (1,5), 'upper'), 1 - y) ***** assert_equal (wblcdf (x, 'upper'), 1 - y) ***** assert_equal (wblcdf (x, 1, ones (1,5)), y, 1e-16) ***** assert_equal (wblcdf (x, ones (1,5), 1), y, 1e-16) ***** assert_equal (wblcdf (x, [0 1 NaN Inf 1], 1), [NaN 0 NaN 0 1]) ***** assert_equal (wblcdf (x, [0 1 NaN Inf 1], 1, 'upper'), 1 - [NaN 0 NaN 0 1]) ***** assert_equal (wblcdf (x, 1, [0 1 NaN Inf 1]), [NaN 0 NaN y(4:5)]) ***** assert_equal (wblcdf (x, 1, [0 1 NaN Inf 1], 'upper'), 1 - [NaN 0 NaN y(4:5)]) ***** assert_equal (wblcdf ([x(1:2) NaN x(4:5)], 1, 1), [y(1:2) NaN y(4:5)]) ***** assert_equal (wblcdf ([x(1:2) NaN x(4:5)], 1, 1, 'upper'), 1 - [y(1:2) NaN y(4:5)]) ***** assert_equal (wblcdf ([x, NaN], 1, 1), [y, NaN], 1e-16) ***** assert_equal (wblcdf (single ([x, NaN]), 1, 1), single ([y, NaN])) ***** assert_equal (wblcdf ([x, NaN], single (1), 1), single ([y, NaN])) ***** assert_equal (wblcdf ([x, NaN], 1, single (1)), single ([y, NaN])) ***** error wblcdf () ***** error wblcdf (1,2,3,4,5,6,7) ***** error wblcdf (1, 2, 3, 4, 'uper') ***** error ... wblcdf (ones (3), ones (2), ones (2)) ***** error wblcdf (2, 3, 4, [1, 2]) ***** error ... [p, plo, pup] = wblcdf (1, 2, 3) ***** error [p, plo, pup] = ... wblcdf (1, 2, 3, [1, 0; 0, 1], 0) ***** error [p, plo, pup] = ... wblcdf (1, 2, 3, [1, 0; 0, 1], 1.22) ***** error [p, plo, pup] = ... wblcdf (1, 2, 3, [1, 0; 0, 1], 'alpha', 'upper') ***** error wblcdf (i, 2, 2) ***** error wblcdf (2, i, 2) ***** error wblcdf (2, 2, i) ***** error ... [p, plo, pup] =wblcdf (1, 2, 3, [1, 0; 0, -inf], 0.04) 28 tests, 28 passed, 0 known failure, 0 skipped [inst/dist_fun/mvtcdfqmc.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/mvtcdfqmc.m ***** error mvtcdfqmc (1, 2, 3); ***** error mvtcdfqmc (1, 2, 3, 4, 5, 6, 7, 8); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/dist_fun/burrcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/burrcdf.m ***** demo ## Plot various CDFs from the Burr type XII distribution x = 0.001:0.001:5; p1 = burrcdf (x, 1, 1, 1); p2 = burrcdf (x, 1, 1, 2); p3 = burrcdf (x, 1, 1, 3); p4 = burrcdf (x, 1, 2, 1); p5 = burrcdf (x, 1, 3, 1); p6 = burrcdf (x, 1, 0.5, 2); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', ... x, p4, '-c', x, p5, '-m', x, p6, '-k') grid on legend ({'λ = 1, c = 1, k = 1', 'λ = 1, c = 1, k = 2', ... 'λ = 1, c = 1, k = 3', 'λ = 1, c = 2, k = 1', ... 'λ = 1, c = 3, k = 1', 'λ = 1, c = 0.5, k = 2'}, ... 'location', 'southeast') title ('Burr type XII CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-1, 0, 1, 2, Inf]; y = [0, 0, 1/2, 2/3, 1]; ***** assert_equal (burrcdf (x, ones (1,5), ones (1,5), ones (1,5)), y, eps) ***** assert_equal (burrcdf (x, 1, 1, 1), y, eps) ***** assert_equal (burrcdf (x, [1, 1, NaN, 1, 1], 1, 1), [y(1:2), NaN, y(4:5)], eps) ***** assert_equal (burrcdf (x, 1, [1, 1, NaN, 1, 1], 1), [y(1:2), NaN, y(4:5)], eps) ***** assert_equal (burrcdf (x, 1, 1, [1, 1, NaN, 1, 1]), [y(1:2), NaN, y(4:5)], eps) ***** assert_equal (burrcdf ([x, NaN], 1, 1, 1), [y, NaN], eps) ***** assert_equal (burrcdf (single ([x, NaN]), 1, 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (burrcdf ([x, NaN], single (1), 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (burrcdf ([x, NaN], 1, single (1), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (burrcdf ([x, NaN], 1, 1, single (1)), single ([y, NaN]), eps ('single')) ***** error burrcdf () ***** error burrcdf (1) ***** error burrcdf (1, 2) ***** error burrcdf (1, 2, 3) ***** error ... burrcdf (1, 2, 3, 4, 5, 6) ***** error burrcdf (1, 2, 3, 4, 'tail') ***** error burrcdf (1, 2, 3, 4, 5) ***** error ... burrcdf (ones (3), ones (2), ones (2), ones (2)) ***** error ... burrcdf (ones (2), ones (3), ones (2), ones (2)) ***** error ... burrcdf (ones (2), ones (2), ones (3), ones (2)) ***** error ... burrcdf (ones (2), ones (2), ones (2), ones (3)) ***** error burrcdf (i, 2, 3, 4) ***** error burrcdf (1, i, 3, 4) ***** error burrcdf (1, 2, i, 4) ***** error burrcdf (1, 2, 3, i) 25 tests, 25 passed, 0 known failure, 0 skipped [inst/dist_fun/raylcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/raylcdf.m ***** demo ## Plot various CDFs from the Rayleigh distribution x = 0:0.01:10; p1 = raylcdf (x, 0.5); p2 = raylcdf (x, 1); p3 = raylcdf (x, 2); p4 = raylcdf (x, 3); p5 = raylcdf (x, 4); plot (x, p1, '-b', x, p2, 'g', x, p3, '-r', x, p4, '-m', x, p5, '-k') grid on ylim ([0, 1]) legend ({'σ = 0.5', 'σ = 1', 'σ = 2', ... 'σ = 3', 'σ = 4'}, 'location', 'southeast') title ('Rayleigh CDF') xlabel ('values in x') ylabel ('probability') ***** test x = 0:0.5:2.5; sigma = 1:6; p = raylcdf (x, sigma); expected_p = [0.0000, 0.0308, 0.0540, 0.0679, 0.0769, 0.0831]; assert_equal (p, expected_p, 0.001); ***** test x = 0:0.5:2.5; p = raylcdf (x, 0.5); expected_p = [0.0000, 0.3935, 0.8647, 0.9889, 0.9997, 1.0000]; assert_equal (p, expected_p, 0.001); ***** shared x, p x = [-1, 0, 1, 2, Inf]; p = [0, 0, 0.39346934028737, 0.86466471676338, 1]; ***** assert_equal (raylcdf (x, 1), p, 1e-14) ***** assert_equal (raylcdf (x, 1, 'upper'), 1 - p, 1e-14) ***** error raylcdf () ***** error raylcdf (1) ***** error raylcdf (1, 2, 'uper') ***** error raylcdf (1, 2, 3) ***** error ... raylcdf (ones (3), ones (2)) ***** error ... raylcdf (ones (2), ones (3)) ***** error raylcdf (i, 2) ***** error raylcdf (2, i) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/dist_fun/nbinpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nbinpdf.m ***** demo ## Plot various PDFs from the negative binomial distribution x = 0:40; y1 = nbinpdf (x, 2, 0.15); y2 = nbinpdf (x, 5, 0.2); y3 = nbinpdf (x, 4, 0.4); y4 = nbinpdf (x, 10, 0.3); plot (x, y1, '*r', x, y2, '*g', x, y3, '*k', x, y4, '*m') grid on xlim ([0, 40]) ylim ([0, 0.12]) legend ({'r = 2, ps = 0.15', 'r = 5, ps = 0.2', 'r = 4, p = 0.4', ... 'r = 10, ps = 0.3'}, 'location', 'northeast') title ('Negative binomial PDF') xlabel ('values in x (number of failures)') ylabel ('density') ***** shared x, y x = [-1 0 1 2 Inf]; y = [0 1/2 1/4 1/8 NaN]; ***** assert_equal (nbinpdf (x, ones (1,5), 0.5*ones (1,5)), y) ***** assert_equal (nbinpdf (x, 1, 0.5*ones (1,5)), y) ***** assert_equal (nbinpdf (x, ones (1,5), 0.5), y) ***** assert_equal (nbinpdf (x, [0 1 NaN 1.5 Inf], 0.5), [NaN 1/2 NaN 1.875*0.5^1.5/4 NaN], eps) ***** assert_equal (nbinpdf (x, 1, 0.5*[-1 NaN 4 1 1]), [NaN NaN NaN y(4:5)]) ***** assert_equal (nbinpdf ([x, NaN], 1, 0.5), [y, NaN]) ***** assert_equal (nbinpdf (single ([x, NaN]), 1, 0.5), single ([y, NaN])) ***** assert_equal (nbinpdf ([x, NaN], single (1), 0.5), single ([y, NaN])) ***** assert_equal (nbinpdf ([x, NaN], 1, single (0.5)), single ([y, NaN])) ***** error nbinpdf () ***** error nbinpdf (1) ***** error nbinpdf (1, 2) ***** error ... nbinpdf (ones (3), ones (2), ones (2)) ***** error ... nbinpdf (ones (2), ones (3), ones (2)) ***** error ... nbinpdf (ones (2), ones (2), ones (3)) ***** error nbinpdf (i, 2, 2) ***** error nbinpdf (2, i, 2) ***** error nbinpdf (2, 2, i) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/dist_fun/unidpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/unidpdf.m ***** demo ## Plot various PDFs from the discrete uniform distribution x = 0:10; y1 = unidpdf (x, 5); y2 = unidpdf (x, 9); plot (x, y1, '*b', x, y2, '*g') grid on xlim ([0, 10]) ylim ([0, 0.25]) legend ({'N = 5', 'N = 9'}, 'location', 'northeast') title ('Discrete uniform PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1 0 1 2 10 11]; y = [0 0 0.1 0.1 0.1 0]; ***** assert_equal (unidpdf (x, 10*ones (1,6)), y) ***** assert_equal (unidpdf (x, 10), y) ***** assert_equal (unidpdf (x, 10*[0 NaN 1 1 1 1]), [NaN NaN y(3:6)]) ***** assert_equal (unidpdf ([x, NaN], 10), [y, NaN]) ***** assert_equal (unidpdf (single ([x, NaN]), 10), single ([y, NaN])) ***** assert_equal (unidpdf ([x, NaN], single (10)), single ([y, NaN])) ***** error unidpdf () ***** error unidpdf (1) ***** error ... unidpdf (ones (3), ones (2)) ***** error ... unidpdf (ones (2), ones (3)) ***** error unidpdf (i, 2) ***** error unidpdf (2, i) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/dist_fun/unidcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/unidcdf.m ***** demo ## Plot various CDFs from the discrete uniform distribution x = 0:10; p1 = unidcdf (x, 5); p2 = unidcdf (x, 9); plot (x, p1, '*b', x, p2, '*g') grid on xlim ([0, 10]) ylim ([0, 1]) legend ({'N = 5', 'N = 9'}, 'location', 'southeast') title ('Discrete uniform CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [0 1 2.5 10 11]; y = [0, 0.1 0.2 1.0 1.0]; ***** assert_equal (unidcdf (x, 10*ones (1,5)), y) ***** assert_equal (unidcdf (x, 10*ones (1,5), 'upper'), 1 - y) ***** assert_equal (unidcdf (x, 10), y) ***** assert_equal (unidcdf (x, 10, 'upper'), 1 - y) ***** assert_equal (unidcdf (x, 10*[0 1 NaN 1 1]), [NaN 0.1 NaN y(4:5)]) ***** assert_equal (unidcdf ([x(1:2) NaN Inf x(5)], 10), [y(1:2) NaN 1 y(5)]) ***** assert_equal (unidcdf ([x, NaN], 10), [y, NaN]) ***** assert_equal (unidcdf (single ([x, NaN]), 10), single ([y, NaN])) ***** assert_equal (unidcdf ([x, NaN], single (10)), single ([y, NaN])) ***** error unidcdf () ***** error unidcdf (1) ***** error unidcdf (1, 2, 3) ***** error unidcdf (1, 2, 'tail') ***** error ... unidcdf (ones (3), ones (2)) ***** error ... unidcdf (ones (2), ones (3)) ***** error unidcdf (i, 2) ***** error unidcdf (2, i) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/dist_fun/ncx2rnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/ncx2rnd.m ***** assert_equal (size (ncx2rnd (1, 1)), [1, 1]) ***** assert_equal (size (ncx2rnd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (ncx2rnd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (ncx2rnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (ncx2rnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (ncx2rnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (ncx2rnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (ncx2rnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (ncx2rnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (ncx2rnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (ncx2rnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (ncx2rnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (ncx2rnd (1, 1, [])), [0, 0]) ***** assert_equal (size (ncx2rnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (ncx2rnd (1, 1)), "double") ***** assert_equal (class (ncx2rnd (1, single (1))), "single") ***** assert_equal (class (ncx2rnd (1, single ([1, 1]))), "single") ***** assert_equal (class (ncx2rnd (single (1), 1)), "single") ***** assert_equal (class (ncx2rnd (single ([1, 1]), 1)), "single") ***** error ncx2rnd () ***** error ncx2rnd (1) ***** error ... ncx2rnd (ones (3), ones (2)) ***** error ... ncx2rnd (ones (2), ones (3)) ***** error ncx2rnd (i, 2) ***** error ncx2rnd (1, i) ***** error ... ncx2rnd (1, 2, -1) ***** error ... ncx2rnd (1, 2, 1.2) ***** error ... ncx2rnd (1, 2, ones (2)) ***** error ... ncx2rnd (1, 2, [2 -1 2]) ***** error ... ncx2rnd (1, 2, [2 0 2.5]) ***** error ... ncx2rnd (1, 2, 2, -1, 5) ***** error ... ncx2rnd (1, 2, 2, 1.5, 5) ***** error ... ncx2rnd (2, ones (2), 3) ***** error ... ncx2rnd (2, ones (2), [3, 2]) ***** error ... ncx2rnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/mnrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/mnrnd.m ***** test n = 10; pk = [0.2, 0.5, 0.3]; r = mnrnd (n, pk); assert_equal (size (r), size (pk)); assert_equal (all ((all (r >= 0))(:)), true); assert_equal (all ((all (round (r) == r))(:)), true); assert_equal (all ((sum (r) == n)(:)), true); ***** test n = 10 * ones (3, 1); pk = [0.2, 0.5, 0.3]; r = mnrnd (n, pk); assert_equal (size (r), [length(n), length(pk)]); assert_equal (all ((all (r >= 0))(:)), true); assert_equal (all ((all (round (r) == r))(:)), true); assert_equal (all ((all (sum (r, 2) == n))(:)), true); ***** test n = (1:2)'; pk = [0.2, 0.5, 0.3; 0.1, 0.1, 0.8]; r = mnrnd (n, pk); assert_equal (size (r), size (pk)); assert_equal (all ((all (r >= 0))(:)), true); assert_equal (all ((all (round (r) == r))(:)), true); assert_equal (all ((all (sum (r, 2) == n))(:)), true); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/dist_fun/hninv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/hninv.m ***** demo ## Plot various iCDFs from the half-normal distribution p = 0.001:0.001:0.999; x1 = hninv (p, 0, 1); x2 = hninv (p, 0, 2); x3 = hninv (p, 0, 3); x4 = hninv (p, 0, 5); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c') grid on ylim ([0, 10]) legend ({'μ = 0, σ = 1', 'μ = 0, σ = 2', ... 'μ = 0, σ = 3', 'μ = 0, σ = 5'}, 'location', 'northwest') title ('Half-normal iCDF') xlabel ('probability') ylabel ('x') ***** shared p, x p = [0, 0.3829, 0.6827, 1]; x = [0, 1/2, 1, Inf]; ***** assert_equal (hninv (p, 0, 1), x, 1e-4); ***** assert_equal (hninv (p, 5, 1), x + 5, 1e-4); ***** assert_equal (hninv (p, 0, ones (1,4)), x, 1e-4); ***** assert_equal (hninv (p, 0, [-1, 0, 1, 1]), [NaN, NaN, x(3:4)], 1e-4) ***** assert_equal (class (hninv (single ([p, NaN]), 0, 1)), "single") ***** assert_equal (class (hninv ([p, NaN], single (0), 1)), "single") ***** assert_equal (class (hninv ([p, NaN], 0, single (1))), "single") ***** error hninv (1) ***** error hninv (1, 2) ***** error ... hninv (1, ones (2), ones (3)) ***** error ... hninv (ones (2), 1, ones (3)) ***** error ... hninv (ones (2), ones (3), 1) ***** error hninv (i, 2, 3) ***** error hninv (1, i, 3) ***** error hninv (1, 2, i) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fun/ricernd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/ricernd.m ***** assert_equal (size (ricernd (2, 1/2)), [1, 1]) ***** assert_equal (size (ricernd (2 * ones (2, 1), 1/2)), [2, 1]) ***** assert_equal (size (ricernd (2 * ones (2, 2), 1/2)), [2, 2]) ***** assert_equal (size (ricernd (2, 1/2 * ones (2, 1))), [2, 1]) ***** assert_equal (size (ricernd (1, 1/2 * ones (2, 2))), [2, 2]) ***** assert_equal (size (ricernd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (ricernd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (ricernd (2, 1/2, 3)), [3, 3]) ***** assert_equal (size (ricernd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (ricernd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (ricernd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (ricernd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (ricernd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (ricernd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (ricernd (1, 1, [])), [0, 0]) ***** assert_equal (size (ricernd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (ricernd (1, 1)), "double") ***** assert_equal (class (ricernd (1, single (0))), "single") ***** assert_equal (class (ricernd (1, single ([0, 0]))), "single") ***** assert_equal (class (ricernd (1, single (1), 2)), "single") ***** assert_equal (class (ricernd (1, single ([1, 1]), 1, 2)), "single") ***** assert_equal (class (ricernd (single (1), 1, 2)), "single") ***** assert_equal (class (ricernd (single ([1, 1]), 1, 1, 2)), "single") ***** error ricernd () ***** error ricernd (1) ***** error ... ricernd (ones (3), ones (2)) ***** error ... ricernd (ones (2), ones (3)) ***** error ricernd (i, 2) ***** error ricernd (1, i) ***** error ... ricernd (1, 1/2, -1) ***** error ... ricernd (1, 1/2, 1.2) ***** error ... ricernd (1, 1/2, ones (2)) ***** error ... ricernd (1, 1/2, [2 -1 2]) ***** error ... ricernd (1, 1/2, [2 0 2.5]) ***** error ... ricernd (1, 1/2, 2, -1, 5) ***** error ... ricernd (1, 1/2, 2, 1.5, 5) ***** error ... ricernd (2, 1/2 * ones (2), 3) ***** error ... ricernd (2, 1/2 * ones (2), [3, 2]) ***** error ... ricernd (2, 1/2 * ones (2), 3, 2) ***** error ... ricernd (2 * ones (2), 1/2, 3) ***** error ... ricernd (2 * ones (2), 1/2, [3, 2]) ***** error ... ricernd (2 * ones (2), 1/2, 3, 2) 42 tests, 42 passed, 0 known failure, 0 skipped [inst/dist_fun/unifinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/unifinv.m ***** demo ## Plot various iCDFs from the continuous uniform distribution p = 0.001:0.001:0.999; x1 = unifinv (p, 2, 5); x2 = unifinv (p, 3, 9); plot (p, x1, '-b', p, x2, '-g') grid on xlim ([0, 1]) ylim ([0, 10]) legend ({'a = 2, b = 5', 'a = 3, b = 9'}, 'location', 'northwest') title ('Continuous uniform iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (unifinv (p, ones (1,5), 2*ones (1,5)), [NaN 1 1.5 2 NaN]) ***** assert_equal (unifinv (p, 0, 1), [NaN 1 1.5 2 NaN] - 1) ***** assert_equal (unifinv (p, 1, 2*ones (1,5)), [NaN 1 1.5 2 NaN]) ***** assert_equal (unifinv (p, ones (1,5), 2), [NaN 1 1.5 2 NaN]) ***** assert_equal (unifinv (p, [1 2 NaN 1 1], 2), [NaN NaN NaN 2 NaN]) ***** assert_equal (unifinv (p, 1, 2*[1 0 NaN 1 1]), [NaN NaN NaN 2 NaN]) ***** assert_equal (unifinv ([p(1:2) NaN p(4:5)], 1, 2), [NaN 1 NaN 2 NaN]) ***** assert_equal (unifinv ([p, NaN], 1, 2), [NaN 1 1.5 2 NaN NaN]) ***** assert_equal (unifinv (single ([p, NaN]), 1, 2), single ([NaN 1 1.5 2 NaN NaN])) ***** assert_equal (unifinv ([p, NaN], single (1), 2), single ([NaN 1 1.5 2 NaN NaN])) ***** assert_equal (unifinv ([p, NaN], 1, single (2)), single ([NaN 1 1.5 2 NaN NaN])) ***** error unifinv () ***** error unifinv (1, 2) ***** error ... unifinv (ones (3), ones (2), ones (2)) ***** error ... unifinv (ones (2), ones (3), ones (2)) ***** error ... unifinv (ones (2), ones (2), ones (3)) ***** error unifinv (i, 2, 2) ***** error unifinv (2, i, 2) ***** error unifinv (2, 2, i) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/dist_fun/mvnpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/mvnpdf.m ***** demo mu = [1, -1]; sigma = [0.9, 0.4; 0.4, 0.3]; [X1, X2] = meshgrid (linspace (-1, 3, 25)', linspace (-3, 1, 25)'); x = [X1(:), X2(:)]; p = mvnpdf (x, mu, sigma); surf (X1, X2, reshape (p, 25, 25)); ***** error y = mvnpdf (); ***** error y = mvnpdf ([]); ***** error y = mvnpdf (ones (3,3,3)); ***** error ... y = mvnpdf (ones (10, 2), [4, 2, 3]); ***** error ... y = mvnpdf (ones (10, 2), [4, 2; 3, 2]); ***** error ... y = mvnpdf (ones (10, 2), ones (3, 3, 3)); ***** shared x, mu, sigma x = [1, 2, 5, 4, 6]; mu = [2, 0, -1, 1, 4]; sigma = [2, 2, 2, 2, 2]; ***** assert_equal (mvnpdf (x), 1.579343404440977e-20, 1e-30); ***** assert_equal (mvnpdf (x, mu), 1.899325144348102e-14, 1e-25); ***** assert_equal (mvnpdf (x, mu, sigma), 2.449062307156273e-09, 1e-20); 9 tests, 9 passed, 0 known failure, 0 skipped [inst/dist_fun/jsupdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/jsupdf.m ***** error jsupdf () ***** error jsupdf (1, 2, 3, 4) ***** error ... jsupdf (1, ones (2), ones (3)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/dist_fun/ncfinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/ncfinv.m ***** demo ## Plot various iCDFs from the noncentral F distribution p = 0.001:0.001:0.999; x1 = ncfinv (p, 2, 5, 1); x2 = ncfinv (p, 2, 5, 2); x3 = ncfinv (p, 5, 10, 1); x4 = ncfinv (p, 10, 20, 10); plot (p, x1, '-r', p, x2, '-g', p, x3, '-k', p, x4, '-m') grid on ylim ([0, 5]) legend ({'df1 = 2, df2 = 5, λ = 1', 'df1 = 2, df2 = 5, λ = 2', ... 'df1 = 5, df2 = 10, λ = 1', 'df1 = 10, df2 = 20, λ = 10'}, ... 'location', 'northwest') title ('Noncentral F iCDF') xlabel ('probability') ylabel ('values in x') ***** demo ## Compare the noncentral F iCDF with LAMBDA = 10 to the F iCDF with the ## same number of numerator and denominator degrees of freedom (5, 20) p = 0.001:0.001:0.999; x1 = ncfinv (p, 5, 20, 10); x2 = finv (p, 5, 20); plot (p, x1, '-', p, x2, '-'); grid on ylim ([0, 10]) legend ({'Noncentral F(5,20,10)', 'F(5,20)'}, 'location', 'northwest') title ('Noncentral F vs F quantile functions') xlabel ('probability') ylabel ('values in x') ***** test x = [0,0.1775,0.3864,0.6395,0.9564,1.3712,1.9471,2.8215,4.3679,8.1865,Inf]; assert_equal (ncfinv ([0:0.1:1], 2, 3, 1), x, 1e-4); ***** test x = [0,0.7492,1.3539,2.0025,2.7658,3.7278,5.0324,6.9826,10.3955,18.7665,Inf]; assert_equal (ncfinv ([0:0.1:1], 2, 3, 5), x, 1e-4); ***** test x = [0,0.2890,0.8632,1.5653,2.4088,3.4594,4.8442,6.8286,10.0983,17.3736,Inf]; assert_equal (ncfinv ([0:0.1:1], 1, 4, 3), x, 1e-4); ***** test x = [0.078410, 0.212716, 0.288618, 0.335752, 0.367963, 0.391460]; assert_equal (ncfinv (0.05, [1, 2, 3, 4, 5, 6], 10, 3), x, 1e-6); ***** test x = [0.2574, 0.2966, 0.3188, 0.3331, 0.3432, 0.3507]; assert_equal (ncfinv (0.05, 5, [1, 2, 3, 4, 5, 6], 3), x, 1e-4); ***** test x = [1.6090, 1.8113, 1.9215, 1.9911, NaN, 2.0742]; assert_equal (ncfinv (0.05, 1, [1, 2, 3, 4, -1, 6], 10), x, 1e-4); ***** test assert_equal (ncfinv (0.996, 3, 5, 8), 58.0912074080671, 4e-12); ***** error ncfinv () ***** error ncfinv (1) ***** error ncfinv (1, 2) ***** error ncfinv (1, 2, 3) ***** error ... ncfinv (ones (3), ones (2), ones (2), ones (2)) ***** error ... ncfinv (ones (2), ones (3), ones (2), ones (2)) ***** error ... ncfinv (ones (2), ones (2), ones (3), ones (2)) ***** error ... ncfinv (ones (2), ones (2), ones (2), ones (3)) ***** error ncfinv (i, 2, 2, 2) ***** error ncfinv (2, i, 2, 2) ***** error ncfinv (2, 2, i, 2) ***** error ncfinv (2, 2, 2, i) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/dist_fun/evrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/evrnd.m ***** assert_equal (size (evrnd (1, 1)), [1 1]) ***** assert_equal (size (evrnd (1, ones (2,1))), [2, 1]) ***** assert_equal (size (evrnd (1, ones (2,2))), [2, 2]) ***** assert_equal (size (evrnd (ones (2,1), 1)), [2, 1]) ***** assert_equal (size (evrnd (ones (2,2), 1)), [2, 2]) ***** assert_equal (size (evrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (evrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (evrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (evrnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (evrnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (evrnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (evrnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (evrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (evrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (evrnd (1, 1)), "double") ***** assert_equal (class (evrnd (1, single (1))), "single") ***** assert_equal (class (evrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (evrnd (single (1), 1)), "single") ***** assert_equal (class (evrnd (single ([1, 1]), 1)), "single") ***** error evrnd () ***** error evrnd (1) ***** error ... evrnd (ones (3), ones (2)) ***** error ... evrnd (ones (2), ones (3)) ***** error evrnd (i, 2, 3) ***** error evrnd (1, i, 3) ***** error ... evrnd (1, 2, -1) ***** error ... evrnd (1, 2, 1.2) ***** error ... evrnd (1, 2, ones (2)) ***** error ... evrnd (1, 2, [2 -1 2]) ***** error ... evrnd (1, 2, [2 0 2.5]) ***** error ... evrnd (1, 2, 2, -1, 5) ***** error ... evrnd (1, 2, 2, 1.5, 5) ***** error ... evrnd (2, ones (2), 3) ***** error ... evrnd (2, ones (2), [3, 2]) ***** error ... evrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/invgpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/invgpdf.m ***** demo ## Plot various PDFs from the inverse Gaussian distribution x = 0:0.001:3; y1 = invgpdf (x, 1, 0.2); y2 = invgpdf (x, 1, 1); y3 = invgpdf (x, 1, 3); y4 = invgpdf (x, 3, 0.2); y5 = invgpdf (x, 3, 1); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c', x, y5, '-y') grid on xlim ([0, 3]) ylim ([0, 3]) legend ({'μ = 1, σ = 0.2', 'μ = 1, σ = 1', 'μ = 1, σ = 3', ... 'μ = 3, σ = 0.2', 'μ = 3, σ = 1'}, 'location', 'northeast') title ('Inverse Gaussian PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-Inf, -1, 0, 1/2, 1, Inf]; y = [0, 0, 0, 0.8788, 0.3989, 0]; ***** assert_equal (invgpdf ([x, NaN], 1, 1), [y, NaN], 1e-4) ***** assert_equal (invgpdf (x, 1, [-2, -1, 0, 1, 1, 1]), [nan(1,3), y([4:6])], 1e-4) ***** assert_equal (class (hncdf (single ([x, NaN]), 1, 1)), "single") ***** assert_equal (class (hncdf ([x, NaN], 1, single (1))), "single") ***** assert_equal (class (hncdf ([x, NaN], single (1), 1)), "single") ***** error invgpdf () ***** error invgpdf (1) ***** error invgpdf (1, 2) ***** error ... invgpdf (1, ones (2), ones (3)) ***** error ... invgpdf (ones (2), 1, ones (3)) ***** error ... invgpdf (ones (2), ones (3), 1) ***** error invgpdf (i, 2, 3) ***** error invgpdf (1, i, 3) ***** error invgpdf (1, 2, i) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/dist_fun/expinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/expinv.m ***** demo ## Plot various iCDFs from the exponential distribution p = 0.001:0.001:0.999; x1 = expinv (p, 2/3); x2 = expinv (p, 1.0); x3 = expinv (p, 2.0); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r') grid on ylim ([0, 5]) legend ({'μ = 2/3', 'μ = 1', 'μ = 2'}, 'location', 'northwest') title ('Exponential iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.3934693402873666 1 2]; ***** assert_equal (expinv (p, 2*ones (1,5)), [NaN 0 1 Inf NaN], eps) ***** assert_equal (expinv (p, 2), [NaN 0 1 Inf NaN], eps) ***** assert_equal (expinv (p, 2*[1 0 NaN 1 1]), [NaN NaN NaN Inf NaN], eps) ***** assert_equal (expinv ([p(1:2) NaN p(4:5)], 2), [NaN 0 NaN Inf NaN], eps) ***** assert_equal (expinv ([p, NaN], 2), [NaN 0 1 Inf NaN NaN], eps) ***** assert_equal (expinv (single ([p, NaN]), 2), single ([NaN 0 1 Inf NaN NaN]), eps) ***** assert_equal (expinv ([p, NaN], single (2)), single ([NaN 0 1 Inf NaN NaN]), eps) ***** error expinv () ***** error expinv (1, 2 ,3 ,4 ,5) ***** error ... expinv (ones (3), ones (2)) ***** error ... expinv (2, 3, [1, 2]) ***** error ... [x, xlo, xup] = expinv (1, 2) ***** error [x, xlo, xup] = ... expinv (1, 2, 3, 0) ***** error [x, xlo, xup] = ... expinv (1, 2, 3, 1.22) ***** error [x, xlo, xup] = ... expinv (1, 2, 3, [0.05, 0.1]) ***** error expinv (i, 2) ***** error expinv (2, i) ***** error ... [x, xlo, xup] = expinv (1, 2, -1, 0.04) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/dist_fun/ncx2inv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/ncx2inv.m ***** demo ## Plot various iCDFs from the noncentral chi-squared distribution p = 0.001:0.001:0.999; x1 = ncx2inv (p, 2, 1); x2 = ncx2inv (p, 2, 2); x3 = ncx2inv (p, 2, 3); x4 = ncx2inv (p, 4, 1); x5 = ncx2inv (p, 4, 2); x6 = ncx2inv (p, 4, 3); plot (p, x1, '-r', p, x2, '-g', p, x3, '-k', ... p, x4, '-m', p, x5, '-c', p, x6, '-y') grid on ylim ([0, 10]) legend ({'df = 2, λ = 1', 'df = 2, λ = 2', ... 'df = 2, λ = 3', 'df = 4, λ = 1', ... 'df = 4, λ = 2', 'df = 4, λ = 3'}, 'location', 'northwest') title ('Noncentral chi-squared iCDF') xlabel ('probability') ylabel ('values in x') ***** demo ## Compare the noncentral chi-squared CDF with LAMBDA = 2 to the ## chi-squared CDF with the same number of degrees of freedom (4). p = 0.001:0.001:0.999; x1 = ncx2inv (p, 4, 2); x2 = chi2inv (p, 4); plot (p, x1, '-', p, x2, '-'); grid on ylim ([0, 10]) legend ({'Noncentral χ^2(4,2)', 'χ^2(4)'}, 'location', 'northwest') title ('Noncentral chi-squared vs chi-squared quantile functions') xlabel ('probability') ylabel ('values in x') ***** test x = [0,0.3443,0.7226,1.1440,1.6220,2.1770,2.8436,3.6854,4.8447,6.7701,Inf]; assert_equal (ncx2inv ([0:0.1:1], 2, 1), x, 1e-4); ***** test x = [0,0.8295,1.6001,2.3708,3.1785,4.0598,5.0644,6.2765,7.8763,10.4199,Inf]; assert_equal (ncx2inv ([0:0.1:1], 2, 3), x, 1e-4); ***** test x = [0,0.5417,1.3483,2.1796,3.0516,4.0003,5.0777,6.3726,8.0748,10.7686,Inf]; assert_equal (ncx2inv ([0:0.1:1], 1, 4), x, 1e-4); ***** test x = [0.1808, 0.6456, 1.1842, 1.7650, 2.3760, 3.0105]; assert_equal (ncx2inv (0.05, [1, 2, 3, 4, 5, 6], 4), x, 1e-4); ***** test x = [0.4887, 0.6699, 0.9012, 1.1842, 1.5164, 1.8927]; assert_equal (ncx2inv (0.05, 3, [1, 2, 3, 4, 5, 6]), x, 1e-4); ***** test x = [1.3941, 1.6824, 2.0103, 2.3760, NaN, 3.2087]; assert_equal (ncx2inv (0.05, 5, [1, 2, 3, 4, -1, 6]), x, 1e-4); ***** test assert_equal (ncx2inv (0.996, 5, 8), 35.51298862765576, 3e-13); ***** error ncx2inv () ***** error ncx2inv (1) ***** error ncx2inv (1, 2) ***** error ... ncx2inv (ones (3), ones (2), ones (2)) ***** error ... ncx2inv (ones (2), ones (3), ones (2)) ***** error ... ncx2inv (ones (2), ones (2), ones (3)) ***** error ncx2inv (i, 2, 2) ***** error ncx2inv (2, i, 2) ***** error ncx2inv (2, 2, i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fun/binocdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/binocdf.m ***** demo ## Plot various CDFs from the binomial distribution x = 0:40; p1 = binocdf (x, 20, 0.5); p2 = binocdf (x, 20, 0.7); p3 = binocdf (x, 40, 0.5); plot (x, p1, '*b', x, p2, '*g', x, p3, '*r') grid on legend ({'n = 20, ps = 0.5', 'n = 20, ps = 0.7', ... 'n = 40, ps = 0.5'}, 'location', 'southeast') title ('Binomial CDF') xlabel ('values in x (number of successes)') ylabel ('probability') ***** shared x, p, p1 x = [-1 0 1 2 3]; p = [0 1/4 3/4 1 1]; p1 = 1 - p; ***** assert_equal (binocdf (x, 2 * ones (1, 5), 0.5 * ones (1, 5)), p, eps) ***** assert_equal (binocdf (x, 2, 0.5 * ones (1, 5)), p, eps) ***** assert_equal (binocdf (x, 2 * ones (1, 5), 0.5), p, eps) ***** assert_equal (binocdf (x, 2 * [0 -1 NaN 1.1 1], 0.5), [0 NaN NaN NaN 1]) ***** assert_equal (binocdf (x, 2, 0.5 * [0 -1 NaN 3 1]), [0 NaN NaN NaN 1]) ***** assert_equal (binocdf ([x(1:2) NaN x(4:5)], 2, 0.5), [p(1:2) NaN p(4:5)], eps) ***** assert_equal (binocdf (99, 100, 0.1, 'upper'), 1e-100, 1e-112); ***** assert_equal (binocdf (x, 2 * ones (1, 5), 0.5*ones (1,5), 'upper'), p1, eps) ***** assert_equal (binocdf (x, 2, 0.5 * ones (1, 5), 'upper'), p1, eps) ***** assert_equal (binocdf (x, 2 * ones (1, 5), 0.5, 'upper'), p1, eps) ***** assert_equal (binocdf (x, 2 * [0 -1 NaN 1.1 1], 0.5, 'upper'), [1 NaN NaN NaN 0]) ***** assert_equal (binocdf (x, 2, 0.5 * [0 -1 NaN 3 1], 'upper'), [1 NaN NaN NaN 0]) ***** assert_equal (binocdf ([x(1:2) NaN x(4:5)], 2, 0.5, 'upper'), [p1(1:2) NaN p1(4:5)]) ***** assert_equal (binocdf ([x, NaN], 2, 0.5), [p, NaN], eps) ***** assert_equal (binocdf (single ([x, NaN]), 2, 0.5), single ([p, NaN])) ***** assert_equal (binocdf ([x, NaN], single (2), 0.5), single ([p, NaN])) ***** assert_equal (binocdf ([x, NaN], 2, single (0.5)), single ([p, NaN])) ***** error binocdf () ***** error binocdf (1) ***** error binocdf (1, 2) ***** error binocdf (1, 2, 3, 4, 5) ***** error binocdf (1, 2, 3, 'tail') ***** error binocdf (1, 2, 3, 4) ***** error ... binocdf (ones (3), ones (2), ones (2)) ***** error ... binocdf (ones (2), ones (3), ones (2)) ***** error ... binocdf (ones (2), ones (2), ones (3)) ***** error binocdf (i, 2, 2) ***** error binocdf (2, i, 2) ***** error binocdf (2, 2, i) 29 tests, 29 passed, 0 known failure, 0 skipped [inst/dist_fun/vmpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/vmpdf.m ***** demo ## Plot various PDFs from the von Mises distribution x1 = [-pi:0.1:pi]; y1 = vmpdf (x1, 0, 0.5); y2 = vmpdf (x1, 0, 1); y3 = vmpdf (x1, 0, 2); y4 = vmpdf (x1, 0, 4); plot (x1, y1, '-r', x1, y2, '-g', x1, y3, '-b', x1, y4, '-c') grid on xlim ([-pi, pi]) ylim ([0, 0.8]) legend ({'μ = 0, k = 0.5', 'μ = 0, k = 1', ... 'μ = 0, k = 2', 'μ = 0, k = 4'}, 'location', 'northwest') title ('Von Mises PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y0, y1 x = [-pi:pi/2:pi]; y0 = [0.046245, 0.125708, 0.341710, 0.125708, 0.046245]; y1 = [0.046245, 0.069817, 0.654958, 0.014082, 0.000039]; ***** assert_equal (vmpdf (x, 0, 1), y0, 1e-5) ***** assert_equal (vmpdf (x, zeros (1,5), ones (1,5)), y0, 1e-6) ***** assert_equal (vmpdf (x, 0, [1 2 3 4 5]), y1, 1e-6) ***** assert_equal (isa (vmpdf (single (pi), 0, 1), 'single'), true) ***** assert_equal (isa (vmpdf (pi, single (0), 1), 'single'), true) ***** assert_equal (isa (vmpdf (pi, 0, single (1)), 'single'), true) ***** error vmpdf () ***** error vmpdf (1) ***** error vmpdf (1, 2) ***** error ... vmpdf (ones (3), ones (2), ones (2)) ***** error ... vmpdf (ones (2), ones (3), ones (2)) ***** error ... vmpdf (ones (2), ones (2), ones (3)) ***** error vmpdf (i, 2, 2) ***** error vmpdf (2, i, 2) ***** error vmpdf (2, 2, i) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fun/gprnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gprnd.m ***** assert_equal (size (gprnd (0, 1, 0)), [1, 1]) ***** assert_equal (size (gprnd (0, 1, zeros (2,1))), [2, 1]) ***** assert_equal (size (gprnd (0, 1, zeros (2,2))), [2, 2]) ***** assert_equal (size (gprnd (0, ones (2,1), 0)), [2, 1]) ***** assert_equal (size (gprnd (0, ones (2,2), 0)), [2, 2]) ***** assert_equal (size (gprnd (zeros (2,1), 1, 0)), [2, 1]) ***** assert_equal (size (gprnd (zeros (2,2), 1, 0)), [2, 2]) ***** assert_equal (size (gprnd (0, 1, 0, 3)), [3, 3]) ***** assert_equal (size (gprnd (0, 1, 0, [4 1])), [4, 1]) ***** assert_equal (size (gprnd (0, 1, 0, 4, 1)), [4, 1]) ***** assert_equal (size (gprnd (1,1,0)), [1, 1]) ***** assert_equal (size (gprnd (1, 1, zeros (2,1))), [2, 1]) ***** assert_equal (size (gprnd (1, 1, zeros (2,2))), [2, 2]) ***** assert_equal (size (gprnd (1, ones (2,1), 0)), [2, 1]) ***** assert_equal (size (gprnd (1, ones (2,2), 0)), [2, 2]) ***** assert_equal (size (gprnd (ones (2,1), 1, 0)), [2, 1]) ***** assert_equal (size (gprnd (ones (2,2), 1, 0)), [2, 2]) ***** assert_equal (size (gprnd (1, 1, 0, 3)), [3, 3]) ***** assert_equal (size (gprnd (1, 1, 0, [4 1])), [4, 1]) ***** assert_equal (size (gprnd (1, 1, 0, 4, 1)), [4, 1]) ***** assert_equal (size (gprnd (-1, 1, 0)), [1, 1]) ***** assert_equal (size (gprnd (-1, 1, zeros (2,1))), [2, 1]) ***** assert_equal (size (gprnd (1, -1, zeros (2,2))), [2, 2]) ***** assert_equal (size (gprnd (-1, ones (2,1), 0)), [2, 1]) ***** assert_equal (size (gprnd (-1, ones (2,2), 0)), [2, 2]) ***** assert_equal (size (gprnd (-ones (2,1), 1, 0)), [2, 1]) ***** assert_equal (size (gprnd (-ones (2,2), 1, 0)), [2, 2]) ***** assert_equal (size (gprnd (-1, 1, 0, 3)), [3, 3]) ***** assert_equal (size (gprnd (-1, 1, 0, [4, 1])), [4, 1]) ***** assert_equal (size (gprnd (-1, 1, 0, 4, 1)), [4, 1]) ***** assert_equal (size (gprnd (-1, 1, 0, [])), [0, 0]) ***** assert_equal (size (gprnd (-1, 1, 0, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (gprnd (0, 1, 0)), "double") ***** assert_equal (class (gprnd (0, 1, single (0))), "single") ***** assert_equal (class (gprnd (0, 1, single ([0, 0]))), "single") ***** assert_equal (class (gprnd (0, single (1),0)), "single") ***** assert_equal (class (gprnd (0, single ([1, 1]),0)), "single") ***** assert_equal (class (gprnd (single (0), 1, 0)), "single") ***** assert_equal (class (gprnd (single ([0, 0]), 1, 0)), "single") ***** error gprnd () ***** error gprnd (1) ***** error gprnd (1, 2) ***** error ... gprnd (ones (3), ones (2), ones (2)) ***** error ... gprnd (ones (2), ones (3), ones (2)) ***** error ... gprnd (ones (2), ones (2), ones (3)) ***** error gprnd (i, 2, 3) ***** error gprnd (1, i, 3) ***** error gprnd (1, 2, i) ***** error ... gprnd (1, 2, 3, -1) ***** error ... gprnd (1, 2, 3, 1.2) ***** error ... gprnd (1, 2, 3, ones (2)) ***** error ... gprnd (1, 2, 3, [2 -1 2]) ***** error ... gprnd (1, 2, 3, [2 0 2.5]) ***** error ... gprnd (1, 2, 3, 2, -1, 5) ***** error ... gprnd (1, 2, 3, 2, 1.5, 5) ***** error ... gprnd (2, ones (2), 2, 3) ***** error ... gprnd (2, ones (2), 2, [3, 2]) ***** error ... gprnd (2, ones (2), 2, 3, 2) 58 tests, 58 passed, 0 known failure, 0 skipped [inst/dist_fun/triinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/triinv.m ***** demo ## Plot various iCDFs from the triangular distribution p = 0.001:0.001:0.999; x1 = triinv (p, 3, 6, 4); x2 = triinv (p, 1, 5, 2); x3 = triinv (p, 2, 9, 3); x4 = triinv (p, 2, 9, 5); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c') grid on ylim ([0, 10]) legend ({'a = 3, b = 6, c = 4', 'a = 1, b = 5, c = 2', ... 'a = 2, b = 9, c = 3', 'a = 2, b = 9, c = 5'}, ... 'location', 'northwest') title ('Triangular CDF') xlabel ('probability') ylabel ('values in x') ***** shared p, y p = [-1, 0, 0.02, 0.5, 0.98, 1, 2]; y = [NaN, 0, 0.1, 0.5, 0.9, 1, NaN] + 1; ***** assert_equal (triinv (p, ones (1, 7), 1.5 * ones (1, 7), 2 * ones (1, 7)), y, eps) ***** assert_equal (triinv (p, 1 * ones (1, 7), 1.5, 2), y, eps) ***** assert_equal (triinv (p, 1, 1.5, 2 * ones (1, 7)), y, eps) ***** assert_equal (triinv (p, 1, 1.5*ones (1,7), 2), y, eps) ***** assert_equal (triinv (p, 1, 1.5, 2), y, eps) ***** assert_equal (triinv (p, [1, 1, NaN, 1, 1, 1, 1], 1.5, 2), [y(1:2), NaN, y(4:7)], eps) ***** assert_equal (triinv (p, 1, 1.5 * [1, 1, NaN, 1, 1, 1, 1], 2), [y(1:2), NaN, y(4:7)], eps) ***** assert_equal (triinv (p, 1, 1.5, 2 * [1, 1, NaN, 1, 1, 1, 1]), [y(1:2), NaN, y(4:7)], eps) ***** assert_equal (triinv ([p, NaN], 1, 1.5, 2), [y, NaN], eps) ***** assert_equal (triinv (single ([p, NaN]), 1, 1.5, 2), single ([y, NaN]), eps ('single')) ***** assert_equal (triinv ([p, NaN], single (1), 1.5, 2), single ([y, NaN]), eps ('single')) ***** assert_equal (triinv ([p, NaN], 1, single (1.5), 2), single ([y, NaN]), eps ('single')) ***** assert_equal (triinv ([p, NaN], 1, 1.5, single (2)), single ([y, NaN]), eps ('single')) ***** error triinv () ***** error triinv (1) ***** error triinv (1, 2) ***** error triinv (1, 2, 3) ***** error ... triinv (1, 2, 3, 4, 5) ***** error ... triinv (ones (3), ones (2), ones (2), ones (2)) ***** error ... triinv (ones (2), ones (3), ones (2), ones (2)) ***** error ... triinv (ones (2), ones (2), ones (3), ones (2)) ***** error ... triinv (ones (2), ones (2), ones (2), ones (3)) ***** error triinv (i, 2, 3, 4) ***** error triinv (1, i, 3, 4) ***** error triinv (1, 2, i, 4) ***** error triinv (1, 2, 3, i) 26 tests, 26 passed, 0 known failure, 0 skipped [inst/dist_fun/nctinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nctinv.m ***** demo ## Plot various iCDFs from the noncentral T distribution p = 0.001:0.001:0.999; x1 = nctinv (p, 1, 0); x2 = nctinv (p, 4, 0); x3 = nctinv (p, 1, 2); x4 = nctinv (p, 4, 2); plot (p, x1, '-r', p, x2, '-g', p, x3, '-k', p, x4, '-m') grid on ylim ([-5, 5]) legend ({'df = 1, μ = 0', 'df = 4, μ = 0', ... 'df = 1, μ = 2', 'df = 4, μ = 2'}, 'location', 'northwest') title ('Noncentral T iCDF') xlabel ('probability') ylabel ('values in x') ***** demo ## Compare the noncentral T iCDF with MU = 1 to the T iCDF ## with the same number of degrees of freedom (10). p = 0.001:0.001:0.999; x1 = nctinv (p, 10, 1); x2 = tinv (p, 10); plot (p, x1, '-', p, x2, '-'); grid on ylim ([-5, 5]) legend ({'Noncentral T(10,1)', 'T(10)'}, 'location', 'northwest') title ('Noncentral T vs T quantile functions') xlabel ('probability') ylabel ('values in x') ***** test x = [-Inf,-0.3347,0.1756,0.5209,0.8279,1.1424,1.5021,1.9633,2.6571,4.0845,Inf]; assert_equal (nctinv ([0:0.1:1], 2, 1), x, 1e-4); ***** test x = [-Inf,1.5756,2.0827,2.5343,3.0043,3.5406,4.2050,5.1128,6.5510,9.6442,Inf]; assert_equal (nctinv ([0:0.1:1], 2, 3), x, 1e-4); ***** test x = [-Inf,2.2167,2.9567,3.7276,4.6464,5.8455,7.5619,10.3327,15.7569,31.8159,Inf]; assert_equal (nctinv ([0:0.1:1], 1, 4), x, 1e-4); ***** test x = [1.7791 1.9368 2.0239 2.0801 2.1195 2.1489]; assert_equal (nctinv (0.05, [1, 2, 3, 4, 5, 6], 4), x, 1e-4); ***** test x = [-0.7755, 0.3670, 1.2554, 2.0239, 2.7348, 3.4154]; assert_equal (nctinv (0.05, 3, [1, 2, 3, 4, 5, 6]), x, 1e-4); ***** test x = [-0.7183, 0.3624, 1.2878, 2.1195, -3.5413, 3.6430]; assert_equal (nctinv (0.05, 5, [1, 2, 3, 4, -1, 6]), x, 1e-4); ***** test assert_equal (nctinv (0.996, 5, 8), 30.02610554063658, 2e-11); ***** error nctinv () ***** error nctinv (1) ***** error nctinv (1, 2) ***** error ... nctinv (ones (3), ones (2), ones (2)) ***** error ... nctinv (ones (2), ones (3), ones (2)) ***** error ... nctinv (ones (2), ones (2), ones (3)) ***** error nctinv (i, 2, 2) ***** error nctinv (2, i, 2) ***** error nctinv (2, 2, i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fun/wishpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/wishpdf.m ***** assert_equal (wishpdf (4, 3, 3.1), 0.07702496, 1E-7); ***** assert_equal (wishpdf ([2 -0.3;-0.3 4], [1 0.3;0.3 1], 4), 0.004529741, 1E-7); ***** assert_equal (wishpdf ([6 2 5; 2 10 -5; 5 -5 25], [9 5 5; 5 10 -8; 5 -8 22], 5.1), 4.474865e-10, 1E-15); ***** error wishpdf () ***** error wishpdf (1, 2) ***** error wishpdf (1, 2, 0) ***** error wishpdf (1, 2) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/dist_fun/laplaceinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/laplaceinv.m ***** demo ## Plot various iCDFs from the Laplace distribution p = 0.001:0.001:0.999; x1 = cauchyinv (p, 0, 1); x2 = cauchyinv (p, 0, 2); x3 = cauchyinv (p, 0, 4); x4 = cauchyinv (p, -5, 4); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c') grid on ylim ([-10, 10]) legend ({'μ = 0, β = 1', 'μ = 0, β = 2', ... 'μ = 0, β = 4', 'μ = -5, β = 4'}, 'location', 'northwest') title ('Laplace iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p, x p = [-1 0 0.5 1 2]; x = [NaN, -Inf, 0, Inf, NaN]; ***** assert_equal (laplaceinv (p, 0, 1), x) ***** assert_equal (laplaceinv (p, 0, [-2, -1, 0, 1, 2]), [nan(1, 3), Inf, NaN]) ***** assert_equal (laplaceinv ([p, NaN], 0, 1), [x, NaN]) ***** assert_equal (laplaceinv (single ([p, NaN]), 0, 1), single ([x, NaN])) ***** assert_equal (laplaceinv ([p, NaN], single (0), 1), single ([x, NaN])) ***** assert_equal (laplaceinv ([p, NaN], 0, single (1)), single ([x, NaN])) ***** error laplaceinv () ***** error laplaceinv (1) ***** error ... laplaceinv (1, 2) ***** error laplaceinv (1, 2, 3, 4) ***** error ... laplaceinv (1, ones (2), ones (3)) ***** error ... laplaceinv (ones (2), 1, ones (3)) ***** error ... laplaceinv (ones (2), ones (3), 1) ***** error laplaceinv (i, 2, 3) ***** error laplaceinv (1, i, 3) ***** error laplaceinv (1, 2, i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fun/laplacecdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/laplacecdf.m ***** demo ## Plot various CDFs from the Laplace distribution x = -10:0.01:10; p1 = laplacecdf (x, 0, 1); p2 = laplacecdf (x, 0, 2); p3 = laplacecdf (x, 0, 4); p4 = laplacecdf (x, -5, 4); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c') grid on xlim ([-10, 10]) legend ({'μ = 0, β = 1', 'μ = 0, β = 2', ... 'μ = 0, β = 4', 'μ = -5, β = 4'}, 'location', 'southeast') title ('Laplace CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-Inf, -log(2), 0, log(2), Inf]; y = [0, 1/4, 1/2, 3/4, 1]; ***** assert_equal (laplacecdf ([x, NaN], 0, 1), [y, NaN]) ***** assert_equal (laplacecdf (x, 0, [-2, -1, 0, 1, 2]), [nan(1, 3), 0.75, 1]) ***** assert_equal (laplacecdf (single ([x, NaN]), 0, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (laplacecdf ([x, NaN], single (0), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (laplacecdf ([x, NaN], 0, single (1)), single ([y, NaN]), eps ('single')) ***** error laplacecdf () ***** error laplacecdf (1) ***** error ... laplacecdf (1, 2) ***** error ... laplacecdf (1, 2, 3, 4, 5) ***** error laplacecdf (1, 2, 3, 'tail') ***** error laplacecdf (1, 2, 3, 4) ***** error ... laplacecdf (ones (3), ones (2), ones (2)) ***** error ... laplacecdf (ones (2), ones (3), ones (2)) ***** error ... laplacecdf (ones (2), ones (2), ones (3)) ***** error laplacecdf (i, 2, 2) ***** error laplacecdf (2, i, 2) ***** error laplacecdf (2, 2, i) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/dist_fun/mnpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/mnpdf.m ***** test x = [1, 4, 2]; pk = [0.2, 0.5, 0.3]; y = mnpdf (x, pk); assert_equal (y, 0.11812, 0.001); ***** test x = [1, 4, 2; 1, 0, 9]; pk = [0.2, 0.5, 0.3; 0.1, 0.1, 0.8]; y = mnpdf (x, pk); assert_equal (y, [0.11812; 0.13422], 0.001); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/dist_fun/poissrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/poissrnd.m ***** assert_equal (size (poissrnd (2)), [1, 1]) ***** assert_equal (size (poissrnd (ones (2, 1))), [2, 1]) ***** assert_equal (size (poissrnd (ones (2, 2))), [2, 2]) ***** assert_equal (size (poissrnd (1, 3)), [3, 3]) ***** assert_equal (size (poissrnd (1, [4, 1])), [4, 1]) ***** assert_equal (size (poissrnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (poissrnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (poissrnd (1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (poissrnd (1, 0, 1)), [0, 1]) ***** assert_equal (size (poissrnd (1, 1, 0)), [1, 0]) ***** assert_equal (size (poissrnd (1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (poissrnd (1, [])), [0, 0]) ***** assert_equal (size (poissrnd (1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (poissrnd (0, 1, 1), 0) ***** assert_equal (poissrnd ([0, 0, 0], [1, 3]), [0 0 0]) ***** assert_equal (class (poissrnd (2)), "double") ***** assert_equal (class (poissrnd (single (2))), "single") ***** assert_equal (class (poissrnd (single ([2 2]))), "single") ***** error poissrnd () ***** error poissrnd (i) ***** error ... poissrnd (1, -1) ***** error ... poissrnd (1, 1.2) ***** error ... poissrnd (1, ones (2)) ***** error ... poissrnd (1, [2 -1 2]) ***** error ... poissrnd (1, [2 0 2.5]) ***** error ... poissrnd (ones (2), ones (2)) ***** error ... poissrnd (1, 2, -1, 5) ***** error ... poissrnd (1, 2, 1.5, 5) ***** error poissrnd (ones (2,2), 3) ***** error poissrnd (ones (2,2), [3, 2]) ***** error poissrnd (ones (2,2), 2, 3) 31 tests, 31 passed, 0 known failure, 0 skipped [inst/dist_fun/finv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/finv.m ***** demo ## Plot various iCDFs from the F distribution p = 0.001:0.001:0.999; x1 = finv (p, 1, 1); x2 = finv (p, 2, 1); x3 = finv (p, 5, 2); x4 = finv (p, 10, 1); x5 = finv (p, 100, 100); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c', p, x5, '-m') grid on ylim ([0, 4]) legend ({'df1 = 1, df2 = 2', 'df1 = 2, df2 = 1', ... 'df1 = 5, df2 = 2', 'df1 = 10, df2 = 1', ... 'df1 = 100, df2 = 100'}, 'location', 'northwest') title ('F iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (finv (p, 2*ones (1,5), 2*ones (1,5)), [NaN 0 1 Inf NaN]) ***** assert_equal (finv (p, 2, 2*ones (1,5)), [NaN 0 1 Inf NaN]) ***** assert_equal (finv (p, 2*ones (1,5), 2), [NaN 0 1 Inf NaN]) ***** assert_equal (finv (p, [2 -Inf NaN Inf 2], 2), [NaN NaN NaN Inf NaN]) ***** assert_equal (finv (p, 2, [2 -Inf NaN Inf 2]), [NaN NaN NaN Inf NaN]) ***** assert_equal (finv ([p(1:2) NaN p(4:5)], 2, 2), [NaN 0 NaN Inf NaN]) ***** assert_equal (finv (0.025, 10, 1e6), 0.3247, 1e-4) ***** assert_equal (finv (0.025, 10, 1e7), 0.3247, 1e-4) ***** assert_equal (finv (0.025, 10, 1e10), 0.3247, 1e-4) ***** assert_equal (finv (0.025, 10, 1e255), 0.3247, 1e-4) ***** assert_equal (finv (0.025, 10, Inf), 0.3247, 1e-4) ***** test x = finv (0.35, Inf, 4); assert_equal (x, 0.9014, 1e-4) ***** test x = finv (0, Inf, 4); assert_equal (x, 0) ***** test x = finv (1, Inf, 4); assert_equal (x, Inf) ***** test x = finv (0.35, 4, Inf); assert_equal (x, 0.6175, 1e-4) ***** test x = finv (0, 4, Inf); assert_equal (x, 0) ***** test x = finv (1, 4, Inf); assert_equal (x, Inf) ***** test x = finv ([0, 0.000001, 0.35, 1, 1.2], Inf, Inf); assert_equal (x, [0, 1, 1, 1, NaN]); ***** assert_equal (finv ([p, NaN], 2, 2), [NaN 0 1 Inf NaN NaN]) ***** assert_equal (finv (single ([p, NaN]), 2, 2), single ([NaN 0 1 Inf NaN NaN])) ***** assert_equal (finv ([p, NaN], single (2), 2), single ([NaN 0 1 Inf NaN NaN])) ***** assert_equal (finv ([p, NaN], 2, single (2)), single ([NaN 0 1 Inf NaN NaN])) ***** error finv () ***** error finv (1) ***** error finv (1,2) ***** error ... finv (ones (3), ones (2), ones (2)) ***** error ... finv (ones (2), ones (3), ones (2)) ***** error ... finv (ones (2), ones (2), ones (3)) ***** error finv (i, 2, 2) ***** error finv (2, i, 2) ***** error finv (2, 2, i) 31 tests, 31 passed, 0 known failure, 0 skipped [inst/dist_fun/wblrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/wblrnd.m ***** assert_equal (size (wblrnd (1, 1)), [1, 1]) ***** assert_equal (size (wblrnd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (wblrnd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (wblrnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (wblrnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (wblrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (wblrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (wblrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (wblrnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (wblrnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (wblrnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (wblrnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (wblrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (wblrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (wblrnd (1, 1)), "double") ***** assert_equal (class (wblrnd (1, single (1))), "single") ***** assert_equal (class (wblrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (wblrnd (single (1), 1)), "single") ***** assert_equal (class (wblrnd (single ([1, 1]), 1)), "single") ***** error wblrnd () ***** error wblrnd (1) ***** error ... wblrnd (ones (3), ones (2)) ***** error ... wblrnd (ones (2), ones (3)) ***** error wblrnd (i, 2, 3) ***** error wblrnd (1, i, 3) ***** error ... wblrnd (1, 2, -1) ***** error ... wblrnd (1, 2, 1.2) ***** error ... wblrnd (1, 2, ones (2)) ***** error ... wblrnd (1, 2, [2 -1 2]) ***** error ... wblrnd (1, 2, [2 0 2.5]) ***** error ... wblrnd (1, 2, 2, -1, 5) ***** error ... wblrnd (1, 2, 2, 1.5, 5) ***** error ... wblrnd (2, ones (2), 3) ***** error ... wblrnd (2, ones (2), [3, 2]) ***** error ... wblrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/gumbelrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gumbelrnd.m ***** assert_equal (size (gumbelrnd (1, 1)), [1 1]) ***** assert_equal (size (gumbelrnd (1, ones (2,1))), [2, 1]) ***** assert_equal (size (gumbelrnd (1, ones (2,2))), [2, 2]) ***** assert_equal (size (gumbelrnd (ones (2,1), 1)), [2, 1]) ***** assert_equal (size (gumbelrnd (ones (2,2), 1)), [2, 2]) ***** assert_equal (size (gumbelrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (gumbelrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (gumbelrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (gumbelrnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (gumbelrnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (gumbelrnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (gumbelrnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (gumbelrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (gumbelrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (gumbelrnd (1, 1)), "double") ***** assert_equal (class (gumbelrnd (1, single (1))), "single") ***** assert_equal (class (gumbelrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (gumbelrnd (single (1), 1)), "single") ***** assert_equal (class (gumbelrnd (single ([1, 1]), 1)), "single") ***** error gumbelrnd () ***** error gumbelrnd (1) ***** error ... gumbelrnd (ones (3), ones (2)) ***** error ... gumbelrnd (ones (2), ones (3)) ***** error gumbelrnd (i, 2, 3) ***** error gumbelrnd (1, i, 3) ***** error ... gumbelrnd (1, 2, -1) ***** error ... gumbelrnd (1, 2, 1.2) ***** error ... gumbelrnd (1, 2, ones (2)) ***** error ... gumbelrnd (1, 2, [2 -1 2]) ***** error ... gumbelrnd (1, 2, [2 0 2.5]) ***** error ... gumbelrnd (1, 2, 2, -1, 5) ***** error ... gumbelrnd (1, 2, 2, 1.5, 5) ***** error ... gumbelrnd (2, ones (2), 3) ***** error ... gumbelrnd (2, ones (2), [3, 2]) ***** error ... gumbelrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/wienrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/wienrnd.m ***** error wienrnd (0) ***** error wienrnd (1, 3, -50) ***** error wienrnd (5, 0) ***** error wienrnd (0.4, 3, 5) ***** error wienrnd ([1 4], 3, 5) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/dist_fun/chi2rnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/chi2rnd.m ***** assert_equal (size (chi2rnd (2)), [1, 1]) ***** assert_equal (size (chi2rnd (ones (2,1))), [2, 1]) ***** assert_equal (size (chi2rnd (ones (2,2))), [2, 2]) ***** assert_equal (size (chi2rnd (1, 3)), [3, 3]) ***** assert_equal (size (chi2rnd (1, [4, 1])), [4, 1]) ***** assert_equal (size (chi2rnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (chi2rnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (chi2rnd (1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (chi2rnd (1, 0, 1)), [0, 1]) ***** assert_equal (size (chi2rnd (1, 1, 0)), [1, 0]) ***** assert_equal (size (chi2rnd (1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (chi2rnd (1, [])), [0, 0]) ***** assert_equal (size (chi2rnd (1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (chi2rnd (2)), "double") ***** assert_equal (class (chi2rnd (single (2))), "single") ***** assert_equal (class (chi2rnd (single ([2 2]))), "single") ***** error chi2rnd () ***** error chi2rnd (i) ***** error ... chi2rnd (1, -1) ***** error ... chi2rnd (1, 1.2) ***** error ... chi2rnd (1, ones (2)) ***** error ... chi2rnd (1, [2 -1 2]) ***** error ... chi2rnd (1, [2 0 2.5]) ***** error ... chi2rnd (ones (2), ones (2)) ***** error ... chi2rnd (1, 2, -1, 5) ***** error ... chi2rnd (1, 2, 1.5, 5) ***** error chi2rnd (ones (2,2), 3) ***** error chi2rnd (ones (2,2), [3, 2]) ***** error chi2rnd (ones (2,2), 2, 3) 29 tests, 29 passed, 0 known failure, 0 skipped [inst/dist_fun/geornd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/geornd.m ***** assert_equal (size (geornd (0.5)), [1, 1]) ***** assert_equal (size (geornd (0.5*ones (2,1))), [2, 1]) ***** assert_equal (size (geornd (0.5*ones (2,2))), [2, 2]) ***** assert_equal (size (geornd (0.5, 3)), [3, 3]) ***** assert_equal (size (geornd (0.5, [4 1])), [4, 1]) ***** assert_equal (size (geornd (0.5, 4, 1)), [4, 1]) ***** assert_equal (size (geornd (0.5, [])), [0, 0]) ***** assert_equal (size (geornd (0.5, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (geornd (0.5)), "double") ***** assert_equal (class (geornd (single (0.5))), "single") ***** assert_equal (class (geornd (single ([0.5 0.5]))), "single") ***** assert_equal (class (geornd (single (0))), "single") ***** assert_equal (class (geornd (single (1))), "single") ***** error geornd () ***** error geornd (i) ***** error ... geornd (1, -1) ***** error ... geornd (1, 1.2) ***** error ... geornd (1, ones (2)) ***** error ... geornd (1, [2 -1 2]) ***** error ... geornd (1, [2 0 2.5]) ***** error ... geornd (ones (2), ones (2)) ***** error ... geornd (1, 2, -1, 5) ***** error ... geornd (1, 2, 1.5, 5) ***** error geornd (ones (2,2), 3) ***** error geornd (ones (2,2), [3, 2]) ***** error geornd (ones (2,2), 2, 3) 26 tests, 26 passed, 0 known failure, 0 skipped [inst/dist_fun/bisapdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/bisapdf.m ***** demo ## Plot various PDFs from the Birnbaum-Saunders distribution x = 0.01:0.01:4; y1 = bisapdf (x, 1, 0.5); y2 = bisapdf (x, 1, 1); y3 = bisapdf (x, 1, 2); y4 = bisapdf (x, 1, 5); y5 = bisapdf (x, 1, 10); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c', x, y5, '-m') grid on ylim ([0, 1.5]) legend ({'β = 1 ,γ = 0.5', 'β = 1, γ = 1', 'β = 1, γ = 2', ... 'β = 1, γ = 5', 'β = 1, γ = 10'}, 'location', 'northeast') title ('Birnbaum-Saunders PDF') xlabel ('values in x') ylabel ('density') ***** demo ## Plot various PDFs from the Birnbaum-Saunders distribution x = 0.01:0.01:6; y1 = bisapdf (x, 1, 0.3); y2 = bisapdf (x, 2, 0.3); y3 = bisapdf (x, 1, 0.5); y4 = bisapdf (x, 3, 0.5); y5 = bisapdf (x, 5, 0.5); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c', x, y5, '-m') grid on ylim ([0, 1.5]) legend ({'β = 1, γ = 0.3', 'β = 2, γ = 0.3', 'β = 1, γ = 0.5', ... 'β = 3, γ = 0.5', 'β = 5, γ = 0.5'}, 'location', 'northeast') title ('Birnbaum-Saunders CDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1, 0, 1, 2, Inf]; y = [0, 0, 0.3989422804014327, 0.1647717335503959, 0]; ***** assert_equal (bisapdf (x, ones (1,5), ones (1,5)), y, eps) ***** assert_equal (bisapdf (x, 1, 1), y, eps) ***** assert_equal (bisapdf (x, 1, ones (1,5)), y, eps) ***** assert_equal (bisapdf (x, ones (1,5), 1), y, eps) ***** assert_equal (bisapdf (x, 1, [1, 1, NaN, 1, 1]), [y(1:2), NaN, y(4:5)], eps) ***** assert_equal (bisapdf (x, [1, 1, NaN, 1, 1], 1), [y(1:2), NaN, y(4:5)], eps) ***** assert_equal (bisapdf ([x, NaN], 1, 1), [y, NaN], eps) ***** assert_equal (bisapdf (single ([x, NaN]), 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (bisapdf ([x, NaN], 1, single (1)), single ([y, NaN]), eps ('single')) ***** assert_equal (bisapdf ([x, NaN], single (1), 1), single ([y, NaN]), eps ('single')) ***** error bisapdf () ***** error bisapdf (1) ***** error bisapdf (1, 2) ***** error bisapdf (1, 2, 3, 4) ***** error ... bisapdf (ones (3), ones (2), ones (2)) ***** error ... bisapdf (ones (2), ones (3), ones (2)) ***** error ... bisapdf (ones (2), ones (2), ones (3)) ***** error bisapdf (i, 4, 3) ***** error bisapdf (1, i, 3) ***** error bisapdf (1, 4, i) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/dist_fun/bisarnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/bisarnd.m ***** assert_equal (size (bisarnd (1, 1)), [1 1]) ***** assert_equal (size (bisarnd (1, ones (2,1))), [2, 1]) ***** assert_equal (size (bisarnd (1, ones (2,2))), [2, 2]) ***** assert_equal (size (bisarnd (ones (2,1), 1)), [2, 1]) ***** assert_equal (size (bisarnd (ones (2,2), 1)), [2, 2]) ***** assert_equal (size (bisarnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (bisarnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (bisarnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (bisarnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (bisarnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (bisarnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (bisarnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (bisarnd (1, 1, [])), [0, 0]) ***** assert_equal (size (bisarnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (bisarnd (1, 1)), "double") ***** assert_equal (class (bisarnd (1, single (1))), "single") ***** assert_equal (class (bisarnd (1, single ([1, 1]))), "single") ***** assert_equal (class (bisarnd (single (1), 1)), "single") ***** assert_equal (class (bisarnd (single ([1, 1]), 1)), "single") ***** error bisarnd () ***** error bisarnd (1) ***** error ... bisarnd (ones (3), ones (2)) ***** error ... bisarnd (ones (2), ones (3)) ***** error bisarnd (i, 2, 3) ***** error bisarnd (1, i, 3) ***** error ... bisarnd (1, 2, -1) ***** error ... bisarnd (1, 2, 1.2) ***** error ... bisarnd (1, 2, ones (2)) ***** error ... bisarnd (1, 2, [2 -1 2]) ***** error ... bisarnd (1, 2, [2 0 2.5]) ***** error ... bisarnd (1, 2, 2, -1, 5) ***** error ... bisarnd (1, 2, 2, 1.5, 5) ***** error ... bisarnd (2, ones (2), 3) ***** error ... bisarnd (2, ones (2), [3, 2]) ***** error ... bisarnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/mvncdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/mvncdf.m ***** demo mu = [1, -1]; Sigma = [0.9, 0.4; 0.4, 0.3]; [X1, X2] = meshgrid (linspace (-1, 3, 25)', linspace (-3, 1, 25)'); X = [X1(:), X2(:)]; p = mvncdf (X, mu, Sigma); Z = reshape (p, 25, 25); surf (X1, X2, Z); title ('Bivariate Normal Distribution'); ylabel 'X1' xlabel 'X2' ***** demo mu = [0, 0]; Sigma = [0.25, 0.3; 0.3, 1]; p = mvncdf ([0 0], [1 1], mu, Sigma); x1 = -3:.2:3; x2 = -3:.2:3; [X1, X2] = meshgrid (x1, x2); X = [X1(:), X2(:)]; p = mvnpdf (X, mu, Sigma); p = reshape (p, length (x2), length (x1)); contour (x1, x2, p, [0.0001, 0.001, 0.01, 0.05, 0.15, 0.25, 0.35]); xlabel ('x'); ylabel ('p'); title ('Probability over Rectangular Region'); line ([0, 0, 1, 1, 0], [1, 0, 0, 1, 1], 'Linestyle', '--', 'Color', 'k'); ***** test fD = (-2:2)'; X = repmat (fD, 1, 4); p = mvncdf (X); assert_equal (p, [0; 0.0006; 0.0625; 0.5011; 0.9121], ones (5, 1) * 1e-4); ***** test mu = [1, -1]; Sigma = [0.9, 0.4; 0.4, 0.3]; [X1,X2] = meshgrid (linspace (-1, 3, 25)', linspace (-3, 1, 25)'); X = [X1(:), X2(:)]; p = mvncdf (X, mu, Sigma); p_out = [0.00011878988774500, 0.00034404112322371, ... 0.00087682502191813, 0.00195221905058185, ... 0.00378235566873474, 0.00638175749734415, ... 0.00943764224329656, 0.01239164888125426, ... 0.01472750274376648, 0.01623228313374828]'; assert_equal (p([1:10]), p_out, 1e-16); ***** test mu = [1, -1]; Sigma = [0.9, 0.4; 0.4, 0.3]; [X1,X2] = meshgrid (linspace (-1, 3, 25)', linspace (-3, 1, 25)'); X = [X1(:), X2(:)]; p = mvncdf (X, mu, Sigma); p_out = [0.8180695783608276, 0.8854485749482751, ... 0.9308108777385832, 0.9579855743025508, ... 0.9722897881414742, 0.9788150170059926, ... 0.9813597788804785, 0.9821977956568989, ... 0.9824283794464095, 0.9824809345614861]'; assert_equal (p([616:625]), p_out, 3e-16); ***** test mu = [0, 0]; Sigma = [0.25, 0.3; 0.3, 1]; [p, err] = mvncdf ([0, 0], [1, 1], mu, Sigma); assert_equal (p, 0.2097424404755626, 1e-16); assert_equal (err, 1e-08); ***** test x = [1 2]; mu = [0.5 1.5]; sigma = [1.0, 0.5; 0.5, 1.0]; p = mvncdf (x, mu, sigma); assert_equal (p, 0.546244443857090, 1e-15); ***** test x = [1 2]; mu = [0.5 1.5]; sigma = [1.0, 0.5; 0.5, 1.0]; a = [-inf 0]; p = mvncdf (a, x, mu, sigma); assert_equal (p, 0.482672935215631, 1e-15); ***** error p = mvncdf (randn (25,26), [], eye (26)); ***** error p = mvncdf (randn (25,8), [], eye (9)); ***** error p = mvncdf (randn (25,4), randn (25,5), [], eye (4)); ***** error p = mvncdf (randn (25,4), randn (25,4), [2, 3; 2, 3], eye (4)); ***** error p = mvncdf (randn (25,4), randn (25,4), ones (1, 5), eye (4)); ***** error p = mvncdf ([-inf, 0], [1, 2], [0.5, 1.5], [1.0, 0.5; 0.5, 1.0], option) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/dist_fun/loglrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/loglrnd.m ***** assert_equal (size (loglrnd (1, 1)), [1, 1]) ***** assert_equal (size (loglrnd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (loglrnd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (loglrnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (loglrnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (loglrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (loglrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (loglrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (loglrnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (loglrnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (loglrnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (loglrnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (loglrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (loglrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (loglrnd (1, 1)), "double") ***** assert_equal (class (loglrnd (1, single (1))), "single") ***** assert_equal (class (loglrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (loglrnd (single (1), 1)), "single") ***** assert_equal (class (loglrnd (single ([1, 1]), 1)), "single") ***** error loglrnd () ***** error loglrnd (1) ***** error ... loglrnd (ones (3), ones (2)) ***** error ... loglrnd (ones (2), ones (3)) ***** error loglrnd (i, 2, 3) ***** error loglrnd (1, i, 3) ***** error ... loglrnd (1, 2, -1) ***** error ... loglrnd (1, 2, 1.2) ***** error ... loglrnd (1, 2, ones (2)) ***** error ... loglrnd (1, 2, [2 -1 2]) ***** error ... loglrnd (1, 2, [2 0 2.5]) ***** error ... loglrnd (1, 2, 2, -1, 5) ***** error ... loglrnd (1, 2, 2, 1.5, 5) ***** error ... loglrnd (2, ones (2), 3) ***** error ... loglrnd (2, ones (2), [3, 2]) ***** error ... loglrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/tpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/tpdf.m ***** demo ## Plot various PDFs from the Student's T distribution x = -5:0.01:5; y1 = tpdf (x, 1); y2 = tpdf (x, 2); y3 = tpdf (x, 5); y4 = tpdf (x, Inf); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-m') grid on xlim ([-5, 5]) ylim ([0, 0.41]) legend ({'df = 1', 'df = 2', ... 'df = 5', 'df = \infty'}, 'location', 'northeast') title ('Student''s T PDF') xlabel ('values in x') ylabel ('density') ***** test x = rand (10,1); y = 1./(pi * (1 + x.^2)); assert_equal (tpdf (x, 1), y, 5*eps); ***** shared x, y x = [-Inf 0 0.5 1 Inf]; y = 1./(pi * (1 + x.^2)); ***** assert_equal (tpdf (x, ones (1,5)), y, eps) ***** assert_equal (tpdf (x, 1), y, eps) ***** assert_equal (tpdf (x, [0 NaN 1 1 1]), [NaN NaN y(3:5)], eps) ***** assert_equal (tpdf (x, Inf), normpdf (x)) ***** assert_equal (tpdf ([x, NaN], 1), [y, NaN], eps) ***** assert_equal (tpdf (single ([x, NaN]), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (tpdf ([x, NaN], single (1)), single ([y, NaN]), eps ('single')) ***** error tpdf () ***** error tpdf (1) ***** error ... tpdf (ones (3), ones (2)) ***** error ... tpdf (ones (2), ones (3)) ***** error tpdf (i, 2) ***** error tpdf (2, i) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/dist_fun/ncfpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/ncfpdf.m ***** demo ## Plot various PDFs from the noncentral F distribution x = 0:0.01:5; y1 = ncfpdf (x, 2, 5, 1); y2 = ncfpdf (x, 2, 5, 2); y3 = ncfpdf (x, 5, 10, 1); y4 = ncfpdf (x, 10, 20, 10); plot (x, y1, '-r', x, y2, '-g', x, y3, '-k', x, y4, '-m') grid on xlim ([0, 5]) ylim ([0, 0.8]) legend ({'df1 = 2, df2 = 5, λ = 1', 'df1 = 2, df2 = 5, λ = 2', ... 'df1 = 5, df2 = 10, λ = 1', 'df1 = 10, df2 = 20, λ = 10'}, ... 'location', 'northeast') title ('Noncentral F PDF') xlabel ('values in x') ylabel ('density') ***** demo ## Compare the noncentral F PDF with LAMBDA = 10 to the F PDF with the ## same number of numerator and denominator degrees of freedom (5, 20) x = 0.01:0.1:10.01; y1 = ncfpdf (x, 5, 20, 10); y2 = fpdf (x, 5, 20); plot (x, y1, '-', x, y2, '-'); grid on xlim ([0, 10]) ylim ([0, 0.8]) legend ({'Noncentral F(5,20,10)', 'F(5,20)'}, 'location', 'northeast') title ('Noncentral F vs F PDFs') xlabel ('values in x') ylabel ('density') ***** shared x1, df1, df2, lambda x1 = [-Inf, 2, NaN, 4, Inf]; df1 = [2, 0, -1, 1, 4]; df2 = [2, 4, 5, 6, 8]; lambda = [1, NaN, 3, -1, 2]; ***** assert_equal (ncfpdf (x1, df1, df2, lambda), [0, NaN, NaN, NaN, NaN]); ***** assert_equal (ncfpdf (x1, df1, df2, 1), [0, NaN, NaN, ... 0.05607937264237208, NaN], 1e-14); ***** assert_equal (ncfpdf (x1, df1, df2, 3), [0, NaN, NaN, ... 0.080125760971946518, NaN], 1e-14); ***** assert_equal (ncfpdf (x1, df1, df2, 2), [0, NaN, NaN, ... 0.0715902008258656, NaN], 1e-14); ***** assert_equal (ncfpdf (x1, 3, 5, lambda), [0, NaN, NaN, NaN, NaN]); ***** assert_equal (ncfpdf (2, df1, df2, lambda), [0.1254046999837947, NaN, NaN, ... NaN, 0.2152571783045893], 1e-14); ***** assert_equal (ncfpdf (4, df1, df2, lambda), [0.05067089541001374, NaN, NaN, ... NaN, 0.05560846335398539], 1e-14); ***** error ncfpdf () ***** error ncfpdf (1) ***** error ncfpdf (1, 2) ***** error ncfpdf (1, 2, 3) ***** error ... ncfpdf (ones (3), ones (2), ones (2), ones (2)) ***** error ... ncfpdf (ones (2), ones (3), ones (2), ones (2)) ***** error ... ncfpdf (ones (2), ones (2), ones (3), ones (2)) ***** error ... ncfpdf (ones (2), ones (2), ones (2), ones (3)) ***** error ncfpdf (i, 2, 2, 2) ***** error ncfpdf (2, i, 2, 2) ***** error ncfpdf (2, 2, i, 2) ***** error ncfpdf (2, 2, 2, i) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/dist_fun/bvncdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/bvncdf.m ***** demo mu = [1, -1]; sigma = [0.9, 0.4; 0.4, 0.3]; [X1, X2] = meshgrid (linspace (-1, 3, 25)', linspace (-3, 1, 25)'); x = [X1(:), X2(:)]; p = bvncdf (x, mu, sigma); Z = reshape (p, 25, 25); surf (X1, X2, Z); title ('Bivariate Normal Distribution'); ylabel 'X1' xlabel 'X2' ***** test mu = [1, -1]; sigma = [0.9, 0.4; 0.4, 0.3]; [X1,X2] = meshgrid (linspace (-1, 3, 25)', linspace (-3, 1, 25)'); x = [X1(:), X2(:)]; p = bvncdf (x, mu, sigma); p_out = [0.00011878988774500, 0.00034404112322371, ... 0.00087682502191813, 0.00195221905058185, ... 0.00378235566873474, 0.00638175749734415, ... 0.00943764224329656, 0.01239164888125426, ... 0.01472750274376648, 0.01623228313374828]'; assert_equal (p([1:10]), p_out, 1e-16); ***** test mu = [1, -1]; sigma = [0.9, 0.4; 0.4, 0.3]; [X1,X2] = meshgrid (linspace (-1, 3, 25)', linspace (-3, 1, 25)'); x = [X1(:), X2(:)]; p = bvncdf (x, mu, sigma); p_out = [0.8180695783608276, 0.8854485749482751, ... 0.9308108777385832, 0.9579855743025508, ... 0.9722897881414742, 0.9788150170059926, ... 0.9813597788804785, 0.9821977956568989, ... 0.9824283794464095, 0.9824809345614861]'; assert_equal (p([616:625]), p_out, 3e-16); ***** test ## Test infinite limits mu = [0, 0]; sigma = [1 0.5; 0.5 1]; assert_equal (bvncdf ([Inf, Inf], mu, sigma), 1); assert_equal (bvncdf ([-Inf, 2], mu, sigma), 0); assert_equal (bvncdf ([1, -Inf], mu, sigma), 0); assert_equal (bvncdf ([0.5, Inf], mu, sigma), normcdf (0.5), eps); assert_equal (bvncdf ([Inf, 0.5], mu, sigma), normcdf (0.5), eps); ***** error bvncdf (randn (25,3), [], [1, 1; 1, 1]); ***** error bvncdf (randn (25,2), [], [1, 1; 1, 1]); ***** error bvncdf (randn (25,2), [], ones (3, 2)); 6 tests, 6 passed, 0 known failure, 0 skipped [inst/dist_fun/gumbelpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gumbelpdf.m ***** demo ## Plot various PDFs from the Extreme value distribution x = -5:0.001:20; y1 = gumbelpdf (x, 0.5, 2); y2 = gumbelpdf (x, 1.0, 2); y3 = gumbelpdf (x, 1.5, 3); y4 = gumbelpdf (x, 3.0, 4); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c') grid on ylim ([0, 0.2]) legend ({'μ = 0.5, β = 2', 'μ = 1.0, β = 2', ... 'μ = 1.5, β = 3', 'μ = 3.0, β = 4'}, 'location', 'northeast') title ('Extreme value PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y0, y1 x = [-5, 0, 1, 2, 3]; y0 = [0, 0.3679, 0.2547, 0.1182, 0.0474]; y1 = [0, 0.1794, 0.3679, 0.2547, 0.1182]; ***** assert_equal (gumbelpdf (x), y0, 1e-4) ***** assert_equal (gumbelpdf (x, zeros (1,5), ones (1,5)), y0, 1e-4) ***** assert_equal (gumbelpdf (x, ones (1,5), ones (1,5)), y1, 1e-4) ***** error gumbelpdf () ***** error ... gumbelpdf (ones (3), ones (2), ones (2)) ***** error gumbelpdf (i, 2, 2) ***** error gumbelpdf (2, i, 2) ***** error gumbelpdf (2, 2, i) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fun/tlscdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/tlscdf.m ***** demo ## Plot various CDFs from the location-scale Student's T distribution x = -8:0.01:8; p1 = tlscdf (x, 0, 1, 1); p2 = tlscdf (x, 0, 2, 2); p3 = tlscdf (x, 3, 2, 5); p4 = tlscdf (x, -1, 3, Inf); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-m') grid on xlim ([-8, 8]) ylim ([0, 1]) legend ({'mu = 0, sigma = 1, nu = 1', 'mu = 0, sigma = 2, nu = 2', ... 'mu = 3, sigma = 2, nu = 5', 'mu = -1, sigma = 3, nu = \infty'}, ... 'location', 'northwest') title ('Location-scale Student''s T CDF') xlabel ('values in x') ylabel ('probability') ***** shared x,y x = [-Inf 0 1 Inf]; y = [0 1/2 3/4 1]; ***** assert_equal (tlscdf (x, 0, 1, ones (1,4)), y, eps) ***** assert_equal (tlscdf (x, 0, 1, 1), y, eps) ***** assert_equal (tlscdf (x, 0, 1, [0 1 NaN 1]), [NaN 1/2 NaN 1], eps) ***** assert_equal (tlscdf ([x(1:2) NaN x(4)], 0, 1, 1), [y(1:2) NaN y(4)], eps) ***** assert_equal (tlscdf (2, 0, 1, 3, 'upper'), 0.0697, 1e-4) ***** assert_equal (tlscdf (205, 0, 1, 5, 'upper'), 2.6206e-11, 1e-14) ***** assert_equal (tlscdf ([x, NaN], 0, 1, 1), [y, NaN], eps) ***** assert_equal (tlscdf (single ([x, NaN]), 0, 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (tlscdf ([x, NaN], single (0), 1, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (tlscdf ([x, NaN], 0, single (1), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (tlscdf ([x, NaN], 0, 1, single (1)), single ([y, NaN]), eps ('single')) ***** error tlscdf () ***** error tlscdf (1) ***** error tlscdf (1, 2) ***** error tlscdf (1, 2, 3) ***** error tlscdf (1, 2, 3, 4, 'uper') ***** error tlscdf (1, 2, 3, 4, 5) ***** error ... tlscdf (ones (3), ones (2), 1, 1) ***** error ... tlscdf (ones (3), 1, ones (2), 1) ***** error ... tlscdf (ones (3), 1, 1, ones (2)) ***** error ... tlscdf (ones (3), ones (2), 1, 1, 'upper') ***** error ... tlscdf (ones (3), 1, ones (2), 1, 'upper') ***** error ... tlscdf (ones (3), 1, 1, ones (2), 'upper') ***** error tlscdf (i, 2, 1, 1) ***** error tlscdf (2, i, 1, 1) ***** error tlscdf (2, 1, i, 1) ***** error tlscdf (2, 1, 1, i) 27 tests, 27 passed, 0 known failure, 0 skipped [inst/dist_fun/ricecdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/ricecdf.m ***** demo ## Plot various CDFs from the Rician distribution x = 0:0.01:10; p1 = ricecdf (x, 0, 1); p2 = ricecdf (x, 0.5, 1); p3 = ricecdf (x, 1, 1); p4 = ricecdf (x, 2, 1); p5 = ricecdf (x, 4, 1); plot (x, p1, '-b', x, p2, 'g', x, p3, '-r', x, p4, '-m', x, p5, '-k') grid on ylim ([0, 1]) xlim ([0, 8]) legend ({'s = 0, σ = 1', 's = 0.5, σ = 1', 's = 1, σ = 1', ... 's = 2, σ = 1', 's = 4, σ = 1'}, 'location', 'southeast') title ('Rician CDF') xlabel ('values in x') ylabel ('probability') ***** demo ## Plot various CDFs from the Rician distribution x = 0:0.01:10; p1 = ricecdf (x, 0, 0.5); p2 = ricecdf (x, 0, 2); p3 = ricecdf (x, 0, 3); p4 = ricecdf (x, 2, 2); p5 = ricecdf (x, 4, 2); plot (x, p1, '-b', x, p2, 'g', x, p3, '-r', x, p4, '-m', x, p5, '-k') grid on ylim ([0, 1]) xlim ([0, 8]) legend ({'ν = 0, σ = 0.5', 'ν = 0, σ = 2', 'ν = 0, σ = 3', ... 'ν = 2, σ = 2', 'ν = 4, σ = 2'}, 'location', 'southeast') title ('Rician CDF') xlabel ('values in x') ylabel ('probability') ***** test x = 0:0.5:2.5; s = 1:6; p = ricecdf (x, s, 1); expected_p = [0.0000, 0.0179, 0.0108, 0.0034, 0.0008, 0.0001]; assert_equal (p, expected_p, 0.001); ***** test x = 0:0.5:2.5; sigma = 1:6; p = ricecdf (x, 1, sigma); expected_p = [0.0000, 0.0272, 0.0512, 0.0659, 0.0754, 0.0820]; assert_equal (p, expected_p, 0.001); ***** test x = 0:0.5:2.5; p = ricecdf (x, 0, 1); expected_p = [0.0000, 0.1175, 0.3935, 0.6753, 0.8647, 0.9561]; assert_equal (p, expected_p, 0.001); ***** test x = 0:0.5:2.5; p = ricecdf (x, 1, 1); expected_p = [0.0000, 0.0735, 0.2671, 0.5120, 0.7310, 0.8791]; assert_equal (p, expected_p, 0.001); ***** shared x, p x = [-1, 0, 1, 2, Inf]; p = [0, 0, 0.26712019620318, 0.73098793996409, 1]; ***** assert_equal (ricecdf (x, 1, 1), p, 1e-14) ***** assert_equal (ricecdf (x, 1, 1, 'upper'), 1 - p, 1e-14) ***** error ricecdf () ***** error ricecdf (1) ***** error ricecdf (1, 2) ***** error ricecdf (1, 2, 3, 'uper') ***** error ricecdf (1, 2, 3, 4) ***** error ... ricecdf (ones (3), ones (2), ones (2)) ***** error ... ricecdf (ones (2), ones (3), ones (2)) ***** error ... ricecdf (ones (2), ones (2), ones (3)) ***** error ricecdf (i, 2, 3) ***** error ricecdf (2, i, 3) ***** error ricecdf (2, 2, i) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/dist_fun/binoinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/binoinv.m ***** demo ## Plot various iCDFs from the binomial distribution p = 0.001:0.001:0.999; x1 = binoinv (p, 20, 0.5); x2 = binoinv (p, 20, 0.7); x3 = binoinv (p, 40, 0.5); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r') grid on legend ({'n = 20, ps = 0.5', 'n = 20, ps = 0.7', ... 'n = 40, ps = 0.5'}, 'location', 'southeast') title ('Binomial iCDF') xlabel ('probability') ylabel ('values in x (number of successes)') ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (binoinv (p, 2*ones (1,5), 0.5*ones (1,5)), [NaN 0 1 2 NaN]) ***** assert_equal (binoinv (p, 2, 0.5*ones (1,5)), [NaN 0 1 2 NaN]) ***** assert_equal (binoinv (p, 2*ones (1,5), 0.5), [NaN 0 1 2 NaN]) ***** assert_equal (binoinv (p, 2*[0 -1 NaN 1.1 1], 0.5), [NaN NaN NaN NaN NaN]) ***** assert_equal (binoinv (p, 2, 0.5*[0 -1 NaN 3 1]), [NaN NaN NaN NaN NaN]) ***** assert_equal (binoinv ([p(1:2) NaN p(4:5)], 2, 0.5), [NaN 0 NaN 2 NaN]) ***** assert_equal (binoinv ([p, NaN], 2, 0.5), [NaN 0 1 2 NaN NaN]) ***** assert_equal (binoinv (single ([p, NaN]), 2, 0.5), single ([NaN 0 1 2 NaN NaN])) ***** assert_equal (binoinv ([p, NaN], single (2), 0.5), single ([NaN 0 1 2 NaN NaN])) ***** assert_equal (binoinv ([p, NaN], 2, single (0.5)), single ([NaN 0 1 2 NaN NaN])) ***** shared x, tol x = magic (3) + 1; tol = 1; ***** assert_equal (binoinv (binocdf (1:10, 11, 0.1), 11, 0.1), 1:10, tol) ***** assert_equal (binoinv (binocdf (1:10, 2*(1:10), 0.1), 2*(1:10), 0.1), 1:10, tol) ***** assert_equal (binoinv (binocdf (x, 2*x, 1./x), 2*x, 1./x), x, tol) ***** error binoinv () ***** error binoinv (1) ***** error binoinv (1,2) ***** error binoinv (1,2,3,4) ***** error ... binoinv (ones (3), ones (2), ones (2)) ***** error ... binoinv (ones (2), ones (3), ones (2)) ***** error ... binoinv (ones (2), ones (2), ones (3)) ***** error binoinv (i, 2, 2) ***** error binoinv (2, i, 2) ***** error binoinv (2, 2, i) 23 tests, 23 passed, 0 known failure, 0 skipped [inst/dist_fun/geoinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/geoinv.m ***** demo ## Plot various iCDFs from the geometric distribution p = 0.001:0.001:0.999; x1 = geoinv (p, 0.2); x2 = geoinv (p, 0.5); x3 = geoinv (p, 0.7); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r') grid on ylim ([0, 10]) legend ({'ps = 0.2', 'ps = 0.5', 'ps = 0.7'}, 'location', 'northwest') title ('Geometric iCDF') xlabel ('probability') ylabel ('values in x (number of failures)') ***** shared p p = [-1 0 0.75 1 2]; ***** assert_equal (geoinv (p, 0.5*ones (1,5)), [NaN 0 1 Inf NaN]) ***** assert_equal (geoinv (p, 0.5), [NaN 0 1 Inf NaN]) ***** assert_equal (geoinv (p, 0.5*[1 -1 NaN 4 1]), [NaN NaN NaN NaN NaN]) ***** assert_equal (geoinv ([p(1:2) NaN p(4:5)], 0.5), [NaN 0 NaN Inf NaN]) ***** assert_equal (geoinv ([p, NaN], 0.5), [NaN 0 1 Inf NaN NaN]) ***** assert_equal (geoinv (single ([p, NaN]), 0.5), single ([NaN 0 1 Inf NaN NaN])) ***** assert_equal (geoinv ([p, NaN], single (0.5)), single ([NaN 0 1 Inf NaN NaN])) ***** error geoinv () ***** error geoinv (1) ***** error ... geoinv (ones (3), ones (2)) ***** error ... geoinv (ones (2), ones (3)) ***** error ... geoinv (i, 2) ***** error ... geoinv (2, i) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fun/betarnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/betarnd.m ***** assert_equal (size (betarnd (2, 1/2)), [1 1]) ***** assert_equal (size (betarnd (2 * ones (2, 1), 1/2)), [2, 1]) ***** assert_equal (size (betarnd (2 * ones (2, 2), 1/2)), [2, 2]) ***** assert_equal (size (betarnd (2, 1/2 * ones (2, 1))), [2, 1]) ***** assert_equal (size (betarnd (1, 1/2 * ones (2, 2))), [2, 2]) ***** assert_equal (size (betarnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (betarnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (betarnd (2, 1/2, 3)), [3, 3]) ***** assert_equal (size (betarnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (betarnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (betarnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (betarnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (betarnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (betarnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (betarnd (1, 1, [])), [0, 0]) ***** assert_equal (size (betarnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (betarnd (1, 1)), "double") ***** assert_equal (class (betarnd (1, single (0))), "single") ***** assert_equal (class (betarnd (1, single ([0, 0]))), "single") ***** assert_equal (class (betarnd (1, single (1), 2)), "single") ***** assert_equal (class (betarnd (1, single ([1, 1]), 1, 2)), "single") ***** assert_equal (class (betarnd (single (1), 1, 2)), "single") ***** assert_equal (class (betarnd (single ([1, 1]), 1, 1, 2)), "single") ***** error betarnd () ***** error betarnd (1) ***** error ... betarnd (ones (3), ones (2)) ***** error ... betarnd (ones (2), ones (3)) ***** error betarnd (i, 2) ***** error betarnd (1, i) ***** error ... betarnd (1, 1/2, -1) ***** error ... betarnd (1, 1/2, 1.2) ***** error ... betarnd (1, 1/2, ones (2)) ***** error ... betarnd (1, 1/2, [2 -1 2]) ***** error ... betarnd (1, 1/2, [2 0 2.5]) ***** error ... betarnd (1, 1/2, 2, -1, 5) ***** error ... betarnd (1, 1/2, 2, 1.5, 5) ***** error ... betarnd (2, 1/2 * ones (2), 3) ***** error ... betarnd (2, 1/2 * ones (2), [3, 2]) ***** error ... betarnd (2, 1/2 * ones (2), 3, 2) ***** error ... betarnd (2 * ones (2), 1/2, 3) ***** error ... betarnd (2 * ones (2), 1/2, [3, 2]) ***** error ... betarnd (2 * ones (2), 1/2, 3, 2) 42 tests, 42 passed, 0 known failure, 0 skipped [inst/dist_fun/loglpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/loglpdf.m ***** demo ## Plot various PDFs from the log-logistic distribution x = 0.001:0.001:2; y1 = loglpdf (x, log (1), 1/0.5); y2 = loglpdf (x, log (1), 1); y3 = loglpdf (x, log (1), 1/2); y4 = loglpdf (x, log (1), 1/4); y5 = loglpdf (x, log (1), 1/8); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c', x, y5, '-m') grid on ylim ([0,3]) legend ({'σ = 2 (β = 0.5)', 'σ = 1 (β = 1)', 'σ = 0.5 (β = 2)', ... 'σ = 0.25 (β = 4)', 'σ = 0.125 (β = 8)'}, 'location', 'northeast') title ('Log-logistic PDF') xlabel ('values in x') ylabel ('density') text (0.1, 2.8, 'μ = 0 (α = 1), values of σ (β) as shown in legend') ***** shared out1, out2 out1 = [0, 0, 1, 0.2500, 0.1111, 0.0625, 0.0400, 0.0278, 0]; out2 = [0, 0, 0.0811, 0.0416, 0.0278, 0.0207, 0.0165, 0]; ***** assert_equal (loglpdf ([-1,0,realmin,1:5,Inf], 0, 1), out1, 1e-4) ***** assert_equal (loglpdf ([-1,0,realmin,1:5,Inf], 0, 1), out1, 1e-4) ***** assert_equal (loglpdf ([-1:5,Inf], 1, 3), out2, 1e-4) ***** assert_equal (class (loglpdf (single (1), 2, 3)), "single") ***** assert_equal (class (loglpdf (1, single (2), 3)), "single") ***** assert_equal (class (loglpdf (1, 2, single (3))), "single") ***** error loglpdf (1) ***** error loglpdf (1, 2) ***** error ... loglpdf (1, ones (2), ones (3)) ***** error ... loglpdf (ones (2), 1, ones (3)) ***** error ... loglpdf (ones (2), ones (3), 1) ***** error loglpdf (i, 2, 3) ***** error loglpdf (1, i, 3) ***** error loglpdf (1, 2, i) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/dist_fun/chi2inv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/chi2inv.m ***** demo ## Plot various iCDFs from the chi-squared distribution p = 0.001:0.001:0.999; x1 = chi2inv (p, 1); x2 = chi2inv (p, 2); x3 = chi2inv (p, 3); x4 = chi2inv (p, 4); x5 = chi2inv (p, 6); x6 = chi2inv (p, 9); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', ... p, x4, '-c', p, x5, '-m', p, x6, '-y') grid on ylim ([0, 8]) legend ({'df = 1', 'df = 2', 'df = 3', ... 'df = 4', 'df = 6', 'df = 9'}, 'location', 'northwest') title ('Chi-squared iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.3934693402873666 1 2]; ***** assert_equal (chi2inv (p, 2*ones (1,5)), [NaN 0 1 Inf NaN], 5*eps) ***** assert_equal (chi2inv (p, 2), [NaN 0 1 Inf NaN], 5*eps) ***** assert_equal (chi2inv (p, 2*[0 1 NaN 1 1]), [NaN 0 NaN Inf NaN], 5*eps) ***** assert_equal (chi2inv ([p(1:2) NaN p(4:5)], 2), [NaN 0 NaN Inf NaN], 5*eps) ***** assert_equal (chi2inv ([p, NaN], 2), [NaN 0 1 Inf NaN NaN], 5*eps) ***** assert_equal (chi2inv (single ([p, NaN]), 2), single ([NaN 0 1 Inf NaN NaN]), 5*eps ('single')) ***** assert_equal (chi2inv ([p, NaN], single (2)), single ([NaN 0 1 Inf NaN NaN]), 5*eps ('single')) ***** error chi2inv () ***** error chi2inv (1) ***** error chi2inv (1,2,3) ***** error ... chi2inv (ones (3), ones (2)) ***** error ... chi2inv (ones (2), ones (3)) ***** error chi2inv (i, 2) ***** error chi2inv (2, i) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/dist_fun/nbinrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nbinrnd.m ***** assert_equal (size (nbinrnd (1, 0.5)), [1, 1]) ***** assert_equal (size (nbinrnd (1, 0.5 * ones (2, 1))), [2, 1]) ***** assert_equal (size (nbinrnd (1, 0.5 * ones (2, 2))), [2, 2]) ***** assert_equal (size (nbinrnd (ones (2, 1), 0.5)), [2, 1]) ***** assert_equal (size (nbinrnd (ones (2, 2), 0.5)), [2, 2]) ***** assert_equal (size (nbinrnd (1, 0.5, 3)), [3, 3]) ***** assert_equal (size (nbinrnd (1, 0.5, [4, 1])), [4, 1]) ***** assert_equal (size (nbinrnd (1, 0.5, 4, 1)), [4, 1]) ***** assert_equal (size (nbinrnd (1, 0.5, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (nbinrnd (1, 0.5, 0, 1)), [0, 1]) ***** assert_equal (size (nbinrnd (1, 0.5, 1, 0)), [1, 0]) ***** assert_equal (size (nbinrnd (1, 0.5, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (nbinrnd (1, 0.5, [])), [0, 0]) ***** assert_equal (size (nbinrnd (1, 0.5, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (nbinrnd (1, 0.5)), "double") ***** assert_equal (class (nbinrnd (1, single (0.5))), "single") ***** assert_equal (class (nbinrnd (1, single ([0.5, 0.5]))), "single") ***** assert_equal (class (nbinrnd (single (1), 0.5)), "single") ***** assert_equal (class (nbinrnd (single ([1, 1]), 0.5)), "single") ***** error nbinrnd () ***** error nbinrnd (1) ***** error ... nbinrnd (ones (3), ones (2)) ***** error ... nbinrnd (ones (2), ones (3)) ***** error nbinrnd (i, 2, 3) ***** error nbinrnd (1, i, 3) ***** error ... nbinrnd (1, 2, -1) ***** error ... nbinrnd (1, 2, 1.2) ***** error ... nbinrnd (1, 2, ones (2)) ***** error ... nbinrnd (1, 2, [2 -1 2]) ***** error ... nbinrnd (1, 2, [2 0 2.5]) ***** error ... nbinrnd (1, 2, 2, -1, 5) ***** error ... nbinrnd (1, 2, 2, 1.5, 5) ***** error ... nbinrnd (2, ones (2), 3) ***** error ... nbinrnd (2, ones (2), [3, 2]) ***** error ... nbinrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/lognpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/lognpdf.m ***** demo ## Plot various PDFs from the log-normal distribution x = 0:0.01:5; y1 = lognpdf (x, 0, 1); y2 = lognpdf (x, 0, 0.5); y3 = lognpdf (x, 0, 0.25); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r') grid on ylim ([0, 2]) legend ({'μ = 0, σ = 1', 'μ = 0, σ = 0.5', 'μ = 0, σ = 0.25'}, ... 'location', 'northeast') title ('Log-normal PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1 0 e Inf]; y = [0, 0, 1/(e*sqrt(2*pi)) * exp(-1/2), 0]; ***** assert_equal (lognpdf (x, zeros (1,4), ones (1,4)), y, eps) ***** assert_equal (lognpdf (x, 0, ones (1,4)), y, eps) ***** assert_equal (lognpdf (x, zeros (1,4), 1), y, eps) ***** assert_equal (lognpdf (x, [0 1 NaN 0], 1), [0 0 NaN y(4)], eps) ***** assert_equal (lognpdf (x, 0, [0 NaN Inf 1]), [NaN NaN NaN y(4)], eps) ***** assert_equal (lognpdf ([x, NaN], 0, 1), [y, NaN], eps) ***** assert_equal (lognpdf (single ([x, NaN]), 0, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (lognpdf ([x, NaN], single (0), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (lognpdf ([x, NaN], 0, single (1)), single ([y, NaN]), eps ('single')) ***** error lognpdf () ***** error lognpdf (1,2,3,4) ***** error lognpdf (ones (3), ones (2), ones (2)) ***** error lognpdf (ones (2), ones (3), ones (2)) ***** error lognpdf (ones (2), ones (2), ones (3)) ***** error lognpdf (i, 2, 2) ***** error lognpdf (2, i, 2) ***** error lognpdf (2, 2, i) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/dist_fun/logipdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/logipdf.m ***** demo ## Plot various PDFs from the logistic distribution x = -5:0.01:20; y1 = logipdf (x, 5, 2); y2 = logipdf (x, 9, 3); y3 = logipdf (x, 9, 4); y4 = logipdf (x, 6, 2); y5 = logipdf (x, 2, 1); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c', x, y5, '-m') grid on ylim ([0, 0.3]) legend ({'μ = 5, σ = 2', 'μ = 9, σ = 3', 'μ = 9, σ = 4', ... 'μ = 6, σ = 2', 'μ = 2, σ = 1'}, 'location', 'northeast') title ('Logistic PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-Inf -log(4) 0 log(4) Inf]; y = [0, 0.16, 1/4, 0.16, 0]; ***** assert_equal (logipdf ([x, NaN], 0, 1), [y, NaN], eps) ***** assert_equal (logipdf (x, 0, [-2, -1, 0, 1, 2]), [nan(1, 3), y([4:5])], eps) ***** assert_equal (logipdf (single ([x, NaN]), 0, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (logipdf ([x, NaN], single (0), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (logipdf ([x, NaN], 0, single (1)), single ([y, NaN]), eps ('single')) ***** error logipdf () ***** error logipdf (1) ***** error ... logipdf (1, 2) ***** error ... logipdf (1, ones (2), ones (3)) ***** error ... logipdf (ones (2), 1, ones (3)) ***** error ... logipdf (ones (2), ones (3), 1) ***** error logipdf (i, 2, 3) ***** error logipdf (1, i, 3) ***** error logipdf (1, 2, i) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/dist_fun/cauchyinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/cauchyinv.m ***** demo ## Plot various iCDFs from the Cauchy distribution p = 0.001:0.001:0.999; x1 = cauchyinv (p, 0, 0.5); x2 = cauchyinv (p, 0, 1); x3 = cauchyinv (p, 0, 2); x4 = cauchyinv (p, -2, 1); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', p, x4, '-c') grid on ylim ([-5, 5]) legend ({'x0 = 0, γ = 0.5', 'x0 = 0, γ = 1', ... 'x0 = 0, γ = 2', 'x0 = -2, γ = 1'}, 'location', 'northwest') title ('Cauchy iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p p = [-1 0 0.5 1 2]; ***** assert_equal (cauchyinv (p, ones (1,5), 2 * ones (1,5)), [NaN -Inf 1 Inf NaN], eps) ***** assert_equal (cauchyinv (p, 1, 2 * ones (1,5)), [NaN -Inf 1 Inf NaN], eps) ***** assert_equal (cauchyinv (p, ones (1,5), 2), [NaN -Inf 1 Inf NaN], eps) ***** assert_equal (cauchyinv (p, [1 -Inf NaN Inf 1], 2), [NaN NaN NaN NaN NaN]) ***** assert_equal (cauchyinv (p, 1, 2 * [1 0 NaN Inf 1]), [NaN NaN NaN NaN NaN]) ***** assert_equal (cauchyinv ([p(1:2) NaN p(4:5)], 1, 2), [NaN -Inf NaN Inf NaN]) ***** assert_equal (cauchyinv ([p, NaN], 1, 2), [NaN -Inf 1 Inf NaN NaN], eps) ***** assert_equal (cauchyinv (single ([p, NaN]), 1, 2), ... single ([NaN -Inf 1 Inf NaN NaN]), eps ('single')) ***** assert_equal (cauchyinv ([p, NaN], single (1), 2), ... single ([NaN -Inf 1 Inf NaN NaN]), eps ('single')) ***** assert_equal (cauchyinv ([p, NaN], 1, single (2)), ... single ([NaN -Inf 1 Inf NaN NaN]), eps ('single')) ***** error cauchyinv () ***** error cauchyinv (1) ***** error ... cauchyinv (1, 2) ***** error cauchyinv (1, 2, 3, 4) ***** error ... cauchyinv (ones (3), ones (2), ones (2)) ***** error ... cauchyinv (ones (2), ones (3), ones (2)) ***** error ... cauchyinv (ones (2), ones (2), ones (3)) ***** error cauchyinv (i, 4, 3) ***** error cauchyinv (1, i, 3) ***** error cauchyinv (1, 4, i) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/dist_fun/trnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/trnd.m ***** assert_equal (size (trnd (2)), [1, 1]) ***** assert_equal (size (trnd (ones (2, 1))), [2, 1]) ***** assert_equal (size (trnd (ones (2, 2))), [2, 2]) ***** assert_equal (size (trnd (1, 3)), [3, 3]) ***** assert_equal (size (trnd (1, [4, 1])), [4, 1]) ***** assert_equal (size (trnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (trnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (trnd (1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (trnd (1, 0, 1)), [0, 1]) ***** assert_equal (size (trnd (1, 1, 0)), [1, 0]) ***** assert_equal (size (trnd (1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (trnd (1, [])), [0, 0]) ***** assert_equal (size (trnd (1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (trnd (0, 1, 1), NaN) ***** assert_equal (trnd ([0, 0, 0], [1, 3]), [NaN, NaN, NaN]) ***** assert_equal (class (trnd (2)), "double") ***** assert_equal (class (trnd (single (2))), "single") ***** assert_equal (class (trnd (single ([2, 2]))), "single") ***** error trnd () ***** error trnd (i) ***** error ... trnd (1, -1) ***** error ... trnd (1, 1.2) ***** error ... trnd (1, ones (2)) ***** error ... trnd (1, [2 -1 2]) ***** error ... trnd (1, [2 0 2.5]) ***** error ... trnd (ones (2), ones (2)) ***** error ... trnd (1, 2, -1, 5) ***** error ... trnd (1, 2, 1.5, 5) ***** error trnd (ones (2,2), 3) ***** error trnd (ones (2,2), [3, 2]) ***** error trnd (ones (2,2), 2, 3) 31 tests, 31 passed, 0 known failure, 0 skipped [inst/dist_fun/plrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/plrnd.m ***** shared x, Fx x = [0, 1, 3, 4, 7, 10]; Fx = [0, 0.2, 0.5, 0.6, 0.7, 1]; ***** assert_equal (size (plrnd (x, Fx)), [1, 1]) ***** assert_equal (size (plrnd (x, Fx, 3)), [3, 3]) ***** assert_equal (size (plrnd (x, Fx, [4, 1])), [4, 1]) ***** assert_equal (size (plrnd (x, Fx, 4, 1)), [4, 1]) ***** assert_equal (size (plrnd (x, Fx, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (plrnd (x, Fx, 0, 1)), [0, 1]) ***** assert_equal (size (plrnd (x, Fx, 1, 0)), [1, 0]) ***** assert_equal (size (plrnd (x, Fx, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (plrnd (x, Fx, [])), [0, 0]) ***** assert_equal (size (plrnd (x, Fx, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (plrnd (x, Fx)), "double") ***** assert_equal (class (plrnd (x, single (Fx))), "single") ***** assert_equal (class (plrnd (single (x), Fx)), "single") ***** error plrnd () ***** error plrnd (1) ***** error ... plrnd ([0, 1, 2], [0, 1]) ***** error ... plrnd ([0], [1]) ***** error ... plrnd ([0, 1, 2], [0, 1, 1.5]) ***** error ... plrnd ([0, 1, 2], [0, i, 1]) ***** error ... plrnd ([0, i, 2], [0, 0.5, 1]) ***** error ... plrnd ([0, i, 2], [0, 0.5i, 1]) ***** error ... plrnd (x, Fx, -1) ***** error ... plrnd (x, Fx, 1.2) ***** error ... plrnd (x, Fx, ones (2)) ***** error ... plrnd (x, Fx, [2 -1 2]) ***** error ... plrnd (x, Fx, [2 0 2.5]) ***** error ... plrnd (x, Fx, 2, -1, 5) ***** error ... plrnd (x, Fx, 2, 1.5, 5) 28 tests, 28 passed, 0 known failure, 0 skipped [inst/dist_fun/laplacernd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/laplacernd.m ***** assert_equal (size (laplacernd (1, 1)), [1, 1]) ***** assert_equal (size (laplacernd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (laplacernd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (laplacernd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (laplacernd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (laplacernd (1, 1, 3)), [3, 3]) ***** assert_equal (size (laplacernd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (laplacernd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (laplacernd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (laplacernd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (laplacernd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (laplacernd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (laplacernd (1, 1, [])), [0, 0]) ***** assert_equal (size (laplacernd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (laplacernd (1, 1)), "double") ***** assert_equal (class (laplacernd (1, single (1))), "single") ***** assert_equal (class (laplacernd (1, single ([1, 1]))), "single") ***** assert_equal (class (laplacernd (single (1), 1)), "single") ***** assert_equal (class (laplacernd (single ([1, 1]), 1)), "single") ***** error laplacernd () ***** error laplacernd (1) ***** error ... laplacernd (ones (3), ones (2)) ***** error ... laplacernd (ones (2), ones (3)) ***** error laplacernd (i, 2, 3) ***** error laplacernd (1, i, 3) ***** error ... laplacernd (1, 2, -1) ***** error ... laplacernd (1, 2, 1.2) ***** error ... laplacernd (1, 2, ones (2)) ***** error ... laplacernd (1, 2, [2 -1 2]) ***** error ... laplacernd (1, 2, [2 0 2.5]) ***** error ... laplacernd (1, 2, 2, -1, 5) ***** error ... laplacernd (1, 2, 2, 1.5, 5) ***** error ... laplacernd (2, ones (2), 3) ***** error ... laplacernd (2, ones (2), [3, 2]) ***** error ... laplacernd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/binornd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/binornd.m ***** assert_equal (size (binornd (2, 1/2)), [1 1]) ***** assert_equal (size (binornd (2 * ones (2, 1), 1/2)), [2, 1]) ***** assert_equal (size (binornd (2 * ones (2, 2), 1/2)), [2, 2]) ***** assert_equal (size (binornd (2, 1/2 * ones (2, 1))), [2, 1]) ***** assert_equal (size (binornd (1, 1/2 * ones (2, 2))), [2, 2]) ***** assert_equal (size (binornd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (binornd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (binornd (2, 1/2, 3)), [3, 3]) ***** assert_equal (size (binornd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (binornd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (binornd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (binornd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (binornd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (binornd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (binornd (1, 1, [])), [0, 0]) ***** assert_equal (size (binornd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (binornd (1, 1)), "double") ***** assert_equal (class (binornd (1, single (0))), "single") ***** assert_equal (class (binornd (1, single ([0, 0]))), "single") ***** assert_equal (class (binornd (1, single (1), 2)), "single") ***** assert_equal (class (binornd (1, single ([1, 1]), 1, 2)), "single") ***** assert_equal (class (binornd (single (1), 1, 2)), "single") ***** assert_equal (class (binornd (single ([1, 1]), 1, 1, 2)), "single") ***** error binornd () ***** error binornd (1) ***** error ... binornd (ones (3), ones (2)) ***** error ... binornd (ones (2), ones (3)) ***** error binornd (i, 2) ***** error binornd (1, i) ***** error ... binornd (1, 1/2, -1) ***** error ... binornd (1, 1/2, 1.2) ***** error ... binornd (1, 1/2, ones (2)) ***** error ... binornd (1, 1/2, [2 -1 2]) ***** error ... binornd (1, 1/2, [2 0 2.5]) ***** error ... binornd (1, 1/2, 2, -1, 5) ***** error ... binornd (1, 1/2, 2, 1.5, 5) ***** error ... binornd (2, 1/2 * ones (2), 3) ***** error ... binornd (2, 1/2 * ones (2), [3, 2]) ***** error ... binornd (2, 1/2 * ones (2), 3, 2) ***** error ... binornd (2 * ones (2), 1/2, 3) ***** error ... binornd (2 * ones (2), 1/2, [3, 2]) ***** error ... binornd (2 * ones (2), 1/2, 3, 2) 42 tests, 42 passed, 0 known failure, 0 skipped [inst/dist_fun/laplacepdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/laplacepdf.m ***** demo ## Plot various PDFs from the Laplace distribution x = -10:0.01:10; y1 = laplacepdf (x, 0, 1); y2 = laplacepdf (x, 0, 2); y3 = laplacepdf (x, 0, 4); y4 = laplacepdf (x, -5, 4); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c') grid on xlim ([-10, 10]) ylim ([0, 0.6]) legend ({'μ = 0, β = 1', 'μ = 0, β = 2', ... 'μ = 0, β = 4', 'μ = -5, β = 4'}, 'location', 'northeast') title ('Laplace PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-Inf -log(2) 0 log(2) Inf]; y = [0, 1/4, 1/2, 1/4, 0]; ***** assert_equal (laplacepdf ([x, NaN], 0, 1), [y, NaN]) ***** assert_equal (laplacepdf (x, 0, [-2, -1, 0, 1, 2]), [nan(1, 3), 0.25, 0]) ***** assert_equal (laplacepdf (single ([x, NaN]), 0, 1), single ([y, NaN])) ***** assert_equal (laplacepdf ([x, NaN], single (0), 1), single ([y, NaN])) ***** assert_equal (laplacepdf ([x, NaN], 0, single (1)), single ([y, NaN])) ***** error laplacepdf () ***** error laplacepdf (1) ***** error ... laplacepdf (1, 2) ***** error laplacepdf (1, 2, 3, 4) ***** error ... laplacepdf (1, ones (2), ones (3)) ***** error ... laplacepdf (ones (2), 1, ones (3)) ***** error ... laplacepdf (ones (2), ones (3), 1) ***** error laplacepdf (i, 2, 3) ***** error laplacepdf (1, i, 3) ***** error laplacepdf (1, 2, i) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fun/mvtpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/mvtpdf.m ***** demo ## Compute the pdf of a multivariate t distribution with correlation ## parameters rho = [1 .4; .4 1] and 2 degrees of freedom. rho = [1, 0.4; 0.4, 1]; df = 2; [X1, X2] = meshgrid (linspace (-2, 2, 25)', linspace (-2, 2, 25)'); X = [X1(:), X2(:)]; y = mvtpdf (X, rho, df); surf (X1, X2, reshape (y, 25, 25)); title ('Bivariate Student''s t probability density function'); ***** assert_equal (mvtpdf ([0 0], eye (2), 1), 0.1591549, 1E-7) ***** assert_equal (mvtpdf ([1 0], [1 0.5; 0.5 1], 2), 0.06615947, 1E-7) ***** assert_equal (mvtpdf ([1 0.4 0; 1.2 0.5 0.5; 1.4 0.6 1], ... [1 0.5 0.3; 0.5 1 0.6; 0.3 0.6 1], [5 6 7]), ... [0.04713313 0.03722421 0.02069011]', 1E-7) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/dist_fun/burrpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/burrpdf.m ***** demo ## Plot various PDFs from the Burr type XII distribution x = 0.001:0.001:3; y1 = burrpdf (x, 1, 1, 1); y2 = burrpdf (x, 1, 1, 2); y3 = burrpdf (x, 1, 1, 3); y4 = burrpdf (x, 1, 2, 1); y5 = burrpdf (x, 1, 3, 1); y6 = burrpdf (x, 1, 0.5, 2); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', ... x, y4, '-c', x, y5, '-m', x, y6, '-k') grid on ylim ([0, 2]) legend ({'λ = 1, c = 1, k = 1', 'λ = 1, c = 1, k = 2', ... 'λ = 1, c = 1, k = 3', 'λ = 1, c = 2, k = 1', ... 'λ = 1, c = 3, k = 1', 'λ = 1, c = 0.5, k = 2'}, ... 'location', 'northeast') title ('Burr type XII PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1, 0, 1, 2, Inf]; y = [0, 1, 1/4, 1/9, 0]; ***** assert_equal (burrpdf (x, ones (1,5), ones (1,5), ones (1,5)), y) ***** assert_equal (burrpdf (x, 1, 1, 1), y) ***** assert_equal (burrpdf (x, [1, 1, NaN, 1, 1], 1, 1), [y(1:2), NaN, y(4:5)]) ***** assert_equal (burrpdf (x, 1, [1, 1, NaN, 1, 1], 1), [y(1:2), NaN, y(4:5)]) ***** assert_equal (burrpdf (x, 1, 1, [1, 1, NaN, 1, 1]), [y(1:2), NaN, y(4:5)]) ***** assert_equal (burrpdf ([x, NaN], 1, 1, 1), [y, NaN]) ***** assert_equal (burrpdf (single ([x, NaN]), 1, 1, 1), single ([y, NaN])) ***** assert_equal (burrpdf ([x, NaN], single (1), 1, 1), single ([y, NaN])) ***** assert_equal (burrpdf ([x, NaN], 1, single (1), 1), single ([y, NaN])) ***** assert_equal (burrpdf ([x, NaN], 1, 1, single (1)), single ([y, NaN])) ***** error burrpdf () ***** error burrpdf (1) ***** error burrpdf (1, 2) ***** error burrpdf (1, 2, 3) ***** error ... burrpdf (1, 2, 3, 4, 5) ***** error ... burrpdf (ones (3), ones (2), ones (2), ones (2)) ***** error ... burrpdf (ones (2), ones (3), ones (2), ones (2)) ***** error ... burrpdf (ones (2), ones (2), ones (3), ones (2)) ***** error ... burrpdf (ones (2), ones (2), ones (2), ones (3)) ***** error burrpdf (i, 2, 3, 4) ***** error burrpdf (1, i, 3, 4) ***** error burrpdf (1, 2, i, 4) ***** error burrpdf (1, 2, 3, i) 23 tests, 23 passed, 0 known failure, 0 skipped [inst/dist_fun/lognrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/lognrnd.m ***** assert_equal (size (lognrnd (1, 1)), [1, 1]) ***** assert_equal (size (lognrnd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (lognrnd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (lognrnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (lognrnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (lognrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (lognrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (lognrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (lognrnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (lognrnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (lognrnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (lognrnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (lognrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (lognrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (lognrnd (1, 1)), "double") ***** assert_equal (class (lognrnd (1, single (1))), "single") ***** assert_equal (class (lognrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (lognrnd (single (1), 1)), "single") ***** assert_equal (class (lognrnd (single ([1, 1]), 1)), "single") ***** error lognrnd () ***** error lognrnd (1) ***** error ... lognrnd (ones (3), ones (2)) ***** error ... lognrnd (ones (2), ones (3)) ***** error lognrnd (i, 2, 3) ***** error lognrnd (1, i, 3) ***** error ... lognrnd (1, 2, -1) ***** error ... lognrnd (1, 2, 1.2) ***** error ... lognrnd (1, 2, ones (2)) ***** error ... lognrnd (1, 2, [2 -1 2]) ***** error ... lognrnd (1, 2, [2 0 2.5]) ***** error ... lognrnd (1, 2, 2, -1, 5) ***** error ... lognrnd (1, 2, 2, 1.5, 5) ***** error ... lognrnd (2, ones (2), 3) ***** error ... lognrnd (2, ones (2), [3, 2]) ***** error ... lognrnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/ncfcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/ncfcdf.m ***** demo ## Plot various CDFs from the noncentral F distribution x = 0:0.01:5; p1 = ncfcdf (x, 2, 5, 1); p2 = ncfcdf (x, 2, 5, 2); p3 = ncfcdf (x, 5, 10, 1); p4 = ncfcdf (x, 10, 20, 10); plot (x, p1, '-r', x, p2, '-g', x, p3, '-k', x, p4, '-m') grid on xlim ([0, 5]) legend ({'df1 = 2, df2 = 5, λ = 1', 'df1 = 2, df2 = 5, λ = 2', ... 'df1 = 5, df2 = 10, λ = 1', 'df1 = 10, df2 = 20, λ = 10'}, ... 'location', 'southeast') title ('Noncentral F CDF') xlabel ('values in x') ylabel ('probability') ***** demo ## Compare the noncentral F CDF with LAMBDA = 10 to the F CDF with the ## same number of numerator and denominator degrees of freedom (5, 20) x = 0.01:0.1:10.01; p1 = ncfcdf (x, 5, 20, 10); p2 = fcdf (x, 5, 20); plot (x, p1, '-', x, p2, '-'); grid on xlim ([0, 10]) legend ({'Noncentral F(5,20,10)', 'F(5,20)'}, 'location', 'southeast') title ('Noncentral F vs F CDFs') xlabel ('values in x') ylabel ('probability') ***** test x = -2:0.1:2; p = ncfcdf (x, 10, 1, 3); assert_equal (p([1:21]), zeros (1, 21), 1e-76); assert_equal (p(22), 0.004530737275319753, 1e-14); assert_equal (p(30), 0.255842099135669, 1e-14); assert_equal (p(41), 0.4379890998457305, 1e-14); ***** test p = ncfcdf (12, 10, 3, 2); assert_equal (p, 0.9582287900447416, 1e-14); ***** test p = ncfcdf (2, 3, 2, 1); assert_equal (p, 0.5731985522994989, 1e-14); ***** test p = ncfcdf (2, 3, 2, 1, 'upper'); assert_equal (p, 0.4268014477004823, 1e-14); ***** test p = ncfcdf ([3, 6], 3, 2, 5, 'upper'); assert_equal (p, [0.530248523596927, 0.3350482341323044], 1e-14); ***** error ncfcdf () ***** error ncfcdf (1) ***** error ncfcdf (1, 2) ***** error ncfcdf (1, 2, 3) ***** error ncfcdf (1, 2, 3, 4, 'tail') ***** error ncfcdf (1, 2, 3, 4, 5) ***** error ... ncfcdf (ones (3), ones (2), ones (2), ones (2)) ***** error ... ncfcdf (ones (2), ones (3), ones (2), ones (2)) ***** error ... ncfcdf (ones (2), ones (2), ones (3), ones (2)) ***** error ... ncfcdf (ones (2), ones (2), ones (2), ones (3)) ***** error ncfcdf (i, 2, 2, 2) ***** error ncfcdf (2, i, 2, 2) ***** error ncfcdf (2, 2, i, 2) ***** error ncfcdf (2, 2, 2, i) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/dist_fun/gpinv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gpinv.m ***** demo ## Plot various iCDFs from the generalized Pareto distribution p = 0.001:0.001:0.999; x1 = gpinv (p, 1, 1, 0); x2 = gpinv (p, 5, 1, 0); x3 = gpinv (p, 20, 1, 0); x4 = gpinv (p, 1, 2, 0); x5 = gpinv (p, 5, 2, 0); x6 = gpinv (p, 20, 2, 0); plot (p, x1, '-b', p, x2, '-g', p, x3, '-r', ... p, x4, '-c', p, x5, '-m', p, x6, '-k') grid on ylim ([0, 5]) legend ({'k = 1, σ = 1, θ = 0', 'k = 5, σ = 1, θ = 0', ... 'k = 20, σ = 1, θ = 0', 'k = 1, σ = 2, θ = 0', ... 'k = 5, σ = 2, θ = 0', 'k = 20, σ = 2, θ = 0'}, ... 'location', 'southeast') title ('Generalized Pareto iCDF') xlabel ('probability') ylabel ('values in x') ***** shared p, y1, y2, y3 p = [-1, 0, 1/2, 1, 2]; y1 = [NaN, 0, 0.6931471805599453, Inf, NaN]; y2 = [NaN, 0, 1, Inf, NaN]; y3 = [NaN, 0, 1/2, 1, NaN]; ***** assert_equal (gpinv (p, zeros (1,5), ones (1,5), zeros (1,5)), y1) ***** assert_equal (gpinv (p, 0, 1, zeros (1,5)), y1) ***** assert_equal (gpinv (p, 0, ones (1,5), 0), y1) ***** assert_equal (gpinv (p, zeros (1,5), 1, 0), y1) ***** assert_equal (gpinv (p, 0, 1, 0), y1) ***** assert_equal (gpinv (p, 0, 1, [0, 0, NaN, 0, 0]), [y1(1:2), NaN, y1(4:5)]) ***** assert_equal (gpinv (p, 0, [1, 1, NaN, 1, 1], 0), [y1(1:2), NaN, y1(4:5)]) ***** assert_equal (gpinv (p, [0, 0, NaN, 0, 0], 1, 0), [y1(1:2), NaN, y1(4:5)]) ***** assert_equal (gpinv ([p(1:2), NaN, p(4:5)], 0, 1, 0), [y1(1:2), NaN, y1(4:5)]) ***** assert_equal (gpinv (p, ones (1,5), ones (1,5), zeros (1,5)), y2) ***** assert_equal (gpinv (p, 1, 1, zeros (1,5)), y2) ***** assert_equal (gpinv (p, 1, ones (1,5), 0), y2) ***** assert_equal (gpinv (p, ones (1,5), 1, 0), y2) ***** assert_equal (gpinv (p, 1, 1, 0), y2) ***** assert_equal (gpinv (p, 1, 1, [0, 0, NaN, 0, 0]), [y2(1:2), NaN, y2(4:5)]) ***** assert_equal (gpinv (p, 1, [1, 1, NaN, 1, 1], 0), [y2(1:2), NaN, y2(4:5)]) ***** assert_equal (gpinv (p, [1, 1, NaN, 1, 1], 1, 0), [y2(1:2), NaN, y2(4:5)]) ***** assert_equal (gpinv ([p(1:2), NaN, p(4:5)], 1, 1, 0), [y2(1:2), NaN, y2(4:5)]) ***** assert_equal (gpinv (p, -ones (1,5), ones (1,5), zeros (1,5)), y3) ***** assert_equal (gpinv (p, -1, 1, zeros (1,5)), y3) ***** assert_equal (gpinv (p, -1, ones (1,5), 0), y3) ***** assert_equal (gpinv (p, -ones (1,5), 1, 0), y3) ***** assert_equal (gpinv (p, -1, 1, 0), y3) ***** assert_equal (gpinv (p, -1, 1, [0, 0, NaN, 0, 0]), [y3(1:2), NaN, y3(4:5)]) ***** assert_equal (gpinv (p, -1, [1, 1, NaN, 1, 1], 0), [y3(1:2), NaN, y3(4:5)]) ***** assert_equal (gpinv (p, -[1, 1, NaN, 1, 1], 1, 0), [y3(1:2), NaN, y3(4:5)]) ***** assert_equal (gpinv ([p(1:2), NaN, p(4:5)], -1, 1, 0), [y3(1:2), NaN, y3(4:5)]) ***** assert_equal (gpinv (single ([p, NaN]), 0, 1, 0), single ([y1, NaN])) ***** assert_equal (gpinv ([p, NaN], 0, 1, single (0)), single ([y1, NaN])) ***** assert_equal (gpinv ([p, NaN], 0, single (1), 0), single ([y1, NaN])) ***** assert_equal (gpinv ([p, NaN], single (0), 1, 0), single ([y1, NaN])) ***** assert_equal (gpinv (single ([p, NaN]), 1, 1, 0), single ([y2, NaN])) ***** assert_equal (gpinv ([p, NaN], 1, 1, single (0)), single ([y2, NaN])) ***** assert_equal (gpinv ([p, NaN], 1, single (1), 0), single ([y2, NaN])) ***** assert_equal (gpinv ([p, NaN], single (1), 1, 0), single ([y2, NaN])) ***** assert_equal (gpinv (single ([p, NaN]), -1, 1, 0), single ([y3, NaN])) ***** assert_equal (gpinv ([p, NaN], -1, 1, single (0)), single ([y3, NaN])) ***** assert_equal (gpinv ([p, NaN], -1, single (1), 0), single ([y3, NaN])) ***** assert_equal (gpinv ([p, NaN], single (-1), 1, 0), single ([y3, NaN])) ***** error gpinv () ***** error gpinv (1) ***** error gpinv (1, 2) ***** error gpinv (1, 2, 3) ***** error ... gpinv (ones (3), ones (2), ones (2), ones (2)) ***** error ... gpinv (ones (2), ones (3), ones (2), ones (2)) ***** error ... gpinv (ones (2), ones (2), ones (3), ones (2)) ***** error ... gpinv (ones (2), ones (2), ones (2), ones (3)) ***** error gpinv (i, 2, 3, 4) ***** error gpinv (1, i, 3, 4) ***** error gpinv (1, 2, i, 4) ***** error gpinv (1, 2, 3, i) 51 tests, 51 passed, 0 known failure, 0 skipped [inst/dist_fun/wblpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/wblpdf.m ***** demo ## Plot various PDFs from the Weibull distribution x = 0:0.001:2.5; y1 = wblpdf (x, 1, 0.5); y2 = wblpdf (x, 1, 1); y3 = wblpdf (x, 1, 1.5); y4 = wblpdf (x, 1, 5); plot (x, y1, '-b', x, y2, '-r', x, y3, '-m', x, y4, '-g') grid on ylim ([0, 2.5]) legend ({'λ = 5, k = 0.5', 'λ = 9, k = 1', ... 'λ = 6, k = 1.5', 'λ = 2, k = 5'}, 'location', 'northeast') title ('Weibull PDF') xlabel ('values in x') ylabel ('density') ***** shared x,y x = [-1 0 0.5 1 Inf]; y = [0, exp(-x(2:4)), NaN]; ***** assert_equal (wblpdf (x, ones (1,5), ones (1,5)), y) ***** assert_equal (wblpdf (x, 1, ones (1,5)), y) ***** assert_equal (wblpdf (x, ones (1,5), 1), y) ***** assert_equal (wblpdf (x, [0 NaN Inf 1 1], 1), [NaN NaN NaN y(4:5)]) ***** assert_equal (wblpdf (x, 1, [0 NaN Inf 1 1]), [NaN NaN NaN y(4:5)]) ***** assert_equal (wblpdf ([x, NaN], 1, 1), [y, NaN]) ***** assert_equal (wblpdf (single ([x, NaN]), 1, 1), single ([y, NaN])) ***** assert_equal (wblpdf ([x, NaN], single (1), 1), single ([y, NaN])) ***** assert_equal (wblpdf ([x, NaN], 1, single (1)), single ([y, NaN])) ***** error wblpdf () ***** error wblpdf (1,2,3,4) ***** error wblpdf (ones (3), ones (2), ones (2)) ***** error wblpdf (ones (2), ones (3), ones (2)) ***** error wblpdf (ones (2), ones (2), ones (3)) ***** error wblpdf (i, 2, 2) ***** error wblpdf (2, i, 2) ***** error wblpdf (2, 2, i) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/dist_fun/hnrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/hnrnd.m ***** assert_equal (size (hnrnd (1, 1, 1)), [1, 1]) ***** assert_equal (size (hnrnd (1, 1, 2)), [2, 2]) ***** assert_equal (size (hnrnd (1, 1, [2, 1])), [2, 1]) ***** assert_equal (size (hnrnd (1, zeros (2, 2))), [2, 2]) ***** assert_equal (size (hnrnd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (hnrnd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (hnrnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (hnrnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (hnrnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (hnrnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (hnrnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (hnrnd (1, 1, [])), [0, 0]) ***** assert_equal (size (hnrnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** test r = hnrnd (1, [1, 0, -1]); assert_equal (r([2:3]), [NaN, NaN]) ***** assert_equal (class (hnrnd (1, 0)), "double") ***** assert_equal (class (hnrnd (1, single (0))), "single") ***** assert_equal (class (hnrnd (1, single ([0, 0]))), "single") ***** assert_equal (class (hnrnd (1, single (1))), "single") ***** assert_equal (class (hnrnd (1, single ([1, 1]))), "single") ***** assert_equal (class (hnrnd (single (1), 1)), "single") ***** assert_equal (class (hnrnd (single ([1, 1]), 1)), "single") ***** error hnrnd () ***** error hnrnd (1) ***** error ... hnrnd (ones (3), ones (2)) ***** error ... hnrnd (ones (2), ones (3)) ***** error hnrnd (i, 2, 3) ***** error hnrnd (1, i, 3) ***** error ... hnrnd (1, 2, -1) ***** error ... hnrnd (1, 2, 1.2) ***** error ... hnrnd (1, 2, ones (2)) ***** error ... hnrnd (1, 2, [2 -1 2]) ***** error ... hnrnd (1, 2, [2 0 2.5]) ***** error ... hnrnd (1, 2, 2, -1, 5) ***** error ... hnrnd (1, 2, 2, 1.5, 5) ***** error ... hnrnd (2, ones (2), 3) ***** error ... hnrnd (2, ones (2), [3, 2]) ***** error ... hnrnd (2, ones (2), 3, 2) 37 tests, 37 passed, 0 known failure, 0 skipped [inst/dist_fun/unidrnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/unidrnd.m ***** assert_equal (size (unidrnd (2)), [1, 1]) ***** assert_equal (size (unidrnd (ones (2, 1))), [2, 1]) ***** assert_equal (size (unidrnd (ones (2, 2))), [2, 2]) ***** assert_equal (size (unidrnd (1, 3)), [3, 3]) ***** assert_equal (size (unidrnd (1, [4, 1])), [4, 1]) ***** assert_equal (size (unidrnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (unidrnd (1, 4, 1)), [4, 1]) ***** assert_equal (size (unidrnd (1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (unidrnd (1, 0, 1)), [0, 1]) ***** assert_equal (size (unidrnd (1, 1, 0)), [1, 0]) ***** assert_equal (size (unidrnd (1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (unidrnd (1, [])), [0, 0]) ***** assert_equal (size (unidrnd (1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (unidrnd (0, 1, 1), NaN) ***** assert_equal (unidrnd ([0, 0, 0], [1, 3]), [NaN, NaN, NaN]) ***** assert_equal (class (unidrnd (2)), "double") ***** assert_equal (class (unidrnd (single (2))), "single") ***** assert_equal (class (unidrnd (single ([2, 2]))), "single") ***** error unidrnd () ***** error unidrnd (i) ***** error ... unidrnd (1, -1) ***** error ... unidrnd (1, 1.2) ***** error ... unidrnd (1, ones (2)) ***** error ... unidrnd (1, [2 -1 2]) ***** error ... unidrnd (1, [2 0 2.5]) ***** error ... unidrnd (ones (2), ones (2)) ***** error ... unidrnd (1, 2, -1, 5) ***** error ... unidrnd (1, 2, 1.5, 5) ***** error unidrnd (ones (2,2), 3) ***** error unidrnd (ones (2,2), [3, 2]) ***** error unidrnd (ones (2,2), 2, 3) 31 tests, 31 passed, 0 known failure, 0 skipped [inst/dist_fun/nakarnd.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/nakarnd.m ***** assert_equal (size (nakarnd (1, 1)), [1, 1]) ***** assert_equal (size (nakarnd (1, ones (2, 1))), [2, 1]) ***** assert_equal (size (nakarnd (1, ones (2, 2))), [2, 2]) ***** assert_equal (size (nakarnd (ones (2, 1), 1)), [2, 1]) ***** assert_equal (size (nakarnd (ones (2, 2), 1)), [2, 2]) ***** assert_equal (size (nakarnd (1, 1, 3)), [3, 3]) ***** assert_equal (size (nakarnd (1, 1, [4, 1])), [4, 1]) ***** assert_equal (size (nakarnd (1, 1, 4, 1)), [4, 1]) ***** assert_equal (size (nakarnd (1, 1, 4, 1, 5)), [4, 1, 5]) ***** assert_equal (size (nakarnd (1, 1, 0, 1)), [0, 1]) ***** assert_equal (size (nakarnd (1, 1, 1, 0)), [1, 0]) ***** assert_equal (size (nakarnd (1, 1, 1, 2, 0, 5)), [1, 2, 0, 5]) ***** assert_equal (size (nakarnd (1, 1, [])), [0, 0]) ***** assert_equal (size (nakarnd (1, 1, [2, 0, 2, 1])), [2, 0, 2]) ***** assert_equal (class (nakarnd (1, 1)), "double") ***** assert_equal (class (nakarnd (1, single (1))), "single") ***** assert_equal (class (nakarnd (1, single ([1, 1]))), "single") ***** assert_equal (class (nakarnd (single (1), 1)), "single") ***** assert_equal (class (nakarnd (single ([1, 1]), 1)), "single") ***** error nakarnd () ***** error nakarnd (1) ***** error ... nakarnd (ones (3), ones (2)) ***** error ... nakarnd (ones (2), ones (3)) ***** error nakarnd (i, 2, 3) ***** error nakarnd (1, i, 3) ***** error ... nakarnd (1, 2, -1) ***** error ... nakarnd (1, 2, 1.2) ***** error ... nakarnd (1, 2, ones (2)) ***** error ... nakarnd (1, 2, [2 -1 2]) ***** error ... nakarnd (1, 2, [2 0 2.5]) ***** error ... nakarnd (1, 2, 2, -1, 5) ***** error ... nakarnd (1, 2, 2, 1.5, 5) ***** error ... nakarnd (2, ones (2), 3) ***** error ... nakarnd (2, ones (2), [3, 2]) ***** error ... nakarnd (2, ones (2), 3, 2) 35 tests, 35 passed, 0 known failure, 0 skipped [inst/dist_fun/gevcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/gevcdf.m ***** demo ## Plot various CDFs from the generalized extreme value distribution x = -1:0.001:10; p1 = gevcdf (x, 1, 1, 1); p2 = gevcdf (x, 0.5, 1, 1); p3 = gevcdf (x, 1, 1, 5); p4 = gevcdf (x, 1, 2, 5); p5 = gevcdf (x, 1, 5, 5); p6 = gevcdf (x, 1, 0.5, 5); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', ... x, p4, '-c', x, p5, '-m', x, p6, '-k') grid on xlim ([-1, 10]) legend ({'k = 1, σ = 1, μ = 1', 'k = 0.5, σ = 1, μ = 1', ... 'k = 1, σ = 1, μ = 5', 'k = 1, σ = 2, μ = 5', ... 'k = 1, σ = 5, μ = 5', 'k = 1, σ = 0.5, μ = 5'}, ... 'location', 'southeast') title ('Generalized extreme value CDF') xlabel ('values in x') ylabel ('probability') ***** test x = 0:0.5:2.5; sigma = 1:6; k = 1; mu = 0; p = gevcdf (x, k, sigma, mu); expected_p = [0.36788, 0.44933, 0.47237, 0.48323, 0.48954, 0.49367]; assert_equal (p, expected_p, 0.001); ***** test x = -0.5:0.5:2.5; sigma = 0.5; k = 1; mu = 0; p = gevcdf (x, k, sigma, mu); expected_p = [0, 0.36788, 0.60653, 0.71653, 0.77880, 0.81873, 0.84648]; assert_equal (p, expected_p, 0.001); ***** test # check for continuity for k near 0 x = 1; sigma = 0.5; k = -0.03:0.01:0.03; mu = 0; p = gevcdf (x, k, sigma, mu); expected_p = [0.88062, 0.87820, 0.87580, 0.87342, 0.87107, 0.86874, 0.86643]; assert_equal (p, expected_p, 0.001); ***** error gevcdf () ***** error gevcdf (1) ***** error gevcdf (1, 2) ***** error gevcdf (1, 2, 3) ***** error ... gevcdf (1, 2, 3, 4, 5, 6) ***** error gevcdf (1, 2, 3, 4, 'tail') ***** error gevcdf (1, 2, 3, 4, 5) ***** error ... gevcdf (ones (3), ones (2), ones (2), ones (2)) ***** error ... gevcdf (ones (2), ones (3), ones (2), ones (2)) ***** error ... gevcdf (ones (2), ones (2), ones (3), ones (2)) ***** error ... gevcdf (ones (2), ones (2), ones (2), ones (3)) ***** error gevcdf (i, 2, 3, 4) ***** error gevcdf (1, i, 3, 4) ***** error gevcdf (1, 2, i, 4) ***** error gevcdf (1, 2, 3, i) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/dist_fun/vminv.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/vminv.m ***** demo ## Plot various iCDFs from the von Mises distribution p1 = [0,0.005,0.01:0.01:0.1,0.15,0.2:0.1:0.8,0.85,0.9:0.01:0.99,0.995,1]; x1 = vminv (p1, 0, 0.5); x2 = vminv (p1, 0, 1); x3 = vminv (p1, 0, 2); x4 = vminv (p1, 0, 4); plot (p1, x1, '-r', p1, x2, '-g', p1, x3, '-b', p1, x4, '-c') grid on ylim ([-pi, pi]) legend ({'μ = 0, k = 0.5', 'μ = 0, k = 1', ... 'μ = 0, k = 2', 'μ = 0, k = 4'}, 'location', 'northwest') title ('Von Mises iCDF') xlabel ('probability') ylabel ('values in x') ***** shared x, p0, p1 x = [-pi:pi/2:pi]; p0 = [0, 0.10975, 0.5, 0.89025, 1]; p1 = [0, 0.03752, 0.5, 0.99622, 1]; ***** assert_equal (vminv (p0, 0, 1), x, 5e-5) ***** assert_equal (vminv (p0, zeros (1,5), ones (1,5)), x, 5e-5) ***** assert_equal (vminv (p1, 0, [1 2 3 4 5]), x, [5e-5, 5e-4, 5e-5, 5e-4, 5e-5]) ***** error vminv () ***** error vminv (1) ***** error vminv (1, 2) ***** error ... vminv (ones (3), ones (2), ones (2)) ***** error ... vminv (ones (2), ones (3), ones (2)) ***** error ... vminv (ones (2), ones (2), ones (3)) ***** error vminv (i, 2, 2) ***** error vminv (2, i, 2) ***** error vminv (2, 2, i) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/dist_fun/invgcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/invgcdf.m ***** demo ## Plot various CDFs from the inverse Gaussian distribution x = 0:0.001:3; p1 = invgcdf (x, 1, 0.2); p2 = invgcdf (x, 1, 1); p3 = invgcdf (x, 1, 3); p4 = invgcdf (x, 3, 0.2); p5 = invgcdf (x, 3, 1); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c', x, p5, '-y') grid on xlim ([0, 3]) legend ({'μ = 1, σ = 0.2', 'μ = 1, σ = 1', 'μ = 1, σ = 3', ... 'μ = 3, σ = 0.2', 'μ = 3, σ = 1'}, 'location', 'southeast') title ('Inverse Gaussian CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, p1, p1u, y2, y2u, y3, y3u x = [-Inf, -1, 0, 1/2, 1, Inf]; p1 = [0, 0, 0, 0.3650, 0.6681, 1]; p1u = [1, 1, 1, 0.6350, 0.3319, 0]; ***** assert_equal (invgcdf (x, ones (1,6), ones (1,6)), p1, 1e-4) ***** assert_equal (invgcdf (x, 1, 1), p1, 1e-4) ***** assert_equal (invgcdf (x, 1, ones (1,6)), p1, 1e-4) ***** assert_equal (invgcdf (x, ones (1,6), 1), p1, 1e-4) ***** assert_equal (invgcdf (x, 1, [1, 1, 1, NaN, 1, 1]), [p1(1:3), NaN, p1(5:6)], 1e-4) ***** assert_equal (invgcdf (x, [1, 1, 1, NaN, 1, 1], 1), [p1(1:3), NaN, p1(5:6)], 1e-4) ***** assert_equal (invgcdf ([x(1:3), NaN, x(5:6)], 1, 1), [p1(1:3), NaN, p1(5:6)], 1e-4) ***** assert_equal (invgcdf (x, ones (1,6), ones (1,6), 'upper'), p1u, 1e-4) ***** assert_equal (invgcdf (x, 1, 1, 'upper'), p1u, 1e-4) ***** assert_equal (invgcdf (x, 1, ones (1,6), 'upper'), p1u, 1e-4) ***** assert_equal (invgcdf (x, ones (1,6), 1, 'upper'), p1u, 1e-4) ***** assert_equal (class (invgcdf (single ([x, NaN]), 1, 1)), "single") ***** assert_equal (class (invgcdf ([x, NaN], 1, single (1))), "single") ***** assert_equal (class (invgcdf ([x, NaN], single (1), 1)), "single") ***** error invgcdf () ***** error invgcdf (1) ***** error invgcdf (1, 2) ***** error invgcdf (1, 2, 3, 'tail') ***** error invgcdf (1, 2, 3, 5) ***** error ... invgcdf (ones (3), ones (2), ones (2)) ***** error ... invgcdf (ones (2), ones (3), ones (2)) ***** error ... invgcdf (ones (2), ones (2), ones (3)) ***** error invgcdf (i, 2, 3) ***** error invgcdf (1, i, 3) ***** error invgcdf (1, 2, i) 25 tests, 25 passed, 0 known failure, 0 skipped [inst/dist_fun/unifcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/unifcdf.m ***** demo ## Plot various CDFs from the continuous uniform distribution x = 0:0.1:10; p1 = unifcdf (x, 2, 5); p2 = unifcdf (x, 3, 9); plot (x, p1, '-b', x, p2, '-g') grid on xlim ([0, 10]) ylim ([0, 1]) legend ({'a = 2, b = 5', 'a = 3, b = 9'}, 'location', 'southeast') title ('Continuous uniform CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-1 0 0.5 1 2] + 1; y = [0 0 0.5 1 1]; ***** assert_equal (unifcdf (x, ones (1,5), 2*ones (1,5)), y) ***** assert_equal (unifcdf (x, ones (1,5), 2*ones (1,5), 'upper'), 1 - y) ***** assert_equal (unifcdf (x, 1, 2*ones (1,5)), y) ***** assert_equal (unifcdf (x, 1, 2*ones (1,5), 'upper'), 1 - y) ***** assert_equal (unifcdf (x, ones (1,5), 2), y) ***** assert_equal (unifcdf (x, ones (1,5), 2, 'upper'), 1 - y) ***** assert_equal (unifcdf (x, [2 1 NaN 1 1], 2), [NaN 0 NaN 1 1]) ***** assert_equal (unifcdf (x, [2 1 NaN 1 1], 2, 'upper'), 1 - [NaN 0 NaN 1 1]) ***** assert_equal (unifcdf (x, 1, 2*[0 1 NaN 1 1]), [NaN 0 NaN 1 1]) ***** assert_equal (unifcdf (x, 1, 2*[0 1 NaN 1 1], 'upper'), 1 - [NaN 0 NaN 1 1]) ***** assert_equal (unifcdf ([x(1:2) NaN x(4:5)], 1, 2), [y(1:2) NaN y(4:5)]) ***** assert_equal (unifcdf ([x(1:2) NaN x(4:5)], 1, 2, 'upper'), 1 - [y(1:2) NaN y(4:5)]) ***** assert_equal (unifcdf ([x, NaN], 1, 2), [y, NaN]) ***** assert_equal (unifcdf (single ([x, NaN]), 1, 2), single ([y, NaN])) ***** assert_equal (unifcdf ([x, NaN], single (1), 2), single ([y, NaN])) ***** assert_equal (unifcdf ([x, NaN], 1, single (2)), single ([y, NaN])) ***** error unifcdf () ***** error unifcdf (1) ***** error unifcdf (1, 2) ***** error unifcdf (1, 2, 3, 4) ***** error unifcdf (1, 2, 3, 'tail') ***** error ... unifcdf (ones (3), ones (2), ones (2)) ***** error ... unifcdf (ones (2), ones (3), ones (2)) ***** error ... unifcdf (ones (2), ones (2), ones (3)) ***** error unifcdf (i, 2, 2) ***** error unifcdf (2, i, 2) ***** error unifcdf (2, 2, i) 27 tests, 27 passed, 0 known failure, 0 skipped [inst/dist_fun/vmcdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/vmcdf.m ***** demo ## Plot various CDFs from the von Mises distribution x1 = [-pi:0.1:pi]; p1 = vmcdf (x1, 0, 0.5); p2 = vmcdf (x1, 0, 1); p3 = vmcdf (x1, 0, 2); p4 = vmcdf (x1, 0, 4); plot (x1, p1, '-r', x1, p2, '-g', x1, p3, '-b', x1, p4, '-c') grid on xlim ([-pi, pi]) legend ({'μ = 0, k = 0.5', 'μ = 0, k = 1', ... 'μ = 0, k = 2', 'μ = 0, k = 4'}, 'location', 'northwest') title ('Von Mises CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, p0, p1 x = [-pi:pi/2:pi]; p0 = [0, 0.10975, 0.5, 0.89025, 1]; p1 = [0, 0.03752, 0.5, 0.99622, 1]; ***** assert_equal (vmcdf (x, 0, 1), p0, 1e-5) ***** assert_equal (vmcdf (x, 0, 1, 'upper'), 1 - p0, 1e-5) ***** assert_equal (vmcdf (x, zeros (1,5), ones (1,5)), p0, 1e-5) ***** assert_equal (vmcdf (x, zeros (1,5), ones (1,5), 'upper'), 1 - p0, 1e-5) ***** assert_equal (vmcdf (x, 0, [1 2 3 4 5]), p1, 1e-5) ***** assert_equal (vmcdf (x, 0, [1 2 3 4 5], 'upper'), 1 - p1, 1e-5) ***** assert_equal (isa (vmcdf (single (pi), 0, 1), 'single'), true) ***** assert_equal (isa (vmcdf (pi, single (0), 1), 'single'), true) ***** assert_equal (isa (vmcdf (pi, 0, single (1)), 'single'), true) ***** error vmcdf () ***** error vmcdf (1) ***** error vmcdf (1, 2) ***** error vmcdf (1, 2, 3, 'tail') ***** error vmcdf (1, 2, 3, 4) ***** error ... vmcdf (ones (3), ones (2), ones (2)) ***** error ... vmcdf (ones (2), ones (3), ones (2)) ***** error ... vmcdf (ones (2), ones (2), ones (3)) ***** error vmcdf (i, 2, 2) ***** error vmcdf (2, i, 2) ***** error vmcdf (2, 2, i) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/dist_fun/iwishpdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/iwishpdf.m ***** assert_equal (iwishpdf (4, 3, 3.1), 0.04226595, 1E-7); ***** assert_equal (iwishpdf ([2 -0.3;-0.3 4], [1 0.3;0.3 1], 4), 1.60166e-05, 1E-10); ***** assert_equal (iwishpdf ([6 2 5; 2 10 -5; 5 -5 25], ... [9 5 5; 5 10 -8; 5 -8 22], 5.1), 4.946831e-12, 1E-17); ***** error iwishpdf () ***** error iwishpdf (1, 2) ***** error iwishpdf (1, 2, 0) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/dist_fun/betapdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/betapdf.m ***** demo ## Plot various PDFs from the Beta distribution x = 0.001:0.001:0.999; y1 = betapdf (x, 0.5, 0.5); y2 = betapdf (x, 5, 1); y3 = betapdf (x, 1, 3); y4 = betapdf (x, 2, 2); y5 = betapdf (x, 2, 5); plot (x, y1, '-b', x, y2, '-g', x, y3, '-r', x, y4, '-c', x, y5, '-m') grid on ylim ([0, 2.5]) legend ({'α = β = 0.5', 'α = 5, β = 1', 'α = 1, β = 3', ... 'α = 2, β = 2', 'α = 2, β = 5'}, 'location', 'north') title ('Beta PDF') xlabel ('values in x') ylabel ('density') ***** shared x, y x = [-1 0 0.5 1 2]; y = [0 2 1 0 0]; ***** assert_equal (betapdf (x, ones (1, 5), 2 * ones (1, 5)), y) ***** assert_equal (betapdf (x, 1, 2 * ones (1, 5)), y) ***** assert_equal (betapdf (x, ones (1, 5), 2), y) ***** assert_equal (betapdf (x, [0 NaN 1 1 1], 2), [NaN NaN y(3:5)]) ***** assert_equal (betapdf (x, 1, 2 * [0 NaN 1 1 1]), [NaN NaN y(3:5)]) ***** assert_equal (betapdf ([x, NaN], 1, 2), [y, NaN]) ***** assert_equal (betapdf (single ([x, NaN]), 1, 2), single ([y, NaN])) ***** assert_equal (betapdf ([x, NaN], single (1), 2), single ([y, NaN])) ***** assert_equal (betapdf ([x, NaN], 1, single (2)), single ([y, NaN])) ***** test x = rand (10,1); y = 1 ./ (pi * sqrt (x .* (1 - x))); assert_equal (betapdf (x, 1/2, 1/2), y, 1e-12); ***** assert_equal (betapdf (0.5, 1000, 1000), 35.678, 1e-3) ***** error betapdf () ***** error betapdf (1) ***** error betapdf (1,2) ***** error betapdf (1,2,3,4) ***** error ... betapdf (ones (3), ones (2), ones (2)) ***** error ... betapdf (ones (2), ones (3), ones (2)) ***** error ... betapdf (ones (2), ones (2), ones (3)) ***** error betapdf (i, 2, 2) ***** error betapdf (2, i, 2) ***** error betapdf (2, 2, i) 21 tests, 21 passed, 0 known failure, 0 skipped [inst/normalise_distribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/normalise_distribution.m ***** test v = normalise_distribution ([1 2 3], [], 1); assert_equal (v, [0 0 0]) ***** test v = normalise_distribution ([1 2 3], [], 2); assert_equal (v, norminv ([1 3 5] / 6), 3 * eps) ***** test v = normalise_distribution ([1 2 3]', [], 2); assert_equal (v, [0 0 0]') ***** test v = normalise_distribution ([1 2 3]', [], 1); assert_equal (v, norminv ([1 3 5]' / 6), 3 * eps) ***** test v = normalise_distribution ([1 1 2 2 3 3], [], 2); assert_equal (v, norminv ([3 3 7 7 11 11] / 12), 3 * eps) ***** test v = normalise_distribution ([1 1 2 2 3 3]', [], 1); assert_equal (v, norminv ([3 3 7 7 11 11]' / 12), 3 * eps) ***** test A = randn ( 10 ); N = normalise_distribution (A, @normcdf); assert_equal (A, N, 10000 * eps) ***** test A = exprnd (1, 100); N = normalise_distribution (A, @(x)(expcdf (x, 1))); assert_equal (mean (vec (N)), 0, 0.1) assert_equal (std (vec (N)), 1, 0.1) ***** test A = rand (1000,1); N = normalise_distribution (A, {@(x)(unifcdf (x, 0, 1))}); assert_equal (mean (vec (N)), 0, 0.2) assert_equal (std (vec (N)), 1, 0.1) ***** test A = [rand(1000,1), randn(1000, 1)]; N = normalise_distribution (A, {@(x)(unifcdf (x, 0, 1)), @normcdf}); assert_equal (mean (N), [0, 0], 0.2) assert_equal (std (N), [1, 1], 0.1) ***** test A = [rand(1000,1), randn(1000, 1), exprnd(1, 1000, 1)]'; N = normalise_distribution (A, {@(x)(unifcdf (x, 0, 1)); @normcdf; @(x)(expcdf (x, 1))}, 2); assert_equal (mean (N, 2), [0, 0, 0]', 0.2); assert_equal (std (N, [], 2), [1, 1, 1]', 0.1); ***** xtest A = exprnd (1, 1000, 9); A(300:500, 4:6) = 17; N = normalise_distribution (A); assert_equal (mean (N), [0 0 0 0.38 0.38 0.38 0 0 0], 0.1); assert_equal (var (N), [1 1 1 2.59 2.59 2.59 1 1 1], 0.1); ***** test ***** error normalise_distribution (zeros (3, 4), ... {@(x)(unifcdf (x, 0, 1)); @normcdf; @(x)(expcdf (x,1))}); 14 tests, 14 passed, 0 known failure, 0 skipped [inst/barttest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/barttest.m ***** error barttest () ***** error barttest ([2,NaN;3,4]) ***** error barttest (ones (30, 4), 'alpha') ***** error barttest (ones (30, 4), 0) ***** error barttest (ones (30, 4), 1.2) ***** error barttest (ones (30, 4), [0.2, 0.05]) ***** error barttest (ones (30, 1)) ***** error barttest (ones (30, 1), 0.05) ***** test x = [2, 3, 4, 5, 6, 7, 8, 9; 1, 2, 3, 4, 5, 6, 7, 8]'; [ndim, pval, chisq] = barttest (x); assert_equal (ndim, 2); assert_equal (pval, 0); ## assert_equal (chisq, 512.0558, 1e-4); Result differs between octave 6 and 7 ? ***** test x = [0.53767, 0.62702, -0.10224, -0.25485, 1.4193, 1.5237 ; ... 1.8339, 1.6452, -0.24145, -0.23444, 0.29158, 0.1634 ; ... -2.2588, -2.1351, 0.31286, 0.39396, 0.19781, 0.20995 ; ... 0.86217, 1.0835, 0.31286, 0.46499, 1.5877, 1.495 ; ... 0.31877, 0.38454, -0.86488, -0.63839, -0.80447, -0.7536 ; ... -1.3077, -1.1487, -0.030051, -0.017629, 0.69662, 0.60497 ; ... -0.43359, -0.32672, -0.16488, -0.37364, 0.83509, 0.89586 ; ... 0.34262, 0.29639, 0.62771, 0.51672, -0.24372, -0.13698 ; ... 3.5784, 3.5841, 1.0933, 0.93258, 0.21567, 0.455 ; ... 2.7694, 2.6307, 1.1093, 1.4298, -1.1658, -1.1816 ; ... -1.3499, -1.2111, -0.86365, -0.94186, -1.148, -1.4381 ; ... 3.0349, 2.8428, 0.077359, 0.18211, 0.10487, -0.014613; ... 0.7254, 0.56737, -1.2141, -1.2291, 0.72225, 0.90612 ; ... -0.063055,-0.17662, -1.1135, -0.97701, 2.5855, 2.4084 ; ... 0.71474, 0.29225, -0.0068493, -0.11468, -0.66689, -0.52466 ; ... -0.20497, -7.8874e-06, 1.5326, 1.3195, 0.18733, 0.20296 ; ... -0.12414, -0.077029, -0.76967, -0.96262, -0.082494, 0.121 ; ... 1.4897, 1.3683, 0.37138, 0.43653, -1.933, -2.1903 ; ... 1.409, 1.5882, -0.22558, -0.24835, -0.43897, -0.46247 ; ... 1.4172, 1.1616, 1.1174, 1.0785, -1.7947, -1.9471 ]; [ndim, pval, chisq] = barttest (x); assert_equal (ndim, 3); assert_equal (pval, [0; 0; 0; 0.52063; 0.34314], 1e-5); chisq_out = [251.6802; 210.2670; 153.1773; 4.2026; 2.1392]; assert_equal (chisq, chisq_out, 1e-4); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/fitgmdist.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/fitgmdist.m ***** demo ## Generate a two-cluster problem C1 = randn (100, 2) + 2; C2 = randn (100, 2) - 2; data = [C1; C2]; ## Perform clustering GMModel = fitgmdist (data, 2); ## Plot the result figure [heights, bins] = hist3 ([C1; C2]); [xx, yy] = meshgrid (bins{1}, bins{2}); bbins = [xx(:), yy(:)]; contour (reshape (GMModel.pdf (bbins), size (heights))); ***** demo Angle_Theta = [ 30 + 10 * randn(1, 10), 60 + 10 * randn(1, 10) ]'; nbOrientations = 2; initial_orientations = [38.0; 18.0]; initial_weights = ones (1, nbOrientations) / nbOrientations; initial_Sigma = 10 * ones (1, 1, nbOrientations); start = struct ('mu', initial_orientations, 'Sigma', initial_Sigma, ... 'ComponentProportion', initial_weights); GMModel_Theta = fitgmdist (Angle_Theta, nbOrientations, 'Start', start , ... 'RegularizationValue', 0.0001) ***** test load fisheriris classes = unique (species); [~, score] = pca (meas, 'NumComponents', 2); options.MaxIter = 1000; options.TolFun = 1e-6; options.Display = 'off'; GMModel = fitgmdist (score, 2, 'Options', options); assert_equal (isa (GMModel, 'gmdistribution'), true); assert_equal (GMModel.mu, [1.3212, -0.0954; -2.6424, 0.1909], 1e-4); 1 test, 1 passed, 0 known failure, 0 skipped [inst/stepwisefit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/stepwisefit.m ***** test X = [7 26 6 60; 1 29 15 52; 11 56 8 20; 11 31 8 47; 7 52 6 33; 11 55 9 22; 3 71 17 6; 1 31 22 44; 2 54 18 22; 21 47 4 26; 1 40 23 34; 11 66 9 12; 10 68 8 12]; y = [78.5; 74.3; 104.3; 87.6; 95.9; 109.2; 102.7; 72.5; 93.1; 115.9; 83.8; 113.3; 109.4]; [b,se,pval,finalmodel,stats] = stepwisefit (X,y); assert_equal (finalmodel, [true false false true]); assert_equal (b, [1.4400; 0.4161; -0.4100; -0.6140], 1e-4); assert_equal (se, [0.1384; 0.1856; 0.1992; 0.0486], 1e-4); assert_equal (pval, [0; 0.0517; 0.0697; 0], 1e-4); assert_equal (stats.rmse, 2.7343, 1e-4); assert_equal (stats.SStotal, 2715.7631, 1e-3); assert_equal (stats.SSresid, 74.7621, 1e-4); assert_equal (stats.df0, 2); assert_equal (stats.dfe, 10); assert_equal (stats.intercept, 103.0974, 1e-4); ***** test X = [ 12.0 4 120 95 2600; 11.5 6 200 110 3000; 10.5 8 300 150 3600; 13.0 4 140 100 2800; 12.5 6 180 120 3200; 11.0 8 250 140 3500; 14.0 4 130 98 2700; 13.5 6 210 115 3100; 12.2 8 320 160 3800; 11.8 4 150 105 2900 ]; y = [28; 22; 18; 27; 23; 19; 29; 21; 17; 26]; [b,se,pval,finalmodel,stats] = stepwisefit (X,y); assert_equal (islogical (finalmodel), true); assert_equal (numel (finalmodel) == 5, true); assert_equal (sum (finalmodel) >= 1, true); assert_equal (isnumeric (b), true); assert_equal (isnumeric (se), true); assert_equal (isnumeric (pval), true); assert_equal (stats.rmse > 0, true); assert_equal (isfinite (stats.intercept), true); ***** test X = randn (30, 4); y = randn (30, 1); [~,~,~,~,stats] = stepwisefit (X, y); required_fields = { 'source', 'df0', 'dfe', 'SStotal', 'SSresid', 'fstat', 'pval', ... 'rmse', 'xr', 'yr', 'B', 'SE', 'TSTAT', 'PVAL', 'covb', ... 'intercept', 'wasnan' }; for k = 1:numel (required_fields) assert_equal (isfield (stats, required_fields{k}), true); endfor ***** test X = randn (40, 5); y = randn (40, 1); [b,se,pval,finalmodel,stats] = stepwisefit (X, y); p = columns (X); n = rows (X(! stats.wasnan, :)); assert_equal (size (stats.yr), [n, 1]); assert_equal (rows (stats.B) == p, true); assert_equal (rows (stats.SE) == p, true); assert_equal (rows (stats.TSTAT) == p, true); assert_equal (rows (stats.PVAL) == p, true); assert_equal (size (stats.covb), [p+1, p+1]); ***** test X = randn (25, 3); y = randn (25, 1); [~,~,~,~,stats] = stepwisefit (X, y); SSresid_calc = sum (stats.yr .^ 2); assert_equal (SSresid_calc, stats.SSresid, 1e-10); rmse_calc = sqrt (stats.SSresid / stats.dfe); assert_equal (rmse_calc, stats.rmse, 1e-10); ***** test X = randn (50, 6); y = randn (50, 1); [~,~,~,~,stats] = stepwisefit (X, y); if (stats.df0 > 0) F_calc = ((stats.SStotal - stats.SSresid) / stats.df0) ... / (stats.SSresid / stats.dfe); assert_equal (F_calc, stats.fstat, 1e-10); assert_equal (stats.pval >= 0 && stats.pval <= 1, true); else assert_equal (isnan (stats.fstat), true); assert_equal (isnan (stats.pval), true); endif ***** test X = randn (35, 4); y = randn (35, 1); [~,~,~,finalmodel,stats] = stepwisefit (X, y); p = columns (X); k = sum (finalmodel); assert_equal (size (stats.xr, 2) == p - k, true); assert_equal (all (isfinite (stats.xr(:))), true); ***** test X = randn (35, 4); y = randn (35, 1); [~,~,~,finalmodel,stats] = stepwisefit (X, y); Xc = X(! stats.wasnan, :); Xfinal = [ones(rows (Xc),1), Xc(:, finalmodel)]; for j = 1:columns (stats.xr) ortho = Xfinal' * stats.xr(:,j); assert_equal (max (abs (ortho(:))) < 1e-6, true); endfor ***** test X = randn (40, 5); y = randn (40, 1); [~,~,~,finalmodel,stats,nextstep,history] = stepwisefit (X, y); assert_equal (nextstep == 0, true); assert_equal (isstruct (history), true); assert_equal (isfield (history, 'in'), true); assert_equal (isfield (history, 'df0'), true); assert_equal (isfield (history, 'rmse'), true); assert_equal (isfield (history, 'B'), true); assert_equal (isequal (history.in, finalmodel), true); assert_equal (history.df0 == stats.df0, true); assert_equal (history.rmse == stats.rmse, true); assert_equal (rows (history.B) == columns (X), true); ***** test X = randn (20,4); y = randn (20,1); stepwisefit (X,y,'Keep',[true false true false]); ***** test X = randn (30, 4); y = randn (30, 1); keep = [true false false false]; [~,~,~,finalmodel] = stepwisefit (X, y, 'Keep', keep); assert_equal (finalmodel(1) == true, true); ***** test X = randn (40, 6); y = randn (40, 1); [~,~,~,finalmodel] = stepwisefit (X, y, 'MaxIter', 1); assert_equal (islogical (finalmodel), true); ***** test X = randn (50, 5); y = randn (50, 1); [b1] = stepwisefit (X, y); [b2] = stepwisefit (X, y, 'Scale', 'on'); assert_equal (rows (b1) == rows (b2), true); ***** test X = randn (20,4); y = randn (20,1); fail ('stepwisefit (X,y,''Keep'',[true false])'); ***** error ... stepwisefit () ***** error ... stepwisefit (ones (2,2,2), [1;2]) ***** error ... stepwisefit (ones (3,2), ones (2,1)) ***** error ... stepwisefit (randn (10,2), randn (10,1), 'UnknownOpt', 5) ***** error ... stepwisefit (randn (10,2), randn (10,1), 'Display', 'maybe') ***** error ... stepwisefit (randn (10,2), randn (10,1), 'Scale', 123) ***** error ... stepwisefit (randn (10,2), randn (10,1), 'PEnter', -0.1) ***** error ... stepwisefit (randn (10,2), randn (10,1), 'PRemove', 1.5) ***** error ... stepwisefit (randn (10,2), randn (10,1), ... 'PEnter', 0.05, 'PRemove', 0.01) ***** error ... stepwisefit (randn (10,2), randn (10,1), 'MaxIter', -2) ***** error ... stepwisefit (randn (10,2), randn (10,1), 'MaxIter', 2.5) ***** error ... stepwisefit (randn (10,2), randn (10,1), 'Keep', [1 0]) ***** error ... stepwisefit (randn (10,2), randn (10,1), 'InModel', [1 0]) ***** error ... stepwisefit (randn (10,4), randn (10,1), 'Keep', [true false]) ***** error ... stepwisefit (randn (10,4), randn (10,1), 'InModel', true) 29 tests, 29 passed, 0 known failure, 0 skipped [inst/chi2gof.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/chi2gof.m ***** demo x = normrnd (50, 5, 100, 1); [h, p, stats] = chi2gof (x) [h, p, stats] = chi2gof (x, 'cdf', @(x)normcdf (x, mean (x), std (x))) [h, p, stats] = chi2gof (x, 'cdf', {@normcdf, mean(x), std(x)}) ***** demo x = rand (100,1 ); n = length (x); binedges = linspace (0, 1, 11); expectedCounts = n * diff (binedges); [h, p, stats] = chi2gof (x, 'binedges', binedges, 'expected', expectedCounts) ***** demo bins = 0:5; obsCounts = [6 16 10 12 4 2]; n = sum (obsCounts); lambdaHat = sum (bins.*obsCounts) / n; expCounts = n * poisspdf (bins,lambdaHat); [h, p, stats] = chi2gof (bins, 'binctrs', bins, 'frequency', obsCounts, ... 'expected', expCounts, 'nparams',1) ***** error chi2gof () ***** error chi2gof ([2,3;3,4]) ***** error chi2gof ([1,2,3,4], 'nbins', 3, 'ctrs', [2,3,4]) ***** error chi2gof ([1,2,3,4], 'frequency', [2,3,2]) ***** error chi2gof ([1,2,3,4], 'frequency', [2,3,2,-2]) ***** error chi2gof ([1,2,3,4], 'frequency', [2,3,2,2], 'nparams', i) ***** error chi2gof ([1,2,3,4], 'frequency', [2,3,2,2], 'alpha', 1.3) ***** error chi2gof ([1,2,3,4], 'expected', [-3,2,2]) ***** error chi2gof ([1,2,3,4], 'expected', [3,2,2], 'nbins', 5) ***** error chi2gof ([1,2,3,4], 'cdf', @normcdff) ***** test x = [1 2 1 3 2 4 3 2 4 3 2 2]; [h, p, stats] = chi2gof (x); assert_equal (h, 0); assert_equal (p, NaN); assert_equal (stats.chi2stat, 0.1205375022748029, 1e-14); assert_equal (stats.df, 0); assert_equal (stats.edges, [1, 2.5, 4], 1e-14); assert_equal (stats.O, [7, 5], 1e-14); assert_equal (stats.E, [6.399995519909668, 5.600004480090332], 1e-14); 11 tests, 11 passed, 0 known failure, 0 skipped [inst/vartest2.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/vartest2.m ***** error vartest2 (); ***** error vartest2 (ones (20,1)); ***** error ... vartest2 (rand (20,1), 5); ***** error ... vartest2 (rand (20,1), rand (25,1)*2, 'alpha', 0); ***** error ... vartest2 (rand (20,1), rand (25,1)*2, 'alpha', 1.2); ***** error ... vartest2 (rand (20,1), rand (25,1)*2, 'alpha', 'some'); ***** error ... vartest2 (rand (20,1), rand (25,1)*2, 'alpha', [0.05, 0.001]); ***** error ... vartest2 (rand (20,1), rand (25,1)*2, 'tail', [0.05, 0.001]); ***** error ... vartest2 (rand (20,1), rand (25,1)*2, 'tail', 'some'); ***** error ... vartest2 (rand (20,1), rand (25,1)*2, 'dim', 3); ***** error ... vartest2 (rand (20,1), rand (25,1)*2, 'alpha', 0.001, 'dim', 3); ***** error ... vartest2 (rand (20,1), rand (25,1)*2, 'some', 3); ***** error ... vartest2 (rand (20,1), rand (25,1)*2, 'some'); ***** test load carsmall [h, pval, ci, stat] = vartest2 (MPG(Model_Year==82), MPG(Model_Year==76)); assert_equal (h, 0); assert_equal (pval, 0.6288022362718455, 1e-13); assert_equal (ci, [0.4139; 1.7193], 1e-4); assert_equal (stat.fstat, 0.8384, 1e-4); assert_equal (stat.df1, 30); assert_equal (stat.df2, 33); ***** test load carsmall [h, pval, ci, stat] = vartest2 (MPG(Model_Year==82), MPG(Model_Year==76), ... 'tail', 'left'); assert_equal (h, 0); assert_equal (pval, 0.314401118135922, 1e-13); assert_equal (ci, [0; 1.5287], 1e-4); assert_equal (stat.fstat, 0.8384, 1e-4); assert_equal (stat.df1, 30); assert_equal (stat.df2, 33); ***** test load carsmall [h, pval, ci, stat] = vartest2 (MPG(Model_Year==82), MPG(Model_Year==76), ... 'tail', 'right'); assert_equal (h, 0); assert_equal (pval, 0.685598881864077, 1e-13); assert_equal (ci, [0.4643; Inf], 1e-4); assert_equal (stat.fstat, 0.8384, 1e-4); assert_equal (stat.df1, 30); assert_equal (stat.df2, 33); 16 tests, 16 passed, 0 known failure, 0 skipped [inst/factoran.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/factoran.m ***** demo x = [ 7 26 6 60; 1 29 15 52; 11 56 8 20; 11 31 8 47; 7 52 6 33; 11 55 9 22; 3 71 17 6; 1 31 22 44; 2 54 18 22; 21 47 4 26; 1 40 23 34; 11 66 9 12; 10 68 8 12 ]; [loadings, specvar, fscores] = factoran (x, 2); ***** test x = [1, 2; 2, 1; 3, 3]; [loadings, specvar, fscores] = factoran (x, 1); l_out = [0.7071; 0.7071]; s_out = [0.5000; 0.5000]; f_out = [-0.7071; -0.7071; 1.4142]; assert_equal (loadings, l_out, 1.3e-4); assert_equal (specvar, s_out, 1.3e-4); assert_equal (fscores, f_out, 1.3e-4); ***** error factoran () ***** error factoran (ones (5,3), 0) ***** error factoran (ones (5,3), 3) ***** error factoran ({1,2}, 1) ***** error factoran (ones (2,2,2), 1) ***** error x=ones (3,2); x(:,2)=0; factoran (x,1) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/ppplot.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/ppplot.m ***** test hf = figure ('visible', 'off'); unwind_protect ppplot ([2 3 3 4 4 5 6 5 6 7 8 9 8 7 8 9 0 8 7 6 5 4 6 13 8 15 9 9]); unwind_protect_cleanup close (hf); end_unwind_protect ***** error ppplot () ***** error ppplot (ones (2,2)) ***** error ppplot (1, 2) ***** error ppplot ([1 2 3 4], 2) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/probit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/probit.m ***** assert_equal (probit ([-1, 0, 0.5, 1, 2]), [NaN, -Inf, 0, Inf, NaN]) ***** assert_equal (probit ([0.2, 0.99]), norminv ([0.2, 0.99])) ***** error probit () ***** error probit (1, 2) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/fillmissing.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/fillmissing.m ***** assert_equal (fillmissing ([1, 2, 3], 'constant', 99), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, NaN], 'constant', 99), [1, 2, 99]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'constant', 99), [99, 2, 99]) ***** assert_equal (fillmissing ([1, 2, 3]', 'constant', 99), [1, 2, 3]') ***** assert_equal (fillmissing ([1, 2, NaN]', 'constant', 99), [1, 2, 99]') ***** assert_equal (fillmissing ([1, 2, 3; 4, 5, 6], 'constant', 99), [1, 2, 3; 4, 5, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'constant', 99), [1, 2, 99; 4, 99, 6]) ***** assert_equal (fillmissing ([NaN, 2, NaN; 4, NaN, 6], 'constant', [97, 98, 99]), [97, 2, 99; 4, 98, 6]) ***** test x = cat (3, [1, 2, NaN; 4, NaN, 6], [NaN, 2, 3; 4, 5, NaN]); y = cat (3, [1, 2, 99; 4, 99, 6], [99, 2, 3; 4, 5, 99]); assert_equal (fillmissing (x, 'constant', 99), y); y = cat (3, [1, 2, 96; 4, 95, 6], [97, 2, 3; 4, 5, 99]); assert_equal (fillmissing (x, 'constant', [94:99]), y); assert_equal (fillmissing (x, 'constant', [94:99]'), y); assert_equal (fillmissing (x, 'constant', permute ([94:99], [1 3 2])), y); assert_equal (fillmissing (x, 'constant', [94, 96, 98; 95, 97, 99]), y); assert_equal (fillmissing (x, 'constant', [94:99], 1), y); y = cat (3, [1, 2, 96; 4, 97, 6], [98, 2, 3; 4, 5, 99]); assert_equal (fillmissing (x, 'constant', [96:99], 2), y); y = cat (3, [1, 2, 98; 4, 97, 6], [94, 2, 3; 4, 5, 99]); assert_equal (fillmissing (x, 'constant', [94:99], 3), y); y = cat (3, [1, 2, 92; 4, 91, 6], [94, 2, 3; 4, 5, 99]); assert_equal (fillmissing (x, 'constant', [88:99], 99), y); ***** test x = reshape ([1:24], 4, 3, 2); x([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = NaN; y = x; y([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = [94, 95, 95, 96, 96, 97, 97, 98, 99, 99]; assert_equal (fillmissing (x, 'constant', [94:99], 1), y); y([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = [92, 93, 94, 92, 95, 97, 99, 98, 97, 98]; assert_equal (fillmissing (x, 'constant', [92:99], 2), y); y([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = [88, 93, 94, 96, 99, 89, 91, 94, 97, 98]; assert_equal (fillmissing (x, 'constant', [88:99], 3), y); y([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = [76, 81, 82, 84, 87, 89, 91, 94, 97, 98]; assert_equal (fillmissing (x, 'constant', [76:99], 99), y); ***** assert_equal (fillmissing ([1, 2, 3], 'constant', 99, 'endvalues', 88), [1, 2, 3]) ***** assert_equal (fillmissing ([1, NaN, 3], 'constant', 99, 'endvalues', 88), [1, 99, 3]) ***** assert_equal (fillmissing ([1, 2, NaN], 'constant', 99, 'endvalues', 88), [1, 2, 88]) ***** assert_equal (fillmissing ([NaN, 2, 3], 'constant', 99, 'endvalues', 88), [88, 2, 3]) ***** assert_equal (fillmissing ([NaN, NaN, 3], 'constant', 99, 'endvalues', 88), [88, 88, 3]) ***** assert_equal (fillmissing ([1, NaN, NaN], 'constant', 99, 'endvalues', 88), [1, 88, 88]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'constant', 99, 'endvalues', 88), [88, 2, 88]) ***** assert_equal (fillmissing ([NaN, 2, NaN]', 'constant', 99, 'endvalues', 88), [88, 2, 88]') ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'constant', 99, 'endvalues', 88), [1, 99, 3, 99, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'constant', 99, 'endvalues', 88), [1, 99, 99, 99, 5]) ***** assert_equal (fillmissing ([NaN, NaN, NaN, NaN, 5], 'constant', 99, 'endvalues', 88), [88, 88, 88, 88, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, 4, NaN], 'constant', 99, 'endvalues', 88), [1, 99, 3, 4, 88]) ***** assert_equal (fillmissing ([1, NaN, 3, 4, NaN], 'constant', 99, 1, 'endvalues', 88), [1, 88, 3, 4, 88]) ***** assert_equal (fillmissing ([1, NaN, 3, 4, NaN], 'constant', 99, 1, 'endvalues', 'extrap'), [1, 99, 3, 4, 99]) ***** test x = reshape ([1:24], 3, 4, 2); y = x; x([1, 2, 5, 6, 8, 10, 13, 16, 18, 19, 20, 21, 22]) = NaN; y([1, 2, 5, 6, 10, 13, 16, 18, 19, 20, 21, 22]) = 88; y([8]) = 99; assert_equal (fillmissing (x, 'constant', 99, 'endvalues', 88), y); assert_equal (fillmissing (x, 'constant', 99, 1, 'endvalues', 88), y); y = x; y([1, 2, 5, 8, 10, 13, 16, 19, 22]) = 88; y([6, 18, 20, 21]) = 99; assert_equal (fillmissing (x, 'constant', 99, 2, 'endvalues', 88), y); y(y == 99) = 88; assert_equal (fillmissing (x, 'constant', 99, 3, 'endvalues', 88), y); assert_equal (fillmissing (x, 'constant', 99, 4, 'endvalues', 88), y); assert_equal (fillmissing (x, 'constant', 99, 99, 'endvalues', 88), y); y([8]) = 94; assert_equal (fillmissing (x, 'constant', [92:99], 1, 'endvalues', 88), y); y([6, 8, 18, 20, 21]) = [96, 88, 99, 98, 99]; assert_equal (fillmissing (x, 'constant', [94:99], 2, 'endvalues', 88), y); y = x; y(isnan (y)) = 88; assert_equal (fillmissing (x, 'constant', [88:99], 3, 'endvalues', 88), y); y = x; y(isnan (y)) = [82, 82, 83, 83, 94, 85, 86, 87, 87, 88, 88, 88, 89]; assert_equal (fillmissing (x, 'constant', [92:99], 1, 'endvalues', [82:89]), y); y = x; y(isnan (y)) = [84, 85, 85, 96, 85, 84, 87, 87, 99, 87, 98, 99, 87]; assert_equal (fillmissing (x, 'constant', [94:99], 2, 'endvalues', [84:89]), y); y = x; y(isnan (y)) = [68, 69, 72, 73, 75, 77, 68, 71, 73, 74, 75, 76, 77]; assert_equal (fillmissing (x, 'constant', [88:99], 3, 'endvalues', [68:79]), y); assert_equal (fillmissing (x, 'constant', [88:93; 94:99]', 3, 'endvalues', [68:73; 74:79]'), y) ***** test x = reshape ([1:24],4,3,2); x([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = NaN; y = x; y([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = [94, 95, 95, 96, 96, 97, 97, 98, 99, 99]; assert_equal (fillmissing (x, 'constant', [94:99], 1), y); y([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = [92, 93, 94, 92, 95, 97, 99, 98, 97, 98]; assert_equal (fillmissing (x, 'constant', [92:99], 2), y); y([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = [88, 93, 94, 96, 99, 89, 91, 94, 97, 98]; assert_equal (fillmissing (x, 'constant', [88:99], 3), y); y([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = [76, 81, 82, 84, 87, 89, 91, 94, 97, 98]; assert_equal (fillmissing (x, 'constant', [76:99], 99), y); ***** assert_equal (fillmissing ([1, 2, 3], 'previous'), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3], 'next'), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3]', 'previous'), [1, 2, 3]') ***** assert_equal (fillmissing ([1, 2, 3]', 'next'), [1, 2, 3]') ***** assert_equal (fillmissing ([1, 2, NaN], 'previous'), [1, 2, 2]) ***** assert_equal (fillmissing ([1, 2, NaN], 'next'), [1, 2, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'previous'), [NaN, 2, 2]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'next'), [2, 2, NaN]) ***** assert_equal (fillmissing ([1, NaN, 3], 'previous'), [1, 1, 3]) ***** assert_equal (fillmissing ([1, NaN, 3], 'next'), [1, 3, 3]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'previous', 1), [1, 2, NaN; 4, 2, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'previous', 2), [1, 2, 2; 4, 4, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'previous', 3), [1, 2, NaN; 4, NaN, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'next', 1), [1, 2, 6; 4, NaN, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'next', 2), [1, 2, NaN; 4, 6, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'next', 3), [1, 2, NaN; 4, NaN, 6]) ***** test x = reshape ([1:24], 4, 3, 2); x([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = NaN; y = x; y([1, 6, 7, 9, 14, 19, 22, 23]) = [2, 8, 8, 10, 15, 20, 24, 24]; assert_equal (fillmissing (x, 'next', 1), y); y = x; y([1, 6, 7, 14, 16]) = [5, 10, 11, 18, 20]; assert_equal (fillmissing (x, 'next', 2), y); y = x; y([1, 6, 9, 12]) = [13, 18, 21, 24]; assert_equal (fillmissing (x, 'next', 3), y); assert_equal (fillmissing (x, 'next', 99), x); y = x; y([6, 7, 12, 14, 16, 19, 22, 23]) = [5, 5, 11, 13, 15, 18, 21, 21]; assert_equal (fillmissing (x, 'previous', 1), y); y = x; y([6, 7, 9, 12, 19, 22, 23]) = [2, 3, 5, 8, 15, 18, 15]; assert_equal (fillmissing (x, 'previous', 2), y); y = x; y([14, 16, 22, 23]) = [2, 4, 10, 11]; assert_equal (fillmissing (x, 'previous', 3), y); assert_equal (fillmissing (x, 'previous', 99), x); ***** assert_equal (fillmissing ([1, 2, 3], 'constant', 0, 'endvalues', 'previous'), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3], 'constant', 0, 'endvalues', 'next'), [1, 2, 3]) ***** assert_equal (fillmissing ([1, NaN, 3], 'constant', 0, 'endvalues', 'previous'), [1, 0, 3]) ***** assert_equal (fillmissing ([1, NaN, 3], 'constant', 0, 'endvalues', 'next'), [1, 0, 3]) ***** assert_equal (fillmissing ([1, 2, NaN], 'constant', 0, 'endvalues', 'previous'), [1, 2, 2]) ***** assert_equal (fillmissing ([1, 2, NaN], 'constant', 0, 'endvalues', 'next'), [1, 2, NaN]) ***** assert_equal (fillmissing ([1, NaN, NaN], 'constant', 0, 'endvalues', 'previous'), [1, 1, 1]) ***** assert_equal (fillmissing ([1, NaN, NaN], 'constant', 0, 'endvalues', 'next'), [1, NaN, NaN]) ***** assert_equal (fillmissing ([NaN, 2, 3], 'constant', 0, 'endvalues', 'previous'), [NaN, 2, 3]) ***** assert_equal (fillmissing ([NaN, 2, 3], 'constant', 0, 'endvalues', 'next'), [2, 2, 3]) ***** assert_equal (fillmissing ([NaN, NaN, 3], 'constant', 0, 'endvalues', 'previous'), [NaN, NaN, 3]) ***** assert_equal (fillmissing ([NaN, NaN, 3], 'constant', 0, 'endvalues', 'next'), [3, 3, 3]) ***** assert_equal (fillmissing ([NaN, NaN, NaN], 'constant', 0, 'endvalues', 'previous'), [NaN, NaN, NaN]) ***** assert_equal (fillmissing ([NaN, NaN, NaN], 'constant', 0, 'endvalues', 'next'), [NaN, NaN, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 'endvalues', 'previous'), [NaN, 2, 0, 4, 4]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 'endvalues', 'next'), [2, 2, 0, 4, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 1, 'endvalues', 'previous'), [NaN, 2, NaN, 4, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 1, 'endvalues', 'next'), [NaN, 2, NaN, 4, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 2, 'endvalues', 'previous'), [NaN, 2, 0, 4, 4]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 2, 'endvalues', 'next'), [2, 2, 0, 4, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 3, 'endvalues', 'previous'), [NaN, 2, NaN, 4, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 3, 'endvalues', 'next'), [NaN, 2, NaN, 4, NaN]) ***** test x = reshape ([1:24], 3, 4, 2); x([1, 2, 5, 6, 8, 10, 13, 16, 18, 19, 20, 21, 22]) = NaN; y = x; y([5, 6, 8, 18]) = [4, 4, 0, 17]; assert_equal (fillmissing (x, 'constant', 0, 'endvalues', 'previous'), y); assert_equal (fillmissing (x, 'constant', 0, 1, 'endvalues', 'previous'), y); y = x; y([6, 10, 18, 20, 21]) = [0, 7, 0, 0, 0]; assert_equal (fillmissing (x, 'constant', 0, 2, 'endvalues', 'previous'), y); y = x; y([16, 19, 21]) = [4, 7, 9]; assert_equal (fillmissing (x, 'constant', 0, 3, 'endvalues', 'previous'), y); assert_equal (fillmissing (x, 'constant', 0, 4, 'endvalues', 'previous'), x); assert_equal (fillmissing (x, 'constant', 0, 99, 'endvalues', 'previous'), x); y = x; y([1, 2, 8, 10, 13, 16, 22]) = [3, 3, 0, 11, 14, 17, 23]; assert_equal (fillmissing (x, 'constant', 0, 'endvalues', 'next'), y); assert_equal (fillmissing (x, 'constant', 0, 1, 'endvalues', 'next'), y); y = x; y([1, 2, 5, 6, 8, 18, 20, 21]) = [4, 11, 11, 0, 11, 0, 0, 0]; assert_equal (fillmissing (x, 'constant', 0, 2, 'endvalues', 'next'), y); y = x; y([2, 5]) = [14, 17]; assert_equal (fillmissing (x, 'constant', 0, 3, 'endvalues', 'next'), y); assert_equal (fillmissing (x, 'constant', 0, 4, 'endvalues', 'next'), x); assert_equal (fillmissing (x, 'constant', 0, 99, 'endvalues', 'next'), x); ***** assert_equal (fillmissing ([1, 2, 3], 'nearest'), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3]', 'nearest'), [1, 2, 3]') ***** assert_equal (fillmissing ([1, 2, NaN], 'nearest'), [1, 2, 2]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'nearest'), [2, 2, 2]) ***** assert_equal (fillmissing ([1, NaN, 3], 'nearest'), [1, 3, 3]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'nearest', 1), [1, 2, 6; 4, 2, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'nearest', 2), [1, 2, 2; 4, 6, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'nearest', 3), [1, 2, NaN; 4, NaN, 6]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'nearest'), [1, 3, 3, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'nearest', 'samplepoints', [0, 1, 2, 3, 4]), [1, 3, 3, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'nearest', 'samplepoints', [0.5, 1, 2, 3, 5]), [1, 1, 3, 3, 5]) ***** test x = reshape ([1:24], 4, 3, 2); x([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = NaN; y = x; y([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = [2, 5, 8, 10, 11, 15, 15, 20, 21, 24]; assert_equal (fillmissing (x, 'nearest', 1), y); y = x; y([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = [5, 10, 11, 5, 8, 18, 20, 15, 18, 15]; assert_equal (fillmissing (x, 'nearest', 2), y); y = x; y([1, 6, 9, 12, 14, 16, 22, 23]) = [13, 18, 21, 24, 2, 4, 10, 11]; assert_equal (fillmissing (x, 'nearest', 3), y); assert_equal (fillmissing (x, 'nearest', 99), x); ***** assert_equal (fillmissing ([1, 2, 3], 'constant', 0, 'endvalues', 'nearest'), [1, 2, 3]) ***** assert_equal (fillmissing ([1, NaN, 3], 'constant', 0, 'endvalues', 'nearest'), [1 0 3]) ***** assert_equal (fillmissing ([1, 2, NaN], 'constant', 0, 'endvalues', 'nearest'), [1, 2, 2]) ***** assert_equal (fillmissing ([1, NaN, NaN], 'constant', 0, 'endvalues', 'nearest'), [1, 1, 1]) ***** assert_equal (fillmissing ([NaN, 2, 3], 'constant', 0, 'endvalues', 'nearest'), [2, 2, 3]) ***** assert_equal (fillmissing ([NaN, NaN, 3], 'constant', 0, 'endvalues', 'nearest'), [3, 3, 3]) ***** assert_equal (fillmissing ([NaN, NaN, NaN], 'constant', 0, 'endvalues', 'nearest'), [NaN, NaN, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 'endvalues', 'nearest'), [2, 2, 0, 4, 4]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 1, 'endvalues', 'nearest'), [NaN, 2, NaN, 4, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 2, 'endvalues', 'nearest'), [2, 2, 0, 4, 4]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 0, 3, 'endvalues', 'nearest'), [NaN, 2, NaN, 4, NaN]) ***** test x = reshape ([1:24], 3, 4, 2); x([1, 2, 5, 6, 8, 10, 13, 16, 18, 19, 20, 21, 22]) = NaN; y = x; y([1, 2, 5, 6, 8, 10, 13, 16, 18, 22]) = [3, 3, 4, 4, 0, 11, 14, 17, 17, 23]; assert_equal (fillmissing (x, 'constant', 0, 'endvalues', 'nearest'), y); assert_equal (fillmissing (x, 'constant', 0, 1, 'endvalues', 'nearest'), y); y = x; y([1, 2, 5, 6, 8, 10, 18, 20, 21]) = [4, 11, 11, 0, 11, 7, 0, 0, 0]; assert_equal (fillmissing (x, 'constant', 0, 2, 'endvalues', 'nearest'), y); y = x; y([2, 5, 16, 19, 21]) = [14, 17, 4, 7, 9]; assert_equal (fillmissing (x, 'constant', 0, 3, 'endvalues', 'nearest'), y); assert_equal (fillmissing (x, 'constant', 0, 99, 'endvalues', 'nearest'), x); ***** assert_equal (fillmissing ([1, 2, 3], 'linear'), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3]', 'linear'), [1, 2, 3]') ***** assert_equal (fillmissing ([1, 2, NaN], 'linear'), [1, 2, 3]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'linear'), [NaN, 2, NaN]) ***** assert_equal (fillmissing ([1, NaN, 3], 'linear'), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'linear', 1), [1, 2, NaN; 4, NaN, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'linear', 2), [1, 2, 3; 4, 5, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'linear', 3), [1, 2, NaN; 4, NaN, 6]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'linear'), [1, 2, 3, 4, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'linear', 'samplepoints', [0, 1, 2, 3, 4]), [1, 2, 3, 4, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'linear', 'samplepoints', [0, 1.5, 2, 5, 14]), [1, 2.5, 3, 3.5, 5], eps) ***** test x = reshape ([1:24], 4, 3, 2); x([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = NaN; assert_equal (fillmissing (x, 'linear', 1), reshape ([1:24], 4, 3, 2)); y = reshape ([1:24], 4, 3, 2); y([1, 9, 14, 19, 22, 23]) = NaN; assert_equal (fillmissing (x, 'linear', 2), y); y = reshape ([1:24], 4, 3, 2); y([1, 6, 7, 9, 12, 14, 16, 19, 22, 23]) = NaN; assert_equal (fillmissing (x, 'linear', 3), y); assert_equal (fillmissing (x, 'linear', 99), x); ***** assert_equal (fillmissing ([1, 2, 3], 'linear', 'endvalues', 0), [1, 2, 3]) ***** assert_equal (fillmissing ([1, NaN, 3], 'linear', 'endvalues', 0), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, NaN], 'linear', 'endvalues', 0), [1, 2, 0]) ***** assert_equal (fillmissing ([1, NaN, NaN], 'linear', 'endvalues', 0), [1, 0, 0]) ***** assert_equal (fillmissing ([NaN, 2, 3], 'linear', 'endvalues', 0), [0, 2, 3]) ***** assert_equal (fillmissing ([NaN, NaN, 3], 'linear', 'endvalues', 0), [0, 0, 3]) ***** assert_equal (fillmissing ([NaN, NaN, NaN], 'linear', 'endvalues', 0), [0, 0, 0]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'linear', 'endvalues', 0), [0, 2, 3, 4, 0]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'linear', 1, 'endvalues', 0), [0, 2, 0, 4, 0]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'linear', 2, 'endvalues', 0), [0, 2, 3, 4, 0]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'linear', 3, 'endvalues', 0), [0, 2, 0, 4, 0]) ***** test x = reshape ([1:24], 3, 4, 2); x([1, 2, 5, 6, 8, 10, 13, 16, 18, 19, 20, 21, 22]) = NaN; y = x; y([1, 2, 5, 6, 10, 13, 16, 18, 19, 20, 21, 22]) = 0; y(8) = 8; assert_equal (fillmissing (x, 'linear', 'endvalues', 0), y); assert_equal (fillmissing (x, 'linear', 1, 'endvalues', 0), y); y = x; y([1, 2, 5, 8, 10, 13, 16, 19, 22]) = 0; y([6, 18, 20, 21]) = [6, 18, 20, 21]; assert_equal (fillmissing (x, 'linear', 2, 'endvalues', 0), y); y = x; y(isnan (y)) = 0; assert_equal (fillmissing (x, 'linear', 3, 'endvalues', 0), y); assert_equal (fillmissing (x, 'linear', 99, 'endvalues', 0), y); ***** assert_equal (fillmissing ([1, 2, 3], 'constant', 99, 'endvalues', 'linear'), [1, 2, 3]) ***** assert_equal (fillmissing ([1, NaN, 3], 'constant', 99, 'endvalues', 'linear'), [1, 99, 3]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN], 'constant', 99, 'endvalues', 'linear'), [1, 99, 3, 4]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 99, 'endvalues', 'linear'), [1, 2, 99, 4, 5]) ***** assert_equal (fillmissing ([NaN, 2, NaN, NaN], 'constant', 99, 'endvalues', 'linear'), [NaN, 2, NaN, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 99, 'endvalues', 'linear', 'samplepoints', [1, 2, 3, 4, 5]), [1, 2, 99, 4, 5]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 99, 'endvalues', 'linear', 'samplepoints', [0, 2, 3, 4, 10]), [0, 2, 99, 4, 10]) ***** test x = reshape ([1:24], 3, 4, 2); x([1, 2, 5, 6, 8, 10, 13, 16, 18, 19, 20, 21, 22]) = NaN; y = x; y([1, 6, 10, 18, 20, 21]) = [2.5, 5, 8.5, 17.25, 21, 21.75]; assert_equal (fillmissing (x, 'linear', 2, 'samplepoints', [2 4 8 10]), y, eps); y([1, 6, 10, 18, 20, 21]) = [2.5, 4.5, 8.5, 17.25, 21.5, 21.75]; assert_equal (fillmissing (x, 'spline', 2, 'samplepoints', [2, 4, 8, 10]), y, eps); y([1, 6, 10, 18, 20, 21]) = [2.5, 4.559386973180077, 8.5, 17.25, 21.440613026819925, 21.75]; assert_equal (fillmissing (x, 'pchip', 2, 'samplepoints', [2, 4, 8, 10]), y, 10*eps); ***** test <60965> x = reshape ([1:24], 3, 4, 2); x([1, 2, 5, 6, 8, 10, 13, 16, 18, 19, 20, 21, 22]) = NaN; y = x; y([1, 6, 10, 18, 20, 21]) = [2.5, 4.609523809523809, 8.5, 17.25, 21.390476190476186, 21.75]; assert_equal (fillmissing (x, 'makima', 2, 'samplepoints', [2, 4, 8, 10]), y, 1e-14); ***** assert_equal (fillmissing ([1, 2, 3], 'constant', 99, 'endvalues', 'spline'), [1, 2, 3]) ***** assert_equal (fillmissing ([1, NaN, 3], 'constant', 99, 'endvalues', 'spline'), [1, 99, 3]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN], 'constant', 99, 'endvalues', 'spline'), [1, 99, 3, 4]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 99, 'endvalues', 'spline'), [1, 2, 99, 4, 5]) ***** assert_equal (fillmissing ([NaN, 2, NaN, NaN], 'constant', 99, 'endvalues', 'spline'), [NaN, 2, NaN, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 99, 'endvalues', 'spline', 'samplepoints', [1, 2, 3, 4, 5]), [1, 2, 99, 4, 5]) ***** assert_equal (fillmissing ([NaN, 2, NaN, 4, NaN], 'constant', 99, 'endvalues', 'spline', 'samplepoints', [0, 2, 3, 4, 10]), [0, 2, 99, 4, 10]) ***** assert_equal (fillmissing ([1, 2, 3], 'movmean', 1), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, NaN], 'movmean', 1), [1, 2, NaN]) ***** assert_equal (fillmissing ([1, 2, 3], 'movmean', 2), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3], 'movmean', [1, 0]), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3]', 'movmean', 2), [1, 2, 3]') ***** assert_equal (fillmissing ([1, 2, NaN], 'movmean', 2), [1, 2, 2]) ***** assert_equal (fillmissing ([1, 2, NaN], 'movmean', [1, 0]), [1, 2, 2]) ***** assert_equal (fillmissing ([1, 2, NaN], 'movmean', [1, 0]'), [1, 2, 2]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'movmean', 2), [NaN, 2, 2]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'movmean', [1, 0]), [NaN, 2, 2]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'movmean', [0, 1]), [2, 2, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'movmean', [0, 1.1]), [2, 2, NaN]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'movmean', [3, 0]), [1, 1, 3, 2, 5]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'movmean', 3, 1), [1, 2, 6; 4, 2, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'movmean', 3, 2), [1, 2, 2; 4, 5, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'movmean', 3, 3), [1, 2, NaN; 4, NaN, 6]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'movmean', 99), [1, 3, 3, 3, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'movmean', 99, 1), [1, NaN, 3, NaN, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5]', 'movmean', 99, 1), [1, 3, 3, 3, 5]') ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'movmean', 99, 2), [1, 3, 3, 3, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5]', 'movmean', 99, 2), [1, NaN, 3, NaN, 5]') ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', 3, 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, NaN, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', [1, 1], 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, NaN, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', [1.5, 1.5], 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, NaN, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', 4, 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, 1, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', [2, 2], 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, 3, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', 4.0001, 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, 3, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', 3, 'samplepoints', [1.5, 2, 3, 4, 5]), [1, 1, 1, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', 3, 'samplepoints', [1 2, 3, 4, 4.5]), [1, 1, NaN, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', 3, 'samplepoints', [1.5, 2, 3, 4, 4.5]), [1, 1, 1, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', [1.5, 1.5], 'samplepoints', [1.5, 2, 3, 4, 5]), [1, 1, 1, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', [1.5, 1.5], 'samplepoints', [1, 2, 3, 4, 4.5]), [1, 1, 5, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmean', [1.5, 1.5], 'samplepoints', [1.5, 2 3, 4, 4.5]), [1, 1, 3, 5, 5]) ***** test x = reshape ([1:24], 3, 4, 2); x([1, 2, 5, 6, 8, 10, 13, 16, 18, 19, 20, 21, 22]) = NaN; y = x; y([2, 5, 8, 10, 13, 16, 18, 22]) = [3, 4, 8, 11, 14, 17, 17, 23]; assert_equal (fillmissing (x, 'movmean', 3), y); assert_equal (fillmissing (x, 'movmean', [1, 1]), y); assert_equal (fillmissing (x, 'movmean', 3, 'endvalues', 'extrap'), y); assert_equal (fillmissing (x, 'movmean', 3, 'samplepoints', [1, 2, 3]), y); y = x; y([1, 6, 8, 10, 18, 20, 21]) = [4, 6, 11, 7, 15, 20, 24]; assert_equal (fillmissing (x, 'movmean', 3, 2), y); assert_equal (fillmissing (x, 'movmean', [1, 1], 2), y); assert_equal (fillmissing (x, 'movmean', 3, 2, 'endvalues', 'extrap'), y); assert_equal (fillmissing (x, 'movmean', 3, 2, 'samplepoints', [1, 2, 3, 4]), y); y([1, 18]) = NaN; y(6) = 9; assert_equal (fillmissing (x, 'movmean', 3, 2, 'samplepoints', [0, 2, 3, 4]), y); y = x; y([1, 2, 5, 6, 10, 13, 16, 18, 19, 20, 21, 22]) = 99; y(8) = 8; assert_equal (fillmissing (x, 'movmean', 3, 'endvalues', 99), y); y = x; y([1, 2, 5, 8, 10, 13, 16, 19, 22]) = 99; y([6, 18, 20, 21]) = [6, 15, 20, 24]; assert_equal (fillmissing (x, 'movmean', 3, 2, 'endvalues', 99), y); ***** assert_equal (fillmissing ([1, 2, 3], 'movmedian', 1), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, NaN], 'movmedian', 1), [1, 2, NaN]) ***** assert_equal (fillmissing ([1, 2, 3], 'movmedian', 2), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3], 'movmedian', [1, 0]), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3]', 'movmedian', 2), [1, 2, 3]') ***** assert_equal (fillmissing ([1, 2, NaN], 'movmedian', 2), [1, 2, 2]) ***** assert_equal (fillmissing ([1, 2, NaN], 'movmedian', [1, 0]), [1, 2, 2]) ***** assert_equal (fillmissing ([1, 2, NaN], 'movmedian', [1, 0]'), [1, 2, 2]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'movmedian', 2), [NaN, 2, 2]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'movmedian', [1, 0]), [NaN, 2, 2]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'movmedian', [0, 1]), [2, 2, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'movmedian', [0, 1.1]), [2, 2, NaN]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'movmedian', [3, 0]), [1, 1, 3, 2, 5]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'movmedian', 3, 1), [1, 2, 6; 4, 2, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'movmedian', 3, 2), [1, 2, 2; 4, 5, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], 'movmedian', 3, 3), [1, 2, NaN; 4, NaN, 6]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'movmedian', 99), [1, 3, 3, 3, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'movmedian', 99, 1), [1, NaN, 3, NaN, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5]', 'movmedian', 99, 1), [1, 3, 3, 3, 5]') ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'movmedian', 99, 2), [1, 3, 3, 3, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5]', 'movmedian', 99, 2), [1, NaN, 3, NaN, 5]') ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', 3, 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, NaN, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', [1, 1], 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, NaN, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', [1.5, 1.5], 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, NaN, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', 4, 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, 1, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', [2, 2], 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, 3, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', 4.0001, 'samplepoints', [1, 2, 3, 4, 5]), [1, 1, 3, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', 3, 'samplepoints', [1.5 2 3 4 5]), [1, 1, 1, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', 3, 'samplepoints', [1 2 3 4 4.5]), [1, 1, NaN, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', 3, 'samplepoints', [1.5 2 3 4 4.5]), [1, 1, 1, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', [1.5, 1.5], 'samplepoints', [1.5 2 3 4 5]), [1, 1, 1, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', [1.5, 1.5], 'samplepoints', [1 2 3 4 4.5]), [1, 1, 5, 5, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], 'movmedian', [1.5, 1.5], 'samplepoints', [1.5 2 3 4 4.5]), [1, 1, 3, 5, 5]) ***** test x = reshape ([1:24], 3, 4, 2); x([1, 2, 5, 6, 8, 10, 13, 16, 18, 19, 20, 21, 22]) = NaN; y = x; y([2, 5, 8, 10, 13, 16, 18, 22]) = [3, 4, 8, 11, 14, 17, 17, 23]; assert_equal (fillmissing (x, 'movmedian', 3), y); assert_equal (fillmissing (x, 'movmedian', [1, 1]), y); assert_equal (fillmissing (x, 'movmedian', 3, 'endvalues', 'extrap'), y); assert_equal (fillmissing (x, 'movmedian', 3, 'samplepoints', [1, 2, 3]), y); y = x; y([1, 6, 8, 10, 18, 20, 21]) = [4, 6, 11, 7, 15, 20, 24]; assert_equal (fillmissing (x, 'movmedian', 3, 2), y); assert_equal (fillmissing (x, 'movmedian', [1, 1], 2), y); assert_equal (fillmissing (x, 'movmedian', 3, 2, 'endvalues', 'extrap'), y); assert_equal (fillmissing (x, 'movmedian', 3, 2, 'samplepoints', [1, 2, 3, 4]), y); y([1,18]) = NaN; y(6) = 9; assert_equal (fillmissing (x, 'movmedian', 3, 2, 'samplepoints', [0, 2, 3, 4]), y); y = x; y([1, 2, 5, 6, 10, 13, 16, 18, 19, 20, 21, 22]) = 99; y(8) = 8; assert_equal (fillmissing (x, 'movmedian', 3, 'endvalues', 99), y); y = x; y([1, 2, 5, 8, 10, 13, 16, 19, 22]) = 99; y([6, 18, 20, 21]) = [6, 15, 20, 24]; assert_equal (fillmissing (x, 'movmedian', 3, 2, 'endvalues', 99), y); ***** assert_equal (fillmissing ([1, 2, 3], @(x,y,z) x+y+z, 2), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, NaN], @(x,y,z) x+y+z, 1), [1, 2, NaN]) ***** assert_equal (fillmissing ([1, 2, 3], @(x,y,z) x+y+z, 2), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3], @(x,y,z) x+y+z, [1, 0]), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3]', @(x,y,z) x+y+z, 2), [1, 2, 3]') ***** assert_equal (fillmissing ([1, 2, NaN], @(x,y,z) x+y+z, 2), [1, 2, 7]) ***** assert_equal (fillmissing ([1, 2, NaN], @(x,y,z) x+y+z, [1, 0]), [1, 2, 7]) ***** assert_equal (fillmissing ([1, 2, NaN], @(x,y,z) x+y+z, [1, 0]'), [1, 2, 7]) ***** assert_equal (fillmissing ([NaN, 2, NaN], @(x,y,z) x+y+z, 2), [5, 2, 7]) ***** assert_equal (fillmissing ([NaN, 2, NaN], @(x,y,z) x+y+z, [1, 0]), [NaN, 2, 7]) ***** assert_equal (fillmissing ([NaN, 2, NaN], @(x,y,z) x+y+z, [0, 1]), [5, 2, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN], @(x,y,z) x+y+z, [0, 1.1]), [5, 2, NaN]) ***** assert_equal (fillmissing ([1, 2, NaN, NaN, 3, 4], @(x,y,z) x+y+z, 2), [1, 2, 7, 12, 3, 4]) ***** assert_equal (fillmissing ([1, 2, NaN, NaN, 3, 4], @(x,y,z) x+y+z, 0.5), [1, 2, NaN, NaN, 3, 4]) ***** function A = testfcn (x, y, z) if (isempty (y)) A = z; elseif (numel (y) == 1) A = repelem (x(1), numel (z)); else A = interp1 (y, x, z, 'linear', 'extrap'); endif ***** endfunction ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], @testfcn, [3, 0]), [1, 1, 3, NaN, 5]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], @testfcn, 3, 1), [1, 2, 6; 4, 2, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], @testfcn, 3, 2), [1, 2, 2; 4, 5, 6]) ***** assert_equal (fillmissing ([1, 2, NaN; 4, NaN, 6], @testfcn, 3, 3), [1, 2, NaN; 4, NaN, 6]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], @testfcn, 99), [1, 2, 3, 4, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], @testfcn, 99, 1), [1, NaN, 3, NaN, 5]) ##known not-compatible. matlab bug ML2022a: [1, 1, 3, 1, 5] ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5]', @testfcn, 99, 1), [1, 2, 3, 4, 5]') ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], @testfcn, 99, 2), [1, 2, 3, 4, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5]', @testfcn, 99, 2), [1, NaN, 3, NaN, 5]') ##known not-compatible. matlab bug ML2022a: [1, 1, 3, 1, 5]' ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], @testfcn, 99, 3), [1, NaN, 3, NaN, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5]', @testfcn, 99, 3), [1, NaN, 3, NaN, 5]') ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], @testfcn, 3, 'samplepoints', [1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], @testfcn, [1, 1], 'samplepoints', [1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], @testfcn, [1.5, 1.5], 'samplepoints', [1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], @testfcn, 4, 'samplepoints', [1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], @testfcn, [2, 2], 'samplepoints', [1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]) ***** assert_equal (fillmissing ([1, NaN, NaN, NaN, 5], @testfcn, 3, 'samplepoints', [1, 2, 2.5, 3, 3.5]), [1, 2.6, 3.4, 4.2, 5], 10*eps) ***** assert_equal (fillmissing ([NaN, NaN, 3, NaN, 5], @testfcn, 99, 1), [NaN, NaN, 3, NaN, 5]) ##known not-compatible. matlab bug ML2022a: [1, 1, 3, 1, 5] ***** test ***** function A = testfcn (x, y, z) if (isempty (y)) A = z; elseif (numel (y) == 1) A = repelem (x(1), numel (z)); else A = interp1 (y, x, z, 'linear', 'extrap'); endif ***** endfunction x = reshape ([1:24], 3, 4, 2); x([1, 2, 5, 6, 8, 10, 13, 16, 18, 19, 20, 21, 22]) = NaN; y = x; y([1, 2, 5, 6, 8, 10, 13, 16, 18, 22]) = [3, 3, 4, 4, 8, 11, 14, 17, 17, 23]; assert_equal (fillmissing (x, @testfcn, 3), y); assert_equal (fillmissing (x, @testfcn, [1, 1]), y); assert_equal (fillmissing (x, @testfcn, 3, 'endvalues', 'extrap'), y); assert_equal (fillmissing (x, @testfcn, 3, 'samplepoints', [1, 2, 3]), y); y= x; y(isnan (x)) = 99; y(8) = 8; assert_equal (fillmissing (x, @testfcn, 3, 'endvalues', 99), y) y = x; y([1, 2, 5, 6, 8, 10, 18, 20, 21]) = [4, 11, 11, 6, 11, 7, 18, 20, 21]; assert_equal (fillmissing (x, @testfcn, 3, 2), y); assert_equal (fillmissing (x, @testfcn, [1, 1], 2), y); assert_equal (fillmissing (x, @testfcn, 3, 2, 'endvalues', 'extrap'), y); assert_equal (fillmissing (x, @testfcn, 3, 2, 'samplepoints', [1, 2, 3, 4]), y); y(1) = NaN; y([6, 18, 21]) = [9, 24, 24]; assert_equal (fillmissing (x, @testfcn, 3, 2, 'samplepoints', [0, 2, 3, 4]), y); y = x; y([1, 2, 5, 6, 10, 13, 16, 18, 19, 20, 21, 22]) = 99; y(8) = 8; assert_equal (fillmissing (x, @testfcn, 3, 'endvalues', 99), y); y([6, 18, 20, 21]) = [6, 18, 20, 21]; y(8) = 99; assert_equal (fillmissing (x, @testfcn, 3, 2, 'endvalues', 99), y); y([6, 18, 20, 21]) = 99; assert_equal (fillmissing (x, @testfcn, 3, 3, 'endvalues', 99), y); ***** assert_equal (fillmissing ([1, 2, 3], 'constant', 0, 'maxgap', 1), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3], 'constant', 0, 'maxgap', 99), [1, 2, 3]) ***** assert_equal (fillmissing ([1, NaN, 3], 'constant', 0, 'maxgap', 1), [1, NaN, 3]) ***** assert_equal (fillmissing ([1, NaN, 3], 'constant', 0, 'maxgap', 1.999), [1, NaN, 3]) ***** assert_equal (fillmissing ([1, NaN, 3], 'constant', 0, 'maxgap', 2), [1, 0, 3]) ***** assert_equal (fillmissing ([1, NaN, NaN, 4], 'constant', 0, 'maxgap', 2), [1, NaN, NaN, 4]) ***** assert_equal (fillmissing ([1, NaN, NaN, 4], 'constant', 0, 'maxgap', 3), [1, 0, 0, 4]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'constant', 0, 'maxgap', 2), [1, 0, 3, 0, 5]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'constant', 0, 'maxgap', 0.999), [NaN, 2, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN], 'constant', 0, 'maxgap', 1), [0, 2, 0]) ***** assert_equal (fillmissing ([NaN, 2, NaN, NaN], 'constant', 0, 'maxgap', 1), [0, 2, NaN, NaN]) ***** assert_equal (fillmissing ([NaN, 2, NaN, NaN], 'constant', 0, 'maxgap', 2), [0, 2, 0, 0]) ***** assert_equal (fillmissing ([NaN, NaN, NaN], 'constant', 0, 'maxgap', 1), [NaN, NaN, NaN]) ***** assert_equal (fillmissing ([NaN, NaN, NaN], 'constant', 0, 'maxgap', 3), [NaN, NaN, NaN]) ***** assert_equal (fillmissing ([NaN, NaN, NaN], 'constant', 0, 'maxgap', 999), [NaN, NaN, NaN]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'constant', 0, 'maxgap', 2, 'samplepoints', [0, 1, 2, 3, 5]), [1, 0, 3, NaN, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5]', 'constant', 0, 'maxgap', 2, 'samplepoints', [0, 1, 2, 3, 5]), [1, 0, 3, NaN, 5]') ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'constant', 0, 'maxgap', 2, 'samplepoints', [0, 2, 3, 4, 5]), [1, NaN, 3, 0, 5]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5; 1, NaN, 3, NaN, 5], 'constant', 0, 2, 'maxgap', 2, 'samplepoints', [0, 2, 3, 4, 5]), [1, NaN, 3, 0, 5; 1, NaN, 3, 0, 5]) ***** test x = cat (3, [1, 2, NaN; 4, NaN, NaN], [NaN, 2, 3; 4, 5, NaN]); assert_equal (fillmissing (x, 'constant', 0, 'maxgap', 0.1), x); y = x; y([4, 7, 12]) = 0; assert_equal (fillmissing (x, 'constant', 0, 'maxgap', 1), y); assert_equal (fillmissing (x, 'constant', 0, 1, 'maxgap', 1), y); y = x; y([5, 7, 12]) = 0; assert_equal (fillmissing (x, 'constant', 0, 2, 'maxgap', 1), y); y = x; y([4, 5, 7]) = 0; assert_equal (fillmissing (x, 'constant', 0, 3, 'maxgap', 1), y); ***** test x = cat (3, [1, 2, NaN; 4, NaN, NaN], [NaN, 2, 3; 4, 5, NaN]); [~, idx] = fillmissing (x, 'constant', 0, 'maxgap', 1); assert_equal (idx, logical (cat (3, [0, 0, 0; 0, 1, 0], [1, 0, 0; 0, 0, 1]))); [~, idx] = fillmissing (x, 'constant', 0, 1, 'maxgap', 1); assert_equal (idx, logical (cat (3, [0, 0, 0; 0, 1, 0], [1, 0, 0; 0, 0, 1]))); [~, idx] = fillmissing (x, 'constant', 0, 2, 'maxgap', 1); assert_equal (idx, logical (cat (3, [0, 0, 1; 0, 0, 0], [1, 0, 0; 0, 0, 1]))); [~, idx] = fillmissing (x, 'constant', 0, 3, 'maxgap', 1); assert_equal (idx, logical (cat (3, [0, 0, 1; 0, 1, 0], [1, 0, 0; 0, 0, 0]))); ***** test x = [NaN, 2, 3]; [~, idx] = fillmissing (x, 'previous'); assert_equal (idx, logical ([0, 0, 0])); [~, idx] = fillmissing (x, 'movmean', 1); assert_equal (idx, logical ([0, 0, 0])); x = [1:3; 4:6; 7:9]; x([2, 4, 7, 9]) = NaN; [~, idx] = fillmissing (x, 'linear'); assert_equal (idx, logical ([0, 1, 0; 1, 0, 0; 0, 0, 0])); [~, idx] = fillmissing (x, 'movmean', 2); assert_equal (idx, logical ([0, 0, 0; 1, 0, 0; 0, 0, 1])); [A, idx] = fillmissing ([1, 2, 3, NaN, NaN], 'movmean',2); assert_equal (A, [1, 2, 3, 3, NaN]); assert_equal (idx, logical ([0, 0, 0, 1, 0])); [A, idx] = fillmissing ([1, 2, 3, NaN, NaN], 'movmean',3); assert_equal (A, [1, 2, 3, 3, NaN]); assert_equal (idx, logical ([0, 0, 0, 1, 0])); [A, idx] = fillmissing ([1, 2, NaN, NaN, NaN], 'movmedian', 2); assert_equal (A, [1, 2, 2, NaN, NaN]); assert_equal (idx, logical ([0, 0, 1, 0, 0])); [A, idx] = fillmissing ([1, 2, 3, NaN, NaN], 'movmedian', 3); assert_equal (A, [1, 2, 3, 3, NaN]); assert_equal (idx, logical ([0, 0, 0, 1, 0])); [A, idx] = fillmissing ([1, NaN, 1, NaN, 1], @(x,y,z) z, 3); assert_equal (A, [1, 2, 1, 4, 1]); assert_equal (idx, logical ([0, 1, 0, 1, 0])); [A, idx] = fillmissing ([1, NaN, 1, NaN, 1], @(x,y,z) NaN (size (z)), 3); assert_equal (A, [1, NaN, 1, NaN, 1]); assert_equal (idx, logical ([0, 0, 0, 0, 0])); ***** assert_equal (fillmissing ([1, 2, 3], 'constant', 99, 'missinglocations', logical ([0, 0, 0])), [1, 2, 3]) ***** assert_equal (fillmissing ([1, 2, 3], 'constant', 99, 'missinglocations', logical ([1, 1, 1])), [99, 99, 99]) ***** assert_equal (fillmissing ([1, NaN, 2, 3, NaN], 'constant', 99, 'missinglocations', logical ([1, 0, 1, 0, 1])), [99, NaN, 99, 3, 99]) ***** assert_equal (fillmissing ([1, NaN, 3, NaN, 5], 'constant', NaN, 'missinglocations', logical ([0, 1, 1, 1, 0])), [1, NaN, NaN, NaN, 5]) ***** assert_equal (fillmissing (['foo '; ' bar'], 'constant', 'X', 'missinglocations', logical ([0, 0, 0, 0; 0, 0, 0, 0])), ['foo '; ' bar']) ***** assert_equal (fillmissing (['foo '; ' bar'], 'constant', 'X', 'missinglocations', logical ([1, 0, 1, 0; 0, 1, 1, 0])), ['XoX '; ' XXr']) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'constant', 'X', 'missinglocations', logical ([0, 0, 0])), {'foo', '', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'constant', 'X', 'missinglocations', logical ([1, 1, 0])), {'X', 'X', 'bar'}) ***** test [~, idx] = fillmissing ([1, NaN, 3, NaN, 5], 'constant', NaN); assert_equal (idx, logical ([0, 0, 0, 0, 0])); [~, idx] = fillmissing ([1 NaN 3 NaN 5], 'constant', NaN, 'missinglocations', logical ([0, 1, 1, 1, 0])); assert_equal (idx, logical ([0, 1, 1, 1, 0])); [A, idx] = fillmissing ([1, 2, NaN, 1, NaN], 'movmean', 3.1, 'missinglocations', logical ([0, 0, 1, 1, 0])); assert_equal (A, [1, 2, 2, NaN, NaN]); assert_equal (idx, logical ([0, 0, 1, 0, 0])); [A, idx] = fillmissing ([1, 2, NaN, NaN, NaN], 'movmean', 2, 'missinglocations', logical ([0, 0, 1, 1, 0])); assert_equal (A, [1, 2, 2, NaN, NaN]); assert_equal (idx, logical ([0, 0, 1, 0, 0])); [A, idx] = fillmissing ([1, 2, NaN, 1, NaN], 'movmean', 3, 'missinglocations', logical ([0, 0, 1, 1, 0])); assert_equal (A, [1, 2, 2, NaN, NaN]); assert_equal (idx, logical ([0, 0, 1, 0, 0])); [A, idx] = fillmissing ([1, 2, NaN, NaN, NaN], 'movmean', 3, 'missinglocations', logical ([0, 0, 1, 1, 0])); assert_equal (A, [1, 2, 2, NaN, NaN]); assert_equal (idx, logical ([0, 0, 1, 0, 0])); [A, idx] = fillmissing ([1, 2, NaN, NaN, NaN], 'movmedian', 2, 'missinglocations', logical ([0, 0, 1, 1, 0])); assert_equal (A, [1, 2, 2, NaN, NaN]); assert_equal (idx, logical ([0, 0, 1, 0, 0])); [A, idx] = fillmissing ([1, 2, NaN, NaN, NaN], 'movmedian', 3, 'missinglocations', logical ([0, 0, 1, 1, 0])); assert_equal (A, [1, 2, 2, NaN, NaN]); assert_equal (idx, logical ([0, 0, 1, 0, 0])); [A, idx] = fillmissing ([1, 2, NaN, NaN, NaN], 'movmedian', 3.1, 'missinglocations', logical ([0, 0, 1, 1, 0])); assert_equal (A, [1, 2, 2, NaN, NaN]); assert_equal (idx, logical ([0, 0, 1, 0, 0])); [A, idx] = fillmissing ([1, NaN, 1, NaN, 1], @(x,y,z) ones (size (z)), 3, 'missinglocations', logical ([0, 1, 0, 1, 1])); assert_equal (A, [1, 1, 1, 1, 1]); assert_equal (idx, logical ([0, 1, 0, 1, 1])); [A, idx] = fillmissing ([1, NaN, 1, NaN, 1], @(x,y,z) NaN (size (z)), 3, 'missinglocations', logical ([0, 1, 0, 1, 1])); assert_equal (A, [1, NaN, 1, NaN, NaN]); assert_equal (idx, logical ([0, 0, 0, 0, 0])); ***** test [A, idx] = fillmissing ([1, 2, 5], 'movmedian', 3, 'missinglocations', logical ([0, 1, 0])); assert_equal (A, [1, 3, 5]); assert_equal (idx, logical ([0, 1, 0])); ***** assert_equal (fillmissing (' foo bar ', 'constant', 'X', 'missinglocations', logical ([1, 0, 0, 0, 1, 0, 0, 0, 1])), 'XfooXbarX') ***** assert_equal (fillmissing ([' foo'; 'bar '], 'constant', 'X', 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), ['Xfoo'; 'barX']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'next', 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), ['bfoo'; 'bar ']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'next', 1, 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), ['bfoo'; 'bar ']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'previous', 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), [' foo'; 'baro']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'previous', 1, 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), [' foo'; 'baro']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'nearest', 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), ['bfoo'; 'baro']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'nearest', 1, 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), ['bfoo'; 'baro']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'next', 2, 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), ['ffoo'; 'bar ']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'previous', 2, 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), [' foo'; 'barr']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'nearest', 2, 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), ['ffoo'; 'barr']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'next', 3, 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), [' foo'; 'bar ']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'previous', 3, 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), [' foo'; 'bar ']) ***** assert_equal (fillmissing ([' foo'; 'bar '], 'nearest', 3, 'missinglocations', logical ([1, 0, 0, 0; 0, 0, 0, 1])), [' foo'; 'bar ']) ***** assert_equal (fillmissing ({'foo', 'bar'}, 'constant', 'a'), {'foo', 'bar'}) ***** assert_equal (fillmissing ({'foo', 'bar'}, 'constant', {'a'}), {'foo', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'constant', 'a'), {'foo', 'a', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'constant', {'a'}), {'foo', 'a', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'previous'), {'foo', 'foo', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'next'), {'foo', 'bar', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'nearest'), {'foo', 'bar', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'previous', 2), {'foo', 'foo', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'next', 2), {'foo', 'bar', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'nearest', 2), {'foo', 'bar', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'previous', 1), {'foo', '', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'previous', 1), {'foo', '', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'next', 1), {'foo', '', 'bar'}) ***** assert_equal (fillmissing ({'foo', '', 'bar'}, 'nearest', 1), {'foo', '', 'bar'}) ***** assert_equal (fillmissing ('abc ', @(x,y,z) x+y+z, 2, 'missinglocations', logical ([0, 0, 0, 1])), 'abcj') ***** assert_equal (fillmissing ({'foo', '', 'bar'}, @(x,y,z) x(1), 3), {'foo', 'foo', 'bar'}) ***** test [A, idx] = fillmissing (' a b c', 'constant', ' ', 'missinglocations', logical ([1, 0, 1, 0, 1, 0])); assert_equal (A, ' a b c'); assert_equal (idx, logical ([1, 0, 1, 0, 1, 0])); ***** test [A, idx] = fillmissing (' a b c', 'constant', ' '); assert_equal (A, ' a b c'); assert_equal (idx, logical ([0, 0, 0, 0, 0, 0])); ***** test [A, idx] = fillmissing ({'foo', '', 'bar', ''}, 'constant', ''); assert_equal (A, {'foo', '', 'bar', ''}); assert_equal (idx, logical ([0, 0, 0, 0])); ***** test [A, idx] = fillmissing ({'foo', '', 'bar', ''}, 'constant', {''}); assert_equal (A, {'foo', '', 'bar', ''}); assert_equal (idx, logical ([0, 0, 0, 0])); ***** test [A, idx] = fillmissing (' f o o ', @(x,y,z) repelem ('a', numel (z)), 3, 'missinglocations', logical ([1, 0, 1, 0, 1, 0, 1])); assert_equal (A, 'afaoaoa'); assert_equal (idx, logical ([1, 0, 1, 0, 1, 0, 1])); ***** test [A, idx] = fillmissing (' f o o ', @(x,y,z) repelem (' ', numel (z)), 3); assert_equal (A, ' f o o '); assert_equal (idx, logical ([0, 0, 0, 0, 0, 0, 0])); ***** test [A, idx] = fillmissing ({'', 'foo', ''}, @(x,y,z) repelem ({'a'}, numel (z)), 3); assert_equal (A, {'a', 'foo', 'a'}); assert_equal (idx, logical ([1, 0, 1])); ***** test [A, idx] = fillmissing ({'', 'foo', ''}, @(x,y,z) repelem ({''}, numel (z)), 3); assert_equal (A, {'', 'foo', ''}); assert_equal (idx, logical ([0, 0, 0])); ***** assert_equal (fillmissing (logical ([1, 0, 1, 0, 1]), 'constant', true), logical ([1, 0, 1, 0, 1])) ***** assert_equal (fillmissing (logical ([1, 0, 1, 0, 1]), 'constant', false, 'missinglocations', logical ([1, 0, 1, 0, 1])), logical ([0, 0, 0, 0, 0])) ***** assert_equal (fillmissing (logical ([1, 0, 1, 0, 1]), 'previous', 'missinglocations', logical ([1, 0, 1, 0, 1])), logical ([1, 0, 0, 0, 0])) ***** assert_equal (fillmissing (logical ([1, 0, 1, 0, 1]), 'next', 'missinglocations', logical ([1, 0, 1, 0, 1])), logical ([0, 0, 0, 0, 1])) ***** assert_equal (fillmissing (logical ([1, 0, 1, 0, 1]), 'nearest', 'missinglocations', logical ([1, 0, 1, 0, 1])), logical ([0, 0, 0, 0, 0])) ***** assert_equal (fillmissing (logical ([1, 0, 1, 0, 1]), @(x,y,z) false (size (z)), 3), logical ([1, 0, 1, 0, 1])) ***** assert_equal (fillmissing (logical ([1, 0, 1, 0, 1]), @(x,y,z) false (size (z)), 3, 'missinglocations', logical ([1, 0, 1, 0, 1])), logical ([0, 0, 0, 0, 0])) ***** assert_equal (fillmissing (logical ([1, 0, 1, 0, 1]), @(x,y,z) false (size (z)), [2, 0], 'missinglocations', logical ([1, 0, 1, 0, 1])), logical ([1, 0, 0, 0, 0])) ***** test x = logical ([1, 0, 1, 0, 1]); [~, idx] = fillmissing (x, 'constant', true); assert_equal (idx, logical ([0, 0, 0, 0, 0])); [~, idx] = fillmissing (x, 'constant', false, 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([1, 0, 1, 0, 1])); [~, idx] = fillmissing (x, 'constant', true, 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([1, 0, 1, 0, 1])); [~, idx] = fillmissing (x, 'previous', 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([0, 0, 1, 0, 1])); [~, idx] = fillmissing (x, 'next', 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([1, 0, 1, 0, 0])); [~, idx] = fillmissing (x, 'nearest', 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([1, 0, 1, 0, 1])); [~, idx] = fillmissing (x, @(x,y,z) false (size (z)), 3); assert_equal (idx, logical ([0, 0, 0, 0, 0])) [~, idx] = fillmissing (x, @(x,y,z) false (size (z)), 3, 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([1, 0, 1, 0, 1])) [~, idx] = fillmissing (x, @(x,y,z) false (size (z)), [2 0], 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([0, 0, 1, 0, 1])) ***** assert_equal (fillmissing (int32 ([1, 2, 3, 4, 5]), 'constant', 0), int32 ([1, 2, 3, 4, 5])) ***** assert_equal (fillmissing (int32 ([1, 2, 3, 4, 5]), 'constant', 0, 'missinglocations', logical ([1, 0, 1, 0, 1])), int32 ([0, 2, 0, 4, 0])) ***** assert_equal (fillmissing (int32 ([1, 2, 3, 4, 5]), 'previous', 'missinglocations', logical ([1, 0, 1, 0, 1])), int32 ([1, 2, 2, 4, 4])) ***** assert_equal (fillmissing (int32 ([1, 2, 3, 4, 5]), 'next', 'missinglocations', logical ([1, 0, 1, 0, 1])), int32 ([2, 2, 4, 4, 5])) ***** assert_equal (fillmissing (int32 ([1, 2, 3, 4, 5]), 'nearest', 'missinglocations', logical ([1, 0, 1, 0, 1])), int32 ([2, 2, 4, 4, 4])) ***** assert_equal (fillmissing (int32 ([1, 2, 3, 4, 5]), @(x,y,z) z+10, 3), int32 ([1, 2, 3, 4, 5])) ***** assert_equal (fillmissing (int32 ([1, 2, 3, 4, 5]), @(x,y,z) z+10, 3, 'missinglocations', logical ([1, 0, 1, 0, 1])), int32 ([11, 2, 13, 4, 15])) ***** assert_equal (fillmissing (int32 ([1, 2, 3, 4, 5]), @(x,y,z) z+10, [2, 0], 'missinglocations', logical ([1, 0, 1, 0, 1])), int32 ([1, 2, 13, 4, 15])) ***** test x = int32 ([1, 2, 3, 4, 5]); [~, idx] = fillmissing (x, 'constant', 0); assert_equal (idx, logical ([0, 0, 0, 0, 0])); [~, idx] = fillmissing (x, 'constant', 0, 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([1, 0, 1, 0, 1])); [~, idx] = fillmissing (x, 'constant', 3, 'missinglocations', logical ([0, 0, 1, 0, 0])); assert_equal (idx, logical ([0, 0, 1, 0, 0])); [~, idx] = fillmissing (x, 'previous', 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([0, 0, 1, 0, 1])); [~, idx] = fillmissing (x, 'next', 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([1, 0, 1, 0, 0])); [~, idx] = fillmissing (x, 'nearest', 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([1, 0, 1, 0, 1])); [~, idx] = fillmissing (x, @(x,y,z) z+10, 3); assert_equal (idx, logical ([0, 0, 0, 0, 0])); [~, idx] = fillmissing (x, @(x,y,z) z+10, 3, 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([1, 0, 1, 0, 1])); [~, idx] = fillmissing (x, @(x,y,z) z+10, [2 0], 'missinglocations', logical ([1, 0, 1, 0, 1])); assert_equal (idx, logical ([0, 0, 1, 0, 1])); ***** test [A, idx] = fillmissing ([struct, struct], 'constant', 1); assert_equal (A, [struct, struct]) assert_equal (idx, [false, false]) ***** error fillmissing () ***** error fillmissing (1) ***** error fillmissing (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13) ***** error fillmissing (1, 2) ***** error fillmissing (1, 'foo') ***** error fillmissing (1, @(x) x, 1) ***** error fillmissing (1, @(x,y) x+y, 1) ***** error fillmissing ('a b c', 'linear') ***** error fillmissing ({'a', 'b'}, 'linear') ***** error <'movmean' and 'movmedian' methods only valid for numeric> fillmissing ('a b c', 'movmean', 2) ***** error <'movmean' and 'movmedian' methods only valid for numeric> fillmissing ({'a', 'b'}, 'movmean', 2) ***** error <'constant' method must be followed by> fillmissing (1, 'constant') ***** error fillmissing (1, 'constant', []) ***** error fillmissing (1, 'constant', 'a') ***** error fillmissing ('a', 'constant', 1) ***** error fillmissing ('a', 'constant', {'foo'}) ***** error fillmissing ({'foo'}, 'constant', 1) ***** error fillmissing (1, 'movmean') ***** error fillmissing (1, 'movmedian') ***** error fillmissing (1, 'constant', 1, 0) ***** error fillmissing (1, 'constant', 1, -1) ***** error fillmissing (1, 'constant', 1, [1, 2]) ***** error fillmissing (1, 'constant', 1, 'samplepoints') ***** error fillmissing (1, 'constant', 1, 'foo') ***** error fillmissing (1, 'constant', 1, 1, 'foo') ***** error fillmissing (1, 'constant', 1, 2, {1}, 4) ***** error fillmissing ([1, 2, 3], 'constant', 1, 2, 'samplepoints', [1, 2]) ***** error fillmissing ([1, 2, 3], 'constant', 1, 2, 'samplepoints', [3, 1, 2]) ***** error fillmissing ([1, 2, 3], 'constant', 1, 2, 'samplepoints', [1, 1, 2]) ***** error fillmissing ([1, 2, 3], 'constant', 1, 2, 'samplepoints', 'abc') ***** error fillmissing ([1, 2, 3], 'constant', 1, 2, 'samplepoints', logical ([1, 1, 1])) ***** error fillmissing ([1, 2, 3], 'constant', 1, 1, 'samplepoints', [1, 2, 3]) ***** error fillmissing ('foo', 'next', 'endvalues', 1) ***** error fillmissing (1, 'constant', 1, 1, 'endvalues', 'foo') ***** error fillmissing ([1, 2, 3], 'constant', 1, 2, 'endvalues', [1, 2, 3]) ***** error fillmissing ([1, 2, 3], 'constant', 1, 1, 'endvalues', [1, 2]) ***** error fillmissing (randi (5,4,3,2), 'constant', 1, 3, 'endvalues', [1, 2]) ***** error fillmissing (1, 'constant', 1, 1, 'endvalues', {1}) ***** error fillmissing (1, 'constant', 1, 2, 'foo', 4) ***** error fillmissing (struct, 'constant', 1, 'missinglocations', false) ***** error fillmissing (1, 'constant', 1, 2, 'maxgap', 1, 'missinglocations', false) ***** error fillmissing (1, 'constant', 1, 2, 'missinglocations', false, 'maxgap', 1) ***** error fillmissing (1, 'constant', 1, 'replacevalues', true) ***** error fillmissing (1, 'constant', 1, 'datavariables', 'Varname') ***** error fillmissing (1, 'constant', 1, 2, 'missinglocations', 1) ***** error fillmissing (1, 'constant', 1, 2, 'missinglocations', 'a') ***** error fillmissing (1, 'constant', 1, 2, 'missinglocations', [true, false]) ***** error fillmissing (true, 'linear', 'missinglocations', true) ***** error fillmissing (int8 (1), 'linear', 'missinglocations', true) ***** error fillmissing (true, 'next', 'missinglocations', true, 'EndValues', 'linear') ***** error fillmissing (true, 'next', 'EndValues', 'linear', 'missinglocations', true) ***** error fillmissing (int8 (1), 'next', 'missinglocations', true, 'EndValues', 'linear') ***** error fillmissing (int8 (1), 'next', 'EndValues', 'linear', 'missinglocations', true) ***** error fillmissing (1, 'constant', 1, 2, 'maxgap', true) ***** error fillmissing (1, 'constant', 1, 2, 'maxgap', 'a') ***** error fillmissing (1, 'constant', 1, 2, 'maxgap', [1, 2]) ***** error fillmissing (1, 'constant', 1, 2, 'maxgap', 0) ***** error fillmissing (1, 'constant', 1, 2, 'maxgap', -1) ***** error fillmissing ([1, 2, 3], 'constant', [1, 2, 3]) ***** error fillmissing ([1, 2, 3]', 'constant', [1, 2, 3]) ***** error fillmissing ([1, 2, 3]', 'constant', [1, 2, 3], 1) ***** error fillmissing ([1, 2, 3], 'constant', [1, 2, 3], 2) ***** error fillmissing (randi (5, 4, 3, 2), 'constant', [1, 2], 1) ***** error fillmissing (randi (5, 4, 3, 2), 'constant', [1, 2], 2) ***** error fillmissing (randi (5, 4, 3, 2), 'constant', [1, 2], 3) ***** error fillmissing (1, @(x,y,z) x+y+z) ***** error fillmissing ([1, NaN, 2], @(x,y,z) [1, 2], 2) 387 tests, 387 passed, 0 known failure, 0 skipped [inst/jackknife.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/jackknife.m ***** demo for k = 1:1000 rand ('seed', k); # for reproducibility x = rand (10, 1); s(k) = std (x); jackstat = jackknife (@std, x); j(k) = 10 * std (x) - 9 * mean (jackstat); endfor figure (); hist ([s', j'], 0:sqrt (1/12)/10:2*sqrt (1/12)) ***** demo for k = 1:1000 randn ('seed', k); # for reproducibility x = randn (1, 50); rand ('seed', k); # for reproducibility y = rand (1, 50); jackstat = jackknife (@(x) std (x{1})/std (x{2}), y, x); j(k) = 50 * std (y) / std (x) - 49 * mean (jackstat); v(k) = sumsq ((50 * std (y) / std (x) - 49 * jackstat) - j(k)) / (50 * 49); endfor t = (j - sqrt (1 / 12)) ./ sqrt (v); figure (); plot (sort (tcdf (t, 49)), ... '-;Almost linear mapping indicates good fit with t-distribution.;') ***** test ##Example from Quenouille, Table 1 d=[0.18 4.00 1.04 0.85 2.14 1.01 3.01 2.33 1.57 2.19]; jackstat = jackknife ( @(x) 1/mean (x), d ); assert_equal ( 10 / mean (d) - 9 * mean (jackstat), 0.5240, 1e-5 ); 1 test, 1 passed, 0 known failure, 0 skipped [inst/Classification/ConfusionMatrixChart.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/ConfusionMatrixChart.m ***** demo ## Create a simple ConfusionMatrixChart Object cm = ConfusionMatrixChart (gca, [1 2; 1 2], {'A','B'}, {'XLabel','LABEL A'}) NormalizedValues = cm.NormalizedValues ClassLabels = cm.ClassLabels ***** test hf = figure ('visible', 'off'); unwind_protect cm = ConfusionMatrixChart (gca, [1 2; 1 2], {'A','B'}, {'XLabel','LABEL A'}); assert_equal (isa (cm, 'ConfusionMatrixChart'), true); unwind_protect_cleanup close (hf); end_unwind_protect 1 test, 1 passed, 0 known failure, 0 skipped [inst/Classification/CompactClassificationNeuralNetwork.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/CompactClassificationNeuralNetwork.m ***** demo ## Create a neural network classifier and its compact version # and compare their size load fisheriris X = meas; Y = species; Mdl = fitcnet (X, Y, 'ClassNames', unique (species)) CMdl = crossval (Mdl) ***** error ... CompactClassificationDiscriminant (1) ***** shared x, y, CMdl load fisheriris x = meas; y = grp2idx (species); Mdl = fitcnet (x, y, 'IterationLimit', 100); CMdl = compact (Mdl); ***** error ... predict (CMdl) ***** error ... predict (CMdl, []) ***** error ... predict (CMdl, 1) ***** error ... CMdl.ScoreTransform = 'a'; 5 tests, 5 passed, 0 known failure, 0 skipped [inst/Classification/CompactClassificationSVM.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/CompactClassificationSVM.m ***** demo ## Create a support vectors machine classifier and its compact version # and compare their size load fisheriris X = meas; Y = species; selected_classes = unique (Y)(randperm (3, 2)); selected_indices = ismember (Y, selected_classes); X_selected = X(selected_indices, :); Y_selected = Y(selected_indices); Mdl = fitcsvm (X_selected, Y_selected, 'ClassNames', selected_classes); CMdl = crossval (Mdl) ***** error ... CompactClassificationSVM (1) ***** shared x, y, CMdl load fisheriris inds = ! strcmp (species, 'setosa'); x = meas(inds, 3:4); y = grp2idx (species(inds)); ***** test xc = [min(x); mean(x); max(x)]; Mdl = fitcsvm (x, y, 'KernelFunction', 'rbf', 'Tolerance', 1e-7); CMdl = compact (Mdl); assert_equal (isempty (CMdl.Alpha), true) assert_equal (sum (CMdl.IsSupportVector), numel (CMdl.Beta)) [label, score] = predict (CMdl, xc); assert_equal (label, [1; 2; 2]); assert_equal (score(:,1), [0.99285; -0.080296; -0.93694], 1e-5); assert_equal (score(:,1), -score(:,2), eps) ***** test Mdl = fitcsvm (x, y); CMdl = compact (Mdl); assert_equal (isempty (CMdl.Beta), true) assert_equal (sum (CMdl.IsSupportVector), numel (CMdl.Alpha)) assert_equal (numel (CMdl.Alpha), 24) assert_equal (CMdl.Bias, -14.415, 1e-3) xc = [min(x); mean(x); max(x)]; label = predict (CMdl, xc); assert_equal (label, [1; 2; 2]); ***** error ... predict (CMdl) ***** error ... predict (CMdl, []) ***** error ... predict (CMdl, 1) ***** test CMdl.ScoreTransform = 'a'; ***** error ... [labels, scores] = predict (CMdl, x); ***** test rand ('seed', 1); C = cvpartition (y, 'HoldOut', 0.15); Mdl = fitcsvm (x(training (C),:), y(training (C)), ... 'KernelFunction', 'rbf', 'Tolerance', 1e-7); CMdl = compact (Mdl); testInds = test (C); expected_margin = [2.0000; 0.8579; 1.6690; 3.4141; 3.4552; ... 2.6605; 3.5251; -4.0000; -6.3411; -6.4511; ... -3.0532; -7.5054; -1.6700; -5.6227; -7.3640]; computed_margin = margin (CMdl, x(testInds,:), y(testInds,:)); assert_equal (computed_margin, expected_margin, 1e-4); ***** error ... margin (CMdl) ***** error ... margin (CMdl, zeros (2)) ***** error ... margin (CMdl, [], 1) ***** error ... margin (CMdl, 1, 1) ***** error ... margin (CMdl, [1, 2], []) ***** error ... margin (CMdl, [1, 2], [1; 2]) ***** test rand ('seed', 1); C = cvpartition (y, 'HoldOut', 0.15); Mdl = fitcsvm (x(training (C),:), y(training (C)), ... 'KernelFunction', 'rbf', 'Tolerance', 1e-7); CMdl = compact (Mdl); testInds = test (C); L1 = loss (CMdl, x(testInds,:), y(testInds,:), 'LossFun', 'binodeviance'); L2 = loss (CMdl, x(testInds,:), y(testInds,:), 'LossFun', 'classiferror'); L3 = loss (CMdl, x(testInds,:), y(testInds,:), 'LossFun', 'exponential'); L4 = loss (CMdl, x(testInds,:), y(testInds,:), 'LossFun', 'hinge'); L5 = loss (CMdl, x(testInds,:), y(testInds,:), 'LossFun', 'logit'); L6 = loss (CMdl, x(testInds,:), y(testInds,:), 'LossFun', 'quadratic'); assert_equal (L1, 2.8711, 1e-4); assert_equal (L2, 0.5333, 1e-4); assert_equal (L3, 10.9685, 1e-4); assert_equal (L4, 1.9827, 1e-4); assert_equal (L5, 1.5849, 1e-4); assert_equal (L6, 7.6739, 1e-4); ***** error ... loss (CMdl) ***** error ... loss (CMdl, zeros (2)) ***** error ... loss (CMdl, [1, 2], 1, 'LossFun') ***** error ... loss (CMdl, [], zeros (2)) ***** error ... loss (CMdl, 1, zeros (2)) ***** error ... loss (CMdl, [1, 2], []) ***** error ... loss (CMdl, [1, 2], [1; 2]) ***** error ... loss (CMdl, [1, 2], 1, 'LossFun', 1) ***** error ... loss (CMdl, [1, 2], 1, 'LossFun', 'some') ***** error ... loss (CMdl, [1, 2], 1, 'Weights', ['a', 'b']) ***** error ... loss (CMdl, [1, 2], 1, 'Weights', 'a') ***** error ... loss (CMdl, [1, 2], 1, 'Weights', [1, 2]) ***** error ... loss (CMdl, [1, 2], 1, 'some', 'some') 29 tests, 29 passed, 0 known failure, 0 skipped [inst/Classification/ClassificationDiscriminant.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/ClassificationDiscriminant.m ***** demo ## Create discriminant classifier ## Evaluate some model predictions on new data. load fisheriris x = meas; y = species; xc = [min(x); mean(x); max(x)]; obj = fitcdiscr (x, y); [label, score, cost] = predict (obj, xc); ***** demo load fisheriris model = fitcdiscr (meas, species); X = mean (meas); Y = {'versicolor'}; ## Compute loss for discriminant model L = loss (model, X, Y) ***** demo load fisheriris mdl = fitcdiscr (meas, species); X = mean (meas); Y = {'versicolor'}; ## Margin for discriminant model m = margin (mdl, X, Y) ***** demo load fisheriris x = meas; y = species; obj = fitcdiscr (x, y, 'gamma', 0.4); ## Cross-validation for discriminant model CVMdl = crossval (obj) ***** test load fisheriris x = meas; y = species; PredictorNames = {'Sepal Length', 'Sepal Width', 'Petal Length', 'Petal Width'}; Mdl = ClassificationDiscriminant (x, y, 'PredictorNames', PredictorNames); sigma = [0.265008, 0.092721, 0.167514, 0.038401; ... 0.092721, 0.115388, 0.055244, 0.032710; ... 0.167514, 0.055244, 0.185188, 0.042665; ... 0.038401, 0.032710, 0.042665, 0.041882]; mu = [5.0060, 3.4280, 1.4620, 0.2460; ... 5.9360, 2.7700, 4.2600, 1.3260; ... 6.5880, 2.9740, 5.5520, 2.0260]; xCentered = [ 9.4000e-02, 7.2000e-02, -6.2000e-02, -4.6000e-02; ... -1.0600e-01, -4.2800e-01, -6.2000e-02, -4.6000e-02; ... -3.0600e-01, -2.2800e-01, -1.6200e-01, -4.6000e-02]; assert_equal (class (Mdl), "ClassificationDiscriminant"); assert_equal ({Mdl.X, Mdl.Y, Mdl.NumObservations}, {x, y, 150}) assert_equal ({Mdl.DiscrimType, Mdl.ResponseName}, {'linear', 'Y'}) assert_equal ({Mdl.Gamma, Mdl.MinGamma}, {0, 0}, 1e-15) assert_equal (Mdl.ClassNames, unique (species)) assert_equal (Mdl.Sigma, sigma, 1e-6) assert_equal (Mdl.Mu, mu, 1e-14) assert_equal (Mdl.XCentered([1:3],:), xCentered, 1e-14) assert_equal (Mdl.LogDetSigma, -9.9585, 1e-4) assert_equal (Mdl.PredictorNames, PredictorNames) ***** test load fisheriris x = meas; y = species; Mdl = ClassificationDiscriminant (x, y, 'Gamma', 0.5); sigma = [0.265008, 0.046361, 0.083757, 0.019201; ... 0.046361, 0.115388, 0.027622, 0.016355; ... 0.083757, 0.027622, 0.185188, 0.021333; ... 0.019201, 0.016355, 0.021333, 0.041882]; mu = [5.0060, 3.4280, 1.4620, 0.2460; ... 5.9360, 2.7700, 4.2600, 1.3260; ... 6.5880, 2.9740, 5.5520, 2.0260]; xCentered = [ 9.4000e-02, 7.2000e-02, -6.2000e-02, -4.6000e-02; ... -1.0600e-01, -4.2800e-01, -6.2000e-02, -4.6000e-02; ... -3.0600e-01, -2.2800e-01, -1.6200e-01, -4.6000e-02]; assert_equal (class (Mdl), "ClassificationDiscriminant"); assert_equal ({Mdl.X, Mdl.Y, Mdl.NumObservations}, {x, y, 150}) assert_equal ({Mdl.DiscrimType, Mdl.ResponseName}, {'linear', 'Y'}) assert_equal ({Mdl.Gamma, Mdl.MinGamma}, {0.5, 0}) assert_equal (Mdl.ClassNames, unique (species)) assert_equal (Mdl.Sigma, sigma, 1e-6) assert_equal (Mdl.Mu, mu, 1e-14) assert_equal (Mdl.XCentered([1:3],:), xCentered, 1e-14) assert_equal (Mdl.LogDetSigma, -8.6884, 1e-4) ***** shared X, Y, MODEL X = rand (10,2); Y = [ones(5,1);2*ones(5,1)]; MODEL = ClassificationDiscriminant (X, Y); ***** error ClassificationDiscriminant () ***** error ... ClassificationDiscriminant (ones (4, 1)) ***** error ... ClassificationDiscriminant (X, Y, 'prior') ***** error ... ClassificationDiscriminant (ones (4,2), ones (1,4)) ***** error ... ClassificationDiscriminant (X, Y, 'PredictorNames', ['A']) ***** error ... ClassificationDiscriminant (X, Y, 'PredictorNames', 'A') ***** error ... ClassificationDiscriminant (X, Y, 'PredictorNames', {'A', 'B', 'C'}) ***** error ... ClassificationDiscriminant (X, Y, 'ResponseName', {'Y'}) ***** error ... ClassificationDiscriminant (X, Y, 'ResponseName', 1) ***** error ... ClassificationDiscriminant (X, Y, 'ClassNames', @(x)x) ***** error ... ClassificationDiscriminant (X, Y, 'ClassNames', {1}) ***** error ... ClassificationDiscriminant (X, ones (10,1), 'ClassNames', [1, 2]) ***** error ... ClassificationDiscriminant ([1;2;3;4;5], ['a';'b';'a';'a';'b'], 'ClassNames', ['a';'c']) ***** error ... ClassificationDiscriminant ([1;2;3;4;5], {'a';'b';'a';'a';'b'}, 'ClassNames', {'a','c'}) ***** error ... ClassificationDiscriminant (X, logical (ones (10,1)), 'ClassNames', [true, false]) ***** error ... ClassificationDiscriminant (X, Y, 'Prior', {'1', '2'}) ***** error ... ClassificationDiscriminant (X, ones (10,1), 'Prior', [1 2]) ***** error ... ClassificationDiscriminant (X, Y, 'Cost', [1, 2]) ***** error ... ClassificationDiscriminant (X, Y, 'Cost', 'string') ***** error ... ClassificationDiscriminant (X, Y, 'Cost', {eye(2)}) ***** error ... ClassificationDiscriminant (X, Y, 'Cost', ones (3)) ***** error ... ClassificationDiscriminant (ones (5,2), [1; 1; 2; 2; 2]) ***** error ... ClassificationDiscriminant (ones (5,2), [1; 1; 2; 2; 2], 'PredictorNames', {'A', 'B'}) ***** error ... ClassificationDiscriminant ([1,2;2,2;3,2;4,2;5,2], ones (5, 1)) ***** error ... ClassificationDiscriminant ([1,2;2,2;3,2;4,2;5,2], ones (5, 1), 'PredictorNames', {'A', 'B'}) ***** test load fisheriris x = meas; y = species; Mdl = fitcdiscr (meas, species, 'Gamma', 0.5); [label, score, cost] = predict (Mdl, [2, 2, 2, 2]); assert_equal (label, {'versicolor'}) assert_equal (score, [0, 0.9999, 0.0001], 1e-4) assert_equal (cost, [1, 0.0001, 0.9999], 1e-4) [label, score, cost] = predict (Mdl, [2.5, 2.5, 2.5, 2.5]); assert_equal (label, {'versicolor'}) assert_equal (score, [0, 0.6368, 0.3632], 1e-4) assert_equal (cost, [1, 0.3632, 0.6368], 1e-4) ***** test load fisheriris x = meas; y = species; xc = [min(x); mean(x); max(x)]; Mdl = fitcdiscr (x, y); [label, score, cost] = predict (Mdl, xc); l = {'setosa'; 'versicolor'; 'virginica'}; s = [1, 0, 0; 0, 1, 0; 0, 0, 1]; c = [0, 1, 1; 1, 0, 1; 1, 1, 0]; assert_equal (label, l) assert_equal (score, s, 1e-4) assert_equal (cost, c, 1e-4) ***** error ... predict (MODEL) ***** error ... predict (MODEL, []) ***** error ... predict (MODEL, 1) ***** test load fisheriris model = fitcdiscr (meas, species); x = mean (meas); y = {'versicolor'}; L = loss (model, x, y); assert_equal (L, 0) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y, 'Gamma', 0.4); x_test = [1, 6; 3, 3]; y_test = {'A'; 'B'}; L = loss (model, x_test, y_test); assert_equal (L, 0.3333, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3]; y_test = ['1']; L = loss (model, x_test, y_test, 'LossFun', 'quadratic'); assert_equal (L, 0.2423, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3; 5, 7]; y_test = ['1'; '2']; L = loss (model, x_test, y_test, 'LossFun', 'classifcost'); assert_equal (L, 0.3333, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3; 5, 7]; y_test = ['1'; '2']; L = loss (model, x_test, y_test, 'LossFun', 'hinge'); assert_equal (L, 0.5886, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3; 5, 7]; y_test = ['1'; '2']; W = [1; 2]; L = loss (model, x_test, y_test, 'LossFun', 'logit', 'Weights', W); assert_equal (L, 0.5107, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y, 'gamma' , 0.5); x_with_nan = [1, 2; NaN, 4]; y_test = {'A'; 'B'}; L = loss (model, x_with_nan, y_test); assert_equal (L, 0.3333, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y); x_with_nan = [1, 2; NaN, 4]; y_test = {'A'; 'B'}; L = loss (model, x_with_nan, y_test, 'LossFun', 'logit'); assert_equal (isnan (L), true) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y); customLossFun = @(C, S, W, Cost) sum (W .* sum (abs (C - S), 2)); L = loss (model, x, y, 'LossFun', customLossFun); assert_equal (L, 0.8889, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6]; y = [1; 2; 1]; model = fitcdiscr (x, y); L = loss (model, x, y, 'LossFun', 'classiferror'); assert_equal (L, 0.3333, 1e-4) ***** error ... loss (MODEL) ***** error ... loss (MODEL, ones (4,2)) ***** error ... loss (MODEL, [], zeros (2)) ***** error ... loss (MODEL, 1, zeros (2)) ***** error ... loss (MODEL, ones (4,2), ones (4,1), 'LossFun') ***** error ... loss (MODEL, ones (4,2), ones (3,1)) ***** error ... loss (MODEL, ones (4,2), ones (4,1), 'LossFun', 'a') ***** error ... loss (MODEL, ones (4,2), ones (4,1), 'Weights', 'w') load fisheriris mdl = fitcdiscr (meas, species); X = mean (meas); Y = {'versicolor'}; m = margin (mdl, X, Y); assert_equal (m, 1, 1e-6) ***** test X = [1, 2; 3, 4; 5, 6]; Y = [1; 2; 1]; mdl = fitcdiscr (X, Y, 'gamma', 0.5); m = margin (mdl, X, Y); assert_equal (m, [0.3333; -0.3333; 0.3333], 1e-4) ***** error ... margin (MODEL) ***** error ... margin (MODEL, ones (4,2)) ***** error ... margin (MODEL, [], zeros (2)) ***** error ... margin (MODEL, 1, zeros (2)) ***** error ... margin (MODEL, ones (4,2), ones (3,1)) ***** shared x, y, obj load fisheriris x = meas; y = species; obj = fitcdiscr (x, y, 'gamma', 0.4); ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.KFold == 10, true) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationDiscriminant") assert_equal (CVMdl.CrossValidatedModel, "ClassificationDiscriminant") ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'KFold', 3); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.KFold == 3, true) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationDiscriminant") assert_equal (CVMdl.CrossValidatedModel, "ClassificationDiscriminant") ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'HoldOut', 0.2); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationDiscriminant") assert_equal (CVMdl.CrossValidatedModel, "ClassificationDiscriminant") ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'LeaveOut', 'on'); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationDiscriminant") assert_equal (CVMdl.CrossValidatedModel, "ClassificationDiscriminant") ***** test status = warning; warning ('off'); rand ('seed', 23); partition = cvpartition (y, 'KFold', 3); warning (status); CVMdl = crossval (obj, 'cvPartition', partition); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal (CVMdl.KFold == 3, true) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationDiscriminant") assert_equal (CVMdl.CrossValidatedModel, "ClassificationDiscriminant") ***** error ... crossval (obj, 'kfold') ***** error... crossval (obj, 'kfold', 12, 'holdout', 0.2) ***** error ... crossval (obj, 'kfold', 'a') ***** error ... crossval (obj, 'holdout', 2) ***** error ... crossval (obj, 'leaveout', 1) ***** error ... crossval (obj, 'cvpartition', 1) 67 tests, 67 passed, 0 known failure, 0 skipped [inst/Classification/ClassificationNeuralNetwork.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/ClassificationNeuralNetwork.m ***** error ... ClassificationNeuralNetwork () ***** error ... ClassificationNeuralNetwork (ones (10,2)) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (5,1)) ***** error ... ClassificationNeuralNetwork (ones (5,3), ones (5,1), 'standardize', 'a') ***** error ... ClassificationNeuralNetwork (ones (5,2), ones (5,1), 'PredictorNames', ['A']) ***** error ... ClassificationNeuralNetwork (ones (5,2), ones (5,1), 'PredictorNames', 'A') ***** error ... ClassificationNeuralNetwork (ones (5,2), ones (5,1), 'PredictorNames', {'A', 'B', 'C'}) ***** error ... ClassificationNeuralNetwork (ones (5,2), ones (5,1), 'ResponseName', {'Y'}) ***** error ... ClassificationNeuralNetwork (ones (5,2), ones (5,1), 'ResponseName', 1) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'ClassNames', @(x)x) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'ClassNames', {1}) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'ClassNames', [1, 2]) ***** error ... ClassificationNeuralNetwork (ones (5,2), ['a';'b';'a';'a';'b'], 'ClassNames', ['a';'c']) ***** error ... ClassificationNeuralNetwork (ones (5,2), {'a';'b';'a';'a';'b'}, 'ClassNames', {'a','c'}) ***** error ... ClassificationNeuralNetwork (ones (10,2), logical (ones (10,1)), 'ClassNames', [true, false]) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'LayerSizes', -1) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'LayerSizes', 0.5) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'LayerSizes', [1,-2]) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'LayerSizes', [10,20,30.5]) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'LearningRate', -0.1) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'LearningRate', [0.1, 0.01]) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'LearningRate', 'a') ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'Activations', 123) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'Activations', 'unsupported_type') ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'LayerSizes', [10, 5], ... 'Activations', {'sigmoid', 'unsupported_type'}) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'Activations', {'sigmoid', 'relu', 'softmax'}) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'OutputLayerActivation', 123) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'OutputLayerActivation', 'unsupported_type') ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'IterationLimit', -1) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'IterationLimit', 0.5) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'IterationLimit', [1,2]) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'ScoreTransform', [1,2]) ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'ScoreTransform', 'unsupported_type') ***** error ... ClassificationNeuralNetwork (ones (10,2), ones (10,1), 'some', 'some') ***** error ... ClassificationNeuralNetwork ([1;2;3;'a';4], ones (5,1)) ***** error ... ClassificationNeuralNetwork ([1;2;3;Inf;4], ones (5,1)) ***** shared x, y, objST, Mdl load fisheriris x = meas; y = grp2idx (species); Mdl = fitcnet (x, y, 'IterationLimit', 100); ***** error ... Mdl.ScoreTransform = 'a'; ***** error ... predict (Mdl) ***** error ... predict (Mdl, []) ***** error ... predict (Mdl, 1) ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (Mdl, 'KFold', 5); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.KFold == 5, true) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationNeuralNetwork") assert_equal (CVMdl.CrossValidatedModel, "ClassificationNeuralNetwork") ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (Mdl, 'HoldOut', 0.2); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationNeuralNetwork") assert_equal (CVMdl.CrossValidatedModel, "ClassificationNeuralNetwork") ***** error ... crossval (Mdl, 'KFold') ***** error ... crossval (Mdl, 'KFold', 5, 'leaveout', 'on') ***** error ... crossval (Mdl, 'KFold', 'a') ***** error ... crossval (Mdl, 'KFold', 1) ***** error ... crossval (Mdl, 'KFold', -1) ***** error ... crossval (Mdl, 'KFold', 11.5) ***** error ... crossval (Mdl, 'KFold', [1,2]) ***** error ... crossval (Mdl, 'Holdout', 'a') ***** error ... crossval (Mdl, 'Holdout', 11.5) ***** error ... crossval (Mdl, 'Holdout', -1) ***** error ... crossval (Mdl, 'Holdout', 0) ***** error ... crossval (Mdl, 'Holdout', 1) ***** error ... crossval (Mdl, 'Leaveout', 1) ***** error ... crossval (Mdl, 'CVPartition', 1) ***** error ... crossval (Mdl, 'CVPartition', 'a') ***** error ... crossval (Mdl, 'some', 'some') 58 tests, 58 passed, 0 known failure, 0 skipped [inst/Classification/ClassificationGAM.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/ClassificationGAM.m ***** demo ## Train a GAM classifier for binary classification ## using specific data and plot the decision boundaries. ## Define specific data X = [1, 2; 2, 3; 3, 3; 4, 5; 5, 5; ... 6, 7; 7, 8; 8, 8; 9, 9; 10, 10]; Y = [0; 0; 0; 0; 0; ... 1; 1; 1; 1; 1]; ## Train the GAM model obj = fitcgam (X, Y, 'Interactions', 'all') ## Create a grid of values for prediction x1 = [min(X(:,1)):0.1:max(X(:,1))]; x2 = [min(X(:,2)):0.1:max(X(:,2))]; [x1G, x2G] = meshgrid (x1, x2); XGrid = [x1G(:), x2G(:)]; [labels, score] = predict (obj, XGrid); ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = [0; 0; 1; 1]; PredictorNames = {'Feature1', 'Feature2', 'Feature3'}; a = ClassificationGAM (x, y, 'PredictorNames', PredictorNames); assert_equal (class (a), "ClassificationGAM"); assert_equal ({a.X, a.Y, a.NumObservations}, {x, y, 4}) assert_equal ({a.NumPredictors, a.ResponseName}, {3, 'Y'}) assert_equal (a.ClassNames, {'0'; '1'}) assert_equal (a.PredictorNames, PredictorNames) assert_equal (a.BaseModel.Intercept, 0) ***** test load fisheriris inds = strcmp (species,'versicolor') | strcmp (species,'virginica'); X = meas(inds, :); Y = species(inds, :)'; Y = strcmp (Y, 'virginica')'; a = ClassificationGAM (X, Y, 'Formula', 'Y ~ x1 + x2 + x3 + x4 + x1:x2 + x2:x3'); assert_equal (class (a), "ClassificationGAM"); assert_equal ({a.X, a.Y, a.NumObservations}, {X, Y, 100}) assert_equal ({a.NumPredictors, a.ResponseName}, {4, 'Y'}) assert_equal (a.ClassNames, {'0'; '1'}) assert_equal (a.Formula, 'Y ~ x1 + x2 + x3 + x4 + x1:x2 + x2:x3') assert_equal (a.PredictorNames, {'x1', 'x2', 'x3', 'x4'}) assert_equal (a.ModelwInt.Intercept, 0) ***** test X = [2, 3, 5; 4, 6, 8; 1, 2, 3; 7, 8, 9; 5, 4, 3]; Y = [0; 1; 0; 1; 1]; a = ClassificationGAM (X, Y, 'Knots', [4, 4, 4], 'Order', [3, 3, 3]); assert_equal (class (a), "ClassificationGAM"); assert_equal ({a.X, a.Y, a.NumObservations}, {X, Y, 5}) assert_equal ({a.NumPredictors, a.ResponseName}, {3, 'Y'}) assert_equal (a.ClassNames, {'0'; '1'}) assert_equal (a.PredictorNames, {'x1', 'x2', 'x3'}) assert_equal (a.Knots, [4, 4, 4]) assert_equal (a.Order, [3, 3, 3]) assert_equal (a.DoF, [7, 7, 7]) assert_equal (a.BaseModel.Intercept, 0.4055, 1e-1) ***** test ## Test uniform prior x = [1, 2; 3, 4; 5, 6; 7, 8]; y = [0; 0; 1; 1]; a = ClassificationGAM (x, y, 'Prior', 'uniform'); assert_equal (a.Prior, [0.5, 0.5], 1e-6); ***** test ## Test empirical prior x = [1, 2; 3, 4; 5, 6; 7, 8; 9, 10]; y = [0; 0; 0; 1; 1]; a = ClassificationGAM (x, y, 'Prior', 'empirical'); assert_equal (a.Prior, [0.6; 0.4], 1e-6); ***** test ## Test numeric prior x = [1, 2; 3, 4; 5, 6; 7, 8]; y = [0; 0; 1; 1]; a = ClassificationGAM (x, y, 'Prior', [0.7, 0.3]); assert_equal (a.Prior, [0.7, 0.3], 1e-6); ***** test ## Test default prior (empirical) x = [1, 2; 3, 4; 5, 6; 7, 8; 9, 10; 11, 12]; y = [0; 0; 0; 1; 1; 1]; a = ClassificationGAM (x, y); assert_equal (a.Prior, [0.5; 0.5], 1e-6); ***** test ## Test prior normalization x = [1, 2; 3, 4; 5, 6; 7, 8]; y = [0; 0; 1; 1]; a = ClassificationGAM (x, y, 'Prior', [2, 1]); assert_equal (a.Prior, [2/3, 1/3], 1e-6); ***** error ... ClassificationGAM (ones (4,2), ones (4,1), 'Prior', [1]) ***** error ... ClassificationGAM (ones (4,2), ones (4,1), 'Prior', [1, 2, 3]) ***** error ... ClassificationGAM (ones (4,2), ones (4,1), 'Prior', {1, 2}) ***** error ... ClassificationGAM (ones (4,2), ones (4,1), 'Prior', 'invalid') ***** error ClassificationGAM () ***** error ... ClassificationGAM (ones (4, 1)) ***** error ... ClassificationGAM (ones (4,2), ones (1,4)) ***** error ... ClassificationGAM (ones (5,2), ones (5,1), 'PredictorNames', ['A']) ***** error ... ClassificationGAM (ones (5,2), ones (5,1), 'PredictorNames', 'A') ***** error ... ClassificationGAM (ones (5,2), ones (5,1), 'PredictorNames', {'A', 'B', 'C'}) ***** error ... ClassificationGAM (ones (5,2), ones (5,1), 'ResponseName', {'Y'}) ***** error ... ClassificationGAM (ones (5,2), ones (5,1), 'ResponseName', 1) ***** error ... ClassificationGAM (ones (10,2), ones (10,1), 'ClassNames', @(x)x) ***** error ... ClassificationGAM (ones (10,2), ones (10,1), 'ClassNames', {1}) ***** error ... ClassificationGAM (ones (10,2), ones (10,1), 'ClassNames', [1, 2]) ***** error ... ClassificationGAM (ones (5,2), ['a';'b';'a';'a';'b'], 'ClassNames', ['a';'c']) ***** error ... ClassificationGAM (ones (5,2), {'a';'b';'a';'a';'b'}, 'ClassNames', {'a','c'}) ***** error ... ClassificationGAM (ones (10,2), logical (ones (10,1)), 'ClassNames', [true, false]) ***** error ... ClassificationGAM (ones (5,2), ones (5,1), 'Cost', [1, 2]) ***** error ... ClassificationGAM (ones (5,2), ones (5,1), 'Cost', 'string') ***** error ... ClassificationGAM (ones (5,2), ones (5,1), 'Cost', {eye(2)}) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8; 9, 10]; y = [1; 0; 1; 0; 1]; a = ClassificationGAM (x, y, 'interactions', 'all'); l = {'1'; '1'; '1'; '1'; '1'}; s = [0.3760, 0.6240; 0.4259, 0.5741; 0.3760, 0.6240; ... 0.4259, 0.5741; 0.3760, 0.6240]; [labels, scores] = predict (a, x); assert_equal (class (a), "ClassificationGAM"); assert_equal ({a.X, a.Y, a.NumObservations}, {x, y, 5}) assert_equal ({a.NumPredictors, a.ResponseName}, {2, 'Y'}) assert_equal (a.ClassNames, {'0'; '1'}) assert_equal (a.PredictorNames, {'x1', 'x2'}) assert_equal (a.ModelwInt.Intercept, 0.4055, 1e-1) assert_equal (labels, l) assert_equal (scores, s, 1e-1) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = [0; 0; 1; 1]; interactions = [false, true, false; true, false, true; false, true, false]; a = fitcgam (x, y, 'learningrate', 0.2, 'interactions', interactions); [label, score] = predict (a, x, 'includeinteractions', true); l = {'0'; '0'; '1'; '1'}; s = [0.5106, 0.4894; 0.5135, 0.4865; 0.4864, 0.5136; 0.4847, 0.5153]; assert_equal (class (a), "ClassificationGAM"); assert_equal ({a.X, a.Y, a.NumObservations}, {x, y, 4}) assert_equal ({a.NumPredictors, a.ResponseName}, {3, 'Y'}) assert_equal (a.ClassNames, {'0'; '1'}) assert_equal (a.PredictorNames, {'x1', 'x2', 'x3'}) assert_equal (a.ModelwInt.Intercept, 0) assert_equal (label, l) assert_equal (score, s, 1e-1) ***** error ... predict (ClassificationGAM (ones (4,2), ones (4,1))) ***** error ... predict (ClassificationGAM (ones (4,2), ones (4,1)), []) ***** error ... predict (ClassificationGAM (ones (4,2), ones (4,1)), 1) ***** shared x, y, obj x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1; 4, 5, 6]; y = [0; 0; 1; 1; 0]; obj = fitcgam (x, y); ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.KFold == 5, true) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationGAM") assert_equal (CVMdl.CrossValidatedModel, "ClassificationGAM") ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'KFold', 2); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.KFold == 2, true) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationGAM") assert_equal (CVMdl.CrossValidatedModel, "ClassificationGAM") ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'HoldOut', 0.2); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationGAM") assert_equal (CVMdl.CrossValidatedModel, "ClassificationGAM") ***** test status = warning; warning ('off'); rand ('seed', 23); partition = cvpartition (y, 'KFold', 3); warning (status); CVMdl = crossval (obj, 'cvPartition', partition); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal (CVMdl.KFold == 3, true) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationGAM") assert_equal (CVMdl.CrossValidatedModel, "ClassificationGAM") ***** error ... crossval (obj, 'kfold') ***** error... crossval (obj, 'kfold', 12, 'holdout', 0.2) ***** error ... crossval (obj, 'kfold', 'a') ***** error ... crossval (obj, 'holdout', 2) ***** error ... crossval (obj, 'leaveout', 1) ***** error ... crossval (obj, 'cvpartition', 1) 44 tests, 44 passed, 0 known failure, 0 skipped [inst/Classification/ClassificationSVM.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/ClassificationSVM.m ***** demo ## Create a Support Vector Machine classifier and determine margin for test ## data. load fisheriris rng (1); ## For reproducibility ## Select indices of the non-setosa species inds = ! strcmp (species, 'setosa'); ## Select features and labels for non-setosa species X = meas(inds, 3:4); Y = grp2idx (species(inds)); ## Convert labels to +1 and -1 unique_classes = unique (Y); Y(Y == unique_classes(1)) = -1; Y(Y == unique_classes(2)) = 1; ## Partition data for training and testing cv = cvpartition (Y, 'HoldOut', 0.15); X_train = X(training(cv), :); Y_train = Y(training(cv)); X_test = X(test (cv), :); Y_test = Y(test (cv)); ## Train the SVM model CVSVMModel = fitcsvm (X_train, Y_train); ## Calculate margins m = margin (CVSVMModel, X_test, Y_test); disp (m); ***** demo ## Create a Support Vector Machine classifier and determine loss for test ## data. load fisheriris rng (1); ## For reproducibility ## Select indices of the non-setosa species inds = ! strcmp (species, 'setosa'); ## Select features and labels for non-setosa species X = meas(inds, 3:4); Y = grp2idx (species(inds)); ## Convert labels to +1 and -1 unique_classes = unique (Y); Y(Y == unique_classes(1)) = -1; Y(Y == unique_classes(2)) = 1; ## Randomly partition the data into training and testing sets cv = cvpartition (Y, 'HoldOut', 0.3); # 30% data for testing, 60% for training X_train = X(training(cv), :); Y_train = Y(training(cv)); X_test = X(test (cv), :); Y_test = Y(test (cv)); ## Train the SVM model SVMModel = fitcsvm (X_train, Y_train); ## Calculate loss L = loss (SVMModel,X_test,Y_test,'LossFun','binodeviance') L = loss (SVMModel,X_test,Y_test,'LossFun','classiferror') L = loss (SVMModel,X_test,Y_test,'LossFun','exponential') L = loss (SVMModel,X_test,Y_test,'LossFun','hinge') L = loss (SVMModel,X_test,Y_test,'LossFun','logit') L = loss (SVMModel,X_test,Y_test,'LossFun','quadratic') ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1; 4, 5, 6; 7, 8, 9; ... 3, 2, 1; 4, 5, 6; 7, 8, 9; 3, 2, 1; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = [1; 2; 3; 4; 2; 3; 4; 2; 3; 4; 2; 3; 4]; a = ClassificationSVM (x, y, 'ClassNames', [1, 2]); assert_equal (class (a), "ClassificationSVM"); assert_equal (a.RowsUsed, [1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0]'); assert_equal ({a.X, a.Y}, {x, y}) assert_equal (a.NumObservations, 5) assert_equal ({a.ResponseName, a.PredictorNames}, {'Y', {'x1', 'x2', 'x3'}}) assert_equal ({a.ClassNames, a.ModelParameters.SVMtype}, {[1; 2], 'c_svc'}) ***** test x = [1, 2; 2, 3; 3, 4; 4, 5; 2, 3; 3, 4; 2, 3; 3, 4; 2, 3; 3, 4]; y = [1; 1; -1; -1; 1; -1; -1; -1; -1; -1]; a = ClassificationSVM (x, y); assert_equal (class (a), "ClassificationSVM"); assert_equal ({a.X, a.Y, a.ModelParameters.KernelFunction}, {x, y, 'linear'}) assert_equal (a.ModelParameters.BoxConstraint, 1) assert_equal (a.ClassNames, [-1; 1]) assert_equal (a.ModelParameters.KernelOffset, 0) ***** test x = [1, 2; 2, 3; 3, 4; 4, 5; 2, 3; 3, 4; 2, 3; 3, 4; 2, 3; 3, 4]; y = [1; 1; -1; -1; 1; -1; -1; -1; -1; -1]; a = ClassificationSVM (x, y, 'KernelFunction', 'rbf', 'BoxConstraint', 2, ... 'KernelOffset', 2); assert_equal (class (a), "ClassificationSVM"); assert_equal ({a.X, a.Y, a.ModelParameters.KernelFunction}, {x, y, 'rbf'}) assert_equal (a.ModelParameters.BoxConstraint, 2) assert_equal (a.ModelParameters.KernelOffset, 2) ***** test x = [1, 2; 2, 3; 3, 4; 4, 5; 2, 3; 3, 4; 2, 3; 3, 4; 2, 3; 3, 4]; y = [1; 1; -1; -1; 1; -1; -1; -1; -1; -1]; a = ClassificationSVM (x, y, 'KernelFunction', 'polynomial', ... 'PolynomialOrder', 3); assert_equal (class (a), "ClassificationSVM"); assert_equal ({a.X, a.Y, a.ModelParameters.KernelFunction}, {x, y, 'polynomial'}) assert_equal (a.ModelParameters.PolynomialOrder, 3) ***** error ClassificationSVM () ***** error ... ClassificationSVM (ones (10,2)) ***** error ... ClassificationSVM (ones (10,2), ones (5,1)) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'Standardize', 'a') ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'PredictorNames', ['x1';'x2']) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'PredictorNames', {'x1','x2','x3'}) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'ResponseName', {'Y'}) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'ResponseName', 21) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'ClassNames', @(x)x) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'ClassNames', {1}) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'ClassNames', [1, 2]) ***** error ... ClassificationSVM (ones (5,2), ['a';'b';'a';'a';'b'], 'ClassNames', ['a';'c']) ***** error ... ClassificationSVM (ones (5,2), {'a';'b';'a';'a';'b'}, 'ClassNames', {'a','c'}) ***** error ... ClassificationSVM (ones (10,2), logical (ones (10,1)), 'ClassNames', [true, false]) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'svmtype', 123) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'svmtype', 'some_type') ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'OutlierFraction', -1) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'KernelFunction', 123) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'KernelFunction', 'fcn') ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'PolynomialOrder', -1) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'PolynomialOrder', 0.5) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'PolynomialOrder', [1,2]) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'KernelScale', -1) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'KernelScale', 0) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'KernelScale', [1, 2]) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'KernelScale', 'invalid') ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'KernelOffset', -1) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'KernelOffset', [1,2]) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'BoxConstraint', -1) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'BoxConstraint', 0) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'BoxConstraint', [1, 2]) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'BoxConstraint', 'invalid') ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'nu', -0.5) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'nu', 0) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'nu', 1.5) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'CacheSize', -1) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'CacheSize', [1,2]) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'Tolerance', -0.1) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'Tolerance', [0.1,0.2]) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'shrinking', 2) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'shrinking', -1) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'shrinking', [1 0]) ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'invalid_name', 'c_svc') ***** error ... ClassificationSVM (ones (10,2), ones (10,1), 'SVMtype', 'c_svc') ***** error ... ClassificationSVM (ones (10,2), [1;1;1;1;2;2;2;2;3;3]) ***** error ... ClassificationSVM ([ones(9,2);2,Inf], ones (10,1)) ***** shared x, y, x_train, x_test, y_train, y_test, objST load fisheriris inds = ! strcmp (species, 'setosa'); x = meas(inds, 3:4); y = grp2idx (species(inds)); ***** test xc = [min(x); mean(x); max(x)]; obj = fitcsvm (x, y, 'KernelFunction', 'rbf', 'Tolerance', 1e-7); assert_equal (isempty (obj.Alpha), true) assert_equal (sum (obj.IsSupportVector), numel (obj.Beta)) [label, score] = predict (obj, xc); assert_equal (label, [1; 2; 2]); assert_equal (score(:,1), [0.99285; -0.080296; -0.93694], 2e-5); assert_equal (score(:,1), -score(:,2), eps) ***** test obj = fitcsvm (x, y); assert_equal (isempty (obj.Beta), true) assert_equal (sum (obj.IsSupportVector), numel (obj.Alpha)) assert_equal (numel (obj.Alpha), 24) assert_equal (obj.Bias, -14.415, 1e-3) xc = [min(x); mean(x); max(x)]; label = predict (obj, xc); assert_equal (label, [1; 2; 2]); ***** error ... predict (ClassificationSVM (ones (40,2), ones (40,1))) ***** error ... predict (ClassificationSVM (ones (40,2), ones (40,1)), []) ***** error ... predict (ClassificationSVM (ones (40,2), ones (40,1)), 1) ***** test objST = fitcsvm (x, y); ***** error ... objST.ScoreTransform = 'a'; [labels, scores] = predict (objST, x); [labels, scores] = resubPredict (objST); ***** test rand ('seed', 1); CVSVMModel = fitcsvm (x, y, 'KernelFunction', 'rbf', 'HoldOut', 0.15, ... 'Tolerance', 1e-7); obj = CVSVMModel.Trained{1}; testInds = test (CVSVMModel.Partition); expected_margin = [2.0000; 0.8579; 1.6690; 3.4141; 3.4552; ... 2.6605; 3.5251; -4.0000; -6.3411; -6.4511; ... -3.0532; -7.5054; -1.6700; -5.6227; -7.3640]; computed_margin = margin (obj, x(testInds,:), y(testInds,:)); assert_equal (computed_margin, expected_margin, 1e-4); ***** error ... margin (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1))) ***** error ... margin (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2)) ***** error ... margin (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), [], zeros (2)) ***** error ... margin (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), 1, zeros (2)) ***** error ... margin (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), []) ***** error ... margin (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), 1) ***** test rand ('seed', 1); CVSVMModel = fitcsvm (x, y, 'KernelFunction', 'rbf', 'HoldOut', 0.15); obj = CVSVMModel.Trained{1}; testInds = test (CVSVMModel.Partition); L1 = loss (obj, x(testInds,:), y(testInds,:), 'LossFun', 'binodeviance'); L2 = loss (obj, x(testInds,:), y(testInds,:), 'LossFun', 'classiferror'); L3 = loss (obj, x(testInds,:), y(testInds,:), 'LossFun', 'exponential'); L4 = loss (obj, x(testInds,:), y(testInds,:), 'LossFun', 'hinge'); L5 = loss (obj, x(testInds,:), y(testInds,:), 'LossFun', 'logit'); L6 = loss (obj, x(testInds,:), y(testInds,:), 'LossFun', 'quadratic'); assert_equal (L1, 2.8711, 1e-4); assert_equal (L2, 0.5333, 1e-4); assert_equal (L3, 10.9685, 1e-4); assert_equal (L4, 1.9827, 1e-4); assert_equal (L5, 1.5849, 1e-4); assert_equal (L6, 7.6739, 1e-4); ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1))) ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2)) ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), ... ones (2,1), 'LossFun') ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), [], zeros (2)) ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), 1, zeros (2)) ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), []) ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), 1) ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), ... ones (2,1), 'LossFun', 1) ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), ... ones (2,1), 'LossFun', 'some') ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), ... ones (2,1), 'Weights', ['a','b']) ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), ... ones (2,1), 'Weights', 'a') ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), ... ones (2,1), 'Weights', [1,2,3]) ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), ... ones (2,1), 'Weights', 3) ***** error ... loss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), zeros (2), ... ones (2,1), 'some', 'some') ***** error ... resubLoss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), 'LossFun') ***** error ... resubLoss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), 'LossFun', 1) ***** error ... resubLoss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), 'LossFun', 'some') ***** error ... resubLoss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), 'Weights', ['a','b']) ***** error ... resubLoss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), 'Weights', 'a') ***** error ... resubLoss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), 'Weights', [1,2,3]) ***** error ... resubLoss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), 'Weights', 3) ***** error ... resubLoss (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)), 'some', 'some') ***** test SVMModel = fitcsvm (x, y); status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (SVMModel, 'KFold', 5); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.KFold == 5, true) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationSVM") assert_equal (CVMdl.CrossValidatedModel, "ClassificationSVM") ***** test obj = fitcsvm (x, y); status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'HoldOut', 0.2); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationSVM") assert_equal (CVMdl.CrossValidatedModel, "ClassificationSVM") ***** test obj = fitcsvm (x, y); status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'LeaveOut', 'on'); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationSVM") assert_equal (CVMdl.CrossValidatedModel, "ClassificationSVM") ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'KFold') ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), ... 'KFold', 5, 'leaveout', 'on') ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'KFold', 'a') ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'KFold', 1) ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'KFold', -1) ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'KFold', 11.5) ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'KFold', [1,2]) ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'Holdout', 'a') ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'Holdout', 11.5) ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'Holdout', -1) ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'Holdout', 0) ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'Holdout', 1) ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'Leaveout', 1) ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'CVPartition', 1) ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'CVPartition', 'a') ***** error ... crossval (ClassificationSVM (ones (40,2),randi ([1, 2], 40, 1)), 'some', 'some') 106 tests, 106 passed, 0 known failure, 0 skipped [inst/Classification/ClassificationPartitionedModel.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/ClassificationPartitionedModel.m ***** demo load fisheriris x = meas; y = species; ## Create a KNN classifier model obj = fitcknn (x, y, 'NumNeighbors', 5, 'Standardize', 1); ## Create a partition for 5-fold cross-validation partition = cvpartition (y, 'KFold', 5); ## Create the ClassificationPartitionedModel object cvModel = crossval (obj, 'cvPartition', partition) ***** demo load fisheriris x = meas; y = species; ## Create a KNN classifier model obj = fitcknn (x, y, 'NumNeighbors', 5, 'Standardize', 1); ## Create the ClassificationPartitionedModel object cvModel = crossval (obj); ## Predict the class labels for the observations not used for training [label, score, cost] = kfoldPredict (cvModel); fprintf ("Cross-validated accuracy = %1.2f%% (%d/%d)\n", ... sum (strcmp (label, y)) / numel (y) *100, ... sum (strcmp (label, y)), numel (y)) ***** test load fisheriris a = fitcdiscr (meas, species, 'gamma', 0.3); cvModel = crossval (a, 'KFold', 5); assert_equal (class (cvModel), "ClassificationPartitionedModel"); assert_equal (cvModel.NumObservations, 150); assert_equal (numel (cvModel.Trained), 5); assert_equal (class (cvModel.Trained{1}), "CompactClassificationDiscriminant"); assert_equal (cvModel.CrossValidatedModel, "ClassificationDiscriminant"); assert_equal (cvModel.KFold, 5); ***** test load fisheriris a = fitcdiscr (meas, species, 'gamma', 0.5, 'fillcoeffs', 'off'); cvModel = crossval (a, 'HoldOut', 0.3); assert_equal (class (cvModel), "ClassificationPartitionedModel"); assert_equal ({cvModel.X, cvModel.Y}, {meas, species}); assert_equal (cvModel.NumObservations, 150); assert_equal (numel (cvModel.Trained), 1); assert_equal (class (cvModel.Trained{1}), "CompactClassificationDiscriminant"); assert_equal (cvModel.CrossValidatedModel, "ClassificationDiscriminant"); ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcgam (x, y, 'Interactions', 'all'); cvModel = crossval (a, 'KFold', 2); assert_equal (class (cvModel), "ClassificationPartitionedModel"); assert_equal (cvModel.NumObservations, 4); assert_equal (numel (cvModel.Trained), 2); assert_equal (class (cvModel.Trained{1}), "CompactClassificationGAM"); assert_equal (cvModel.CrossValidatedModel, "ClassificationGAM"); assert_equal (cvModel.KFold, 2); ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcgam (x, y); cvModel = crossval (a, 'LeaveOut', 'on'); assert_equal (class (cvModel), "ClassificationPartitionedModel"); assert_equal ({cvModel.X, cvModel.Y}, {x, y}); assert_equal (cvModel.NumObservations, 4); assert_equal (numel (cvModel.Trained), 4); assert_equal (class (cvModel.Trained{1}), "CompactClassificationGAM"); assert_equal (cvModel.CrossValidatedModel, "ClassificationGAM"); ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcknn (x, y); partition = cvpartition (y, 'KFold', 2); cvModel = ClassificationPartitionedModel (a, partition); assert_equal (class (cvModel), "ClassificationPartitionedModel"); assert_equal (class (cvModel.Trained{1}), "ClassificationKNN"); assert_equal (cvModel.NumObservations, 4); assert_equal (cvModel.ModelParameters.NumNeighbors, 1); assert_equal (cvModel.ModelParameters.NSMethod, "kdtree"); assert_equal (cvModel.ModelParameters.Distance, "euclidean"); assert_equal (! cvModel.ModelParameters.Standardize, true); ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcknn (x, y, 'NSMethod', 'exhaustive'); partition = cvpartition (y, 'HoldOut', 0.2); cvModel = ClassificationPartitionedModel (a, partition); assert_equal (class (cvModel), "ClassificationPartitionedModel"); assert_equal (class (cvModel.Trained{1}), "ClassificationKNN"); assert_equal ({cvModel.X, cvModel.Y}, {x, y}); assert_equal (cvModel.NumObservations, 4); assert_equal (cvModel.ModelParameters.NumNeighbors, 1); assert_equal (cvModel.ModelParameters.NSMethod, "exhaustive"); assert_equal (cvModel.ModelParameters.Distance, "euclidean"); assert_equal (! cvModel.ModelParameters.Standardize, true); ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; k = 2; a = fitcknn (x, y, 'NumNeighbors' ,k); partition = cvpartition (numel (y), 'LeaveOut'); cvModel = ClassificationPartitionedModel (a, partition); assert_equal (class (cvModel), "ClassificationPartitionedModel"); assert_equal (class (cvModel.Trained{1}), "ClassificationKNN"); assert_equal ({cvModel.X, cvModel.Y}, {x, y}); assert_equal (cvModel.NumObservations, 4); assert_equal (cvModel.ModelParameters.NumNeighbors, k); assert_equal (cvModel.ModelParameters.NSMethod, "kdtree"); assert_equal (cvModel.ModelParameters.Distance, "euclidean"); assert_equal (! cvModel.ModelParameters.Standardize, true); ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = {'a'; 'a'; 'b'; 'b'}; a = fitcnet (x, y, 'IterationLimit', 50); cvModel = crossval (a, 'KFold', 2); assert_equal (class (cvModel), "ClassificationPartitionedModel"); assert_equal (cvModel.NumObservations, 4); assert_equal (numel (cvModel.Trained), 2); assert_equal (class (cvModel.Trained{1}), "CompactClassificationNeuralNetwork"); assert_equal (cvModel.CrossValidatedModel, "ClassificationNeuralNetwork"); assert_equal (cvModel.KFold, 2); ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = {'a'; 'a'; 'b'; 'b'}; a = fitcnet (x, y, 'LayerSizes', [5, 3]); cvModel = crossval (a, 'LeaveOut', 'on'); assert_equal (class (cvModel), "ClassificationPartitionedModel"); assert_equal ({cvModel.X, cvModel.Y}, {x, y}); assert_equal (cvModel.NumObservations, 4); assert_equal (numel (cvModel.Trained), 4); assert_equal (class (cvModel.Trained{1}), "CompactClassificationNeuralNetwork"); assert_equal (cvModel.CrossValidatedModel, "ClassificationNeuralNetwork"); ***** test load fisheriris inds = ! strcmp (species, 'setosa'); x = meas(inds, 3:4); y = grp2idx (species(inds)); SVMModel = fitcsvm (x,y); CVMdl = crossval (SVMModel, 'KFold', 5); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.KFold == 5, true) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationSVM") assert_equal (CVMdl.CrossValidatedModel, "ClassificationSVM"); ***** test load fisheriris inds = ! strcmp (species, 'setosa'); x = meas(inds, 3:4); y = grp2idx (species(inds)); obj = fitcsvm (x, y); CVMdl = crossval (obj, 'HoldOut', 0.2); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationSVM") assert_equal (CVMdl.CrossValidatedModel, "ClassificationSVM"); ***** test load fisheriris inds = ! strcmp (species, 'setosa'); x = meas(inds, 3:4); y = grp2idx (species(inds)); obj = fitcsvm (x, y); CVMdl = crossval (obj, 'LeaveOut', 'on'); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (class (CVMdl.Trained{1}), "CompactClassificationSVM") assert_equal (CVMdl.CrossValidatedModel, "ClassificationSVM"); ***** error ... ClassificationPartitionedModel () ***** error ... ClassificationPartitionedModel (ClassificationKNN (ones (4,2), ones (4,1))) ***** error ... ClassificationPartitionedModel (RegressionGAM (ones (40,2), ... randi ([1, 2], 40, 1)), cvpartition (randi ([1, 2], 40, 1), 'Holdout', 0.3)) ***** error ... ClassificationPartitionedModel (ClassificationKNN (ones (4,2), ... ones (4,1)), 'Holdout') ***** test load fisheriris a = fitcdiscr (meas, species, 'gamma', 0.5, 'fillcoeffs', 'off'); cvModel = crossval (a, 'Kfold', 4); [label, score, cost] = kfoldPredict (cvModel); assert_equal (class (cvModel), "ClassificationPartitionedModel"); assert_equal ({cvModel.X, cvModel.Y}, {meas, species}); assert_equal (cvModel.NumObservations, 150); ***** # assert_equal (label, {"b"; "b"; "a"; "a"}); ***** # assert_equal (score, [4.5380e-01, 5.4620e-01; 2.4404e-01, 7.5596e-01; ... ***** # 9.9392e-01, 6.0844e-03; 9.9820e-01, 1.8000e-03], 1e-4); ***** # assert_equal (cost, [5.4620e-01, 4.5380e-01; 7.5596e-01, 2.4404e-01; ... ***** # 6.0844e-03, 9.9392e-01; 1.8000e-03, 9.9820e-01], 1e-4); ***** test x = ones (4, 11); y = {'a'; 'a'; 'b'; 'b'}; k = 3; a = fitcknn (x, y, 'NumNeighbors', k); partition = cvpartition (numel (y), 'LeaveOut'); cvModel = ClassificationPartitionedModel (a, partition); [label, score, cost] = kfoldPredict (cvModel); assert_equal (class (cvModel), "ClassificationPartitionedModel"); assert_equal ({cvModel.X, cvModel.Y}, {x, y}); assert_equal (cvModel.NumObservations, 4); assert_equal (cvModel.ModelParameters.NumNeighbors, k); assert_equal (cvModel.ModelParameters.NSMethod, "exhaustive"); assert_equal (cvModel.ModelParameters.Distance, "euclidean"); assert_equal (! cvModel.ModelParameters.Standardize, true); assert_equal (label, {'b'; 'b'; 'a'; 'a'}); assert_equal (score, [0.3333, 0.6667; 0.3333, 0.6667; 0.6667, 0.3333; ... 0.6667, 0.3333], 1e-4); assert_equal (cost, [0.6667, 0.3333; 0.6667, 0.3333; 0.3333, 0.6667; ... 0.3333, 0.6667], 1e-4); ***** error ... [label, score, cost] = kfoldPredict (crossval (ClassificationSVM (ones (40,2), randi ([1, 2], 40, 1)))) ***** error ... [label, score, cost] = kfoldPredict (crossval (ClassificationNeuralNetwork (ones (40,2), randi ([1, 2], 40, 1)))) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/Classification/ClassificationKNN.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/ClassificationKNN.m ***** demo ## Create a k-nearest neighbor classifier for Fisher's iris data with k = 5. ## Evaluate some model predictions on new data. load fisheriris x = meas; y = species; xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 5, 'Standardize', 1); [label, score, cost] = predict (obj, xc) ***** demo load fisheriris x = meas; y = species; obj = fitcknn (x, y, 'NumNeighbors', 5, 'Standardize', 1); ## Create a cross-validated model CVMdl = crossval (obj) ***** demo load fisheriris x = meas; y = species; covMatrix = cov (x); ## Fit the k-NN model using the 'mahalanobis' distance ## and the custom covariance matrix obj = fitcknn (x, y, 'NumNeighbors', 5, 'Distance','mahalanobis', ... 'Cov', covMatrix); ## Create a partition model using cvpartition Partition = cvpartition (size (x, 1), 'kfold', 12); ## Create cross-validated model using 'cvPartition' name-value argument CVMdl = crossval (obj, 'cvPartition', Partition) ## Access the trained model from first fold of cross-validation CVMdl.Trained{1} ***** demo X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); customLossFun = @(C, S, W, Cost) sum (W .* sum (abs (C - S), 2)); ## Calculate loss using custom loss function L = loss (model, X, Y, 'LossFun', customLossFun) ***** demo X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); ## Calculate loss using 'mincost' loss function L = loss (model, X, Y, 'LossFun', 'mincost') ***** demo X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '3']; model = fitcknn (X, Y); X_test = [3, 3; 5, 7]; Y_test = ['1'; '2']; ## Specify custom Weights W = [1; 2]; L = loss (model, X_test, Y_test, 'LossFun', 'logit', 'Weights', W); ***** demo load fisheriris mdl = fitcknn (meas, species); X = mean (meas); Y = {'versicolor'}; m = margin (mdl, X, Y) ***** demo X = [1, 2; 4, 5; 7, 8; 3, 2]; Y = [2; 1; 3; 2]; ## Train the model mdl = fitcknn (X, Y); ## Specify Vars and Labels Vars = 1; Labels = 2; ## Calculate partialDependence [pd, x, y] = partialDependence (mdl, Vars, Labels); ***** demo X = [1, 2; 4, 5; 7, 8; 3, 2]; Y = [2; 1; 3; 2]; ## Train the model mdl = fitcknn (X, Y); ## Specify Vars and Labels Vars = 1; Labels = 1; queryPoints = [linspace(0, 1, 3)', linspace(0, 1, 3)']; ## Calculate partialDependence using queryPoints [pd, x, y] = partialDependence (mdl, Vars, Labels, 'QueryPoints', ... queryPoints) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y, 'NSMethod', 'exhaustive'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; k = 10; a = ClassificationKNN (x, y, 'NumNeighbors' ,k); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = ones (4, 11); y = ['a'; 'a'; 'b'; 'b']; k = 10; a = ClassificationKNN (x, y, 'NumNeighbors' ,k); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; k = 10; a = ClassificationKNN (x, y, 'NumNeighbors' ,k, 'NSMethod', 'exhaustive'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; k = 10; a = ClassificationKNN (x, y, 'NumNeighbors' ,k, 'Distance', 'hamming'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'hamming'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; weights = ones (4,1); a = ClassificationKNN (x, y, 'Standardize', 1); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.Standardize}, {true}) assert_equal ({a.Sigma}, {std(x, [], 1)}) assert_equal ({a.Mu}, {[3.75, 4.25, 4.75]}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; weights = ones (4,1); a = ClassificationKNN (x, y, 'Standardize', false); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.Standardize}, {false}) assert_equal ({a.Sigma}, {[]}) assert_equal ({a.Mu}, {[]}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; s = ones (1, 3); a = ClassificationKNN (x, y, 'Scale' , s, 'Distance', 'seuclidean'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.DistParameter}, {s}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'seuclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y, 'Exponent' , 5, 'Distance', 'minkowski'); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.DistParameter, 5) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'minkowski'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y, 'Exponent' , 5, 'Distance', 'minkowski', ... 'NSMethod', 'exhaustive'); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.DistParameter, 5) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'minkowski'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y, 'BucketSize' , 20, 'distance', 'mahalanobis'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'mahalanobis'}) assert_equal ({a.BucketSize}, {20}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y, 'IncludeTies', true); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.IncludeTies, true); assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.IncludeTies, false); assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, [0.5; 0.5]) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; prior = [0.5; 0.5]; a = ClassificationKNN (x, y, 'Prior', 'empirical'); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, prior) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'a'; 'b']; prior = [0.75; 0.25]; a = ClassificationKNN (x, y, 'Prior', 'empirical'); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, prior) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'a'; 'b']; prior = [0.5; 0.5]; a = ClassificationKNN (x, y, 'Prior', 'uniform'); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, prior) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; cost = eye (2); a = ClassificationKNN (x, y, 'Cost', cost); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Cost, [1, 0; 0, 1]) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; cost = eye (2); a = ClassificationKNN (x, y, 'Cost', cost, 'Distance', 'hamming' ); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Cost, [1, 0; 0, 1]) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'hamming'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2; 3, 4; 5,6; 5, 8]; y = {'9'; '9'; '6'; '7'}; a = ClassificationKNN (x, y); assert_equal (a.Prior, [0.25; 0.25; 0.5]) ***** test load fisheriris x = meas; y = species; ClassNames = {'setosa', 'versicolor', 'virginica'}; a = ClassificationKNN (x, y, 'ClassNames', ClassNames); assert_equal (a.ClassNames, ClassNames') ***** error ClassificationKNN () ***** error ... ClassificationKNN (ones (4, 1)) ***** error ... ClassificationKNN (ones (4,2), ones (1,4)) ***** error ... ClassificationKNN (ones (5,3), ones (5,1), 'standardize', 'a') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'scale', [1 1], 'standardize', true) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'PredictorNames', ['A']) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'PredictorNames', 'A') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'PredictorNames', {'A', 'B', 'C'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'ResponseName', {'Y'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'ResponseName', 1) ***** error ... ClassificationKNN (ones (10,2), ones (10,1), 'ClassNames', @(x)x) ***** error ... ClassificationKNN (ones (10,2), ones (10,1), 'ClassNames', {1}) ***** error ... ClassificationKNN (ones (10,2), ones (10,1), 'ClassNames', [1, 2]) ***** error ... ClassificationKNN (ones (5,2), ['a';'b';'a';'a';'b'], 'ClassNames', ['a';'c']) ***** error ... ClassificationKNN (ones (5,2), {'a';'b';'a';'a';'b'}, 'ClassNames', {'a','c'}) ***** error ... ClassificationKNN (ones (10,2), logical (ones (10,1)), 'ClassNames', [true, false]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BreakTies', 1) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BreakTies', {'1'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BreakTies', 'some') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Prior', {'1', '2'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cost', [1, 2]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cost', 'string') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cost', {eye(2)}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NumNeighbors', 0) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NumNeighbors', 15.2) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NumNeighbors', 'asd') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', 'somemetric') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', ... @(v,m)sqrt (repmat (v,rows (m),1)-m,2)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', ... @(v,m)sqrt (sum (sumsq (repmat (v,rows (m),1)-m,2)))) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', [1 2 3]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', {'mahalanobis'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', logical (5)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'DistanceWeight', @(x)sum (x)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'DistanceWeight', 'text') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'DistanceWeight', [1 2 3]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Scale', 'scale') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Scale', {[1 2 3]}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'standardize', true, 'scale', [1 1]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cov', ones (2), 'Distance', 'mahalanobis') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'scale', [1 1], 'Cov', ones (2)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Exponent', 12.5) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Exponent', -3) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Exponent', 'three') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Exponent', {3}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NSMethod', {'kdtree'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NSMethod', 3) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NSMethod', 'some') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'IncludeTies', 'some') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BucketSize', 42.5) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BucketSize', -50) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BucketSize', 'some') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BucketSize', {50}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'some', 'some') ***** error ... ClassificationKNN ([1;2;3;'a';4], ones (5,1)) ***** error ... ClassificationKNN ([1;2;3;Inf;4], ones (5,1)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Prior', [1 2]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cost', [1 2; 1 3]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Scale', [1 1]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Scale', [1 1 1], 'Distance', 'seuclidean') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Scale', [1 -1], 'Distance', 'seuclidean') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cov', eye (2)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cov', eye (3), 'Distance', 'mahalanobis') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Exponent', 3) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', 'hamming', 'NSMethod', 'kdtree') ***** shared x, y load fisheriris x = meas; y = species; ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 5); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'; 'versicolor'; 'virginica'}) assert_equal (s, [1, 0, 0; 0, 1, 0; 0, 0, 1]) assert_equal (c, [0, 1, 1; 1, 0, 1; 1, 1, 0]) ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 5, 'Standardize', 1); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'; 'versicolor'; 'virginica'}) assert_equal (s, [0.4, 0.6, 0; 0, 1, 0; 0, 0, 1]) assert_equal (c, [0.6, 0.4, 1; 1, 0, 1; 1, 1, 0]) ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'mahalanobis'); [l, s, c] = predict (obj, xc); assert_equal (s, [0.3, 0.7, 0; 0, 0.9, 0.1; 0.2, 0.2, 0.6], 1e-4) assert_equal (c, [0.7, 0.3, 1; 1, 0.1, 0.9; 0.8, 0.8, 0.4], 1e-4) ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'cosine'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'; 'versicolor'; 'virginica'}) assert_equal (s, [1, 0, 0; 0, 1, 0; 0, 0.3, 0.7], 1e-4) assert_equal (c, [0, 1, 1; 1, 0, 1; 1, 0.7, 0.3], 1e-4) ***** test xc = [5.2, 4.1, 1.5, 0.1; 5.1, 3.8, 1.9, 0.4; ... 5.1, 3.8, 1.5, 0.3; 4.9, 3.6, 1.4, 0.1]; obj = fitcknn (x, y, 'NumNeighbors', 5); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'; 'setosa'; 'setosa'; 'setosa'}) assert_equal (s, [1, 0, 0; 1, 0, 0; 1, 0, 0; 1, 0, 0]) assert_equal (c, [0, 1, 1; 0, 1, 1; 0, 1, 1; 0, 1, 1]) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 5); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 0.6, 0.4], 1e-4) assert_equal (c, [1, 0.4, 0.6], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'minkowski', 'Exponent', 5); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 0.5, 0.5], 1e-4) assert_equal (c, [1, 0.5, 0.5], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'jaccard'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'}) assert_equal (s, [0.9, 0.1, 0], 1e-4) assert_equal (c, [0.1, 0.9, 1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'mahalanobis'); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0.1000, 0.5000, 0.4000], 1e-4) assert_equal (c, [0.9000, 0.5000, 0.6000], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 5, 'distance', 'jaccard'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'}) assert_equal (s, [0.8, 0.2, 0], 1e-4) assert_equal (c, [0.2, 0.8, 1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 5, 'distance', 'seuclidean'); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 1, 0], 1e-4) assert_equal (c, [1, 0, 1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'chebychev'); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 0.7, 0.3], 1e-4) assert_equal (c, [1, 0.3, 0.7], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'cityblock'); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 0.6, 0.4], 1e-4) assert_equal (c, [1, 0.4, 0.6], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'cosine'); [l, s, c] = predict (obj, xc); assert_equal (l, {'virginica'}) assert_equal (s, [0, 0.1, 0.9], 1e-4) assert_equal (c, [1, 0.9, 0.1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'correlation'); [l, s, c] = predict (obj, xc); assert_equal (l, {'virginica'}) assert_equal (s, [0, 0.1, 0.9], 1e-4) assert_equal (c, [1, 0.9, 0.1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 30, 'distance', 'spearman'); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 1, 0], 1e-4) assert_equal (c, [1, 0, 1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 30, 'distance', 'hamming'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'}) assert_equal (s, [0.4333, 0.3333, 0.2333], 1e-4) assert_equal (c, [0.5667, 0.6667, 0.7667], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 5, 'distance', 'hamming'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'}) assert_equal (s, [0.8, 0.2, 0], 1e-4) assert_equal (c, [0.2, 0.8, 1], 1e-4) ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'correlation'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'; 'versicolor'; 'virginica'}) assert_equal (s, [1, 0, 0; 0, 1, 0; 0, 0.4, 0.6], 1e-4) assert_equal (c, [0, 1, 1; 1, 0, 1; 1, 0.6, 0.4], 1e-4) ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'hamming'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa';'setosa';'setosa'}) assert_equal (s, [0.9, 0.1, 0; 1, 0, 0; 0.5, 0, 0.5], 1e-4) assert_equal (c, [0.1, 0.9, 1; 0, 1, 1; 0.5, 1, 0.5], 1e-4) ***** error ... predict (ClassificationKNN (ones (4,2), ones (4,1))) ***** error ... predict (ClassificationKNN (ones (4,2), ones (4,1)), []) ***** error ... predict (ClassificationKNN (ones (4,2), ones (4,1)), 1) ***** test load fisheriris model = fitcknn (meas, species, 'NumNeighbors', 5); X = mean (meas); Y = {'versicolor'}; L = loss (model, X, Y); assert_equal (L, 0) ***** test load fisheriris model = fitcknn (meas, species, 'NumNeighbors', 5); L = loss (model, meas, species, 'LossFun', 'binodeviance'); assert_equal (L, 0.1413, 1e-4) ***** test load fisheriris model = fitcknn (meas, species); L = loss (model, meas, species, 'LossFun', 'binodeviance'); assert_equal (L, 0.1269, 1e-4) ***** test X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); X_test = [1, 6; 3, 3]; Y_test = {'A'; 'B'}; L = loss (model, X_test, Y_test); assert_equal (abs (L - 0.6667) > 1e-5, true) ***** test X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); X_with_nan = [1, 2; NaN, 4]; Y_test = {'A'; 'B'}; L = loss (model, X_with_nan, Y_test); assert_equal (abs (L - 0.3333) < 1e-4, true) ***** test X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); X_with_nan = [1, 2; NaN, 4]; Y_test = {'A'; 'B'}; L = loss (model, X_with_nan, Y_test, 'LossFun', 'logit'); assert_equal (isnan (L), true) ***** test X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); customLossFun = @(C, S, W, Cost) sum (W .* sum (abs (C - S), 2)); L = loss (model, X, Y, 'LossFun', customLossFun); assert_equal (L, 0) ***** test X = [1, 2; 3, 4; 5, 6]; Y = [1; 2; 1]; model = fitcknn (X, Y); L = loss (model, X, Y, 'LossFun', 'classiferror'); assert_equal (L, 0) ***** test X = [1, 2; 3, 4; 5, 6]; Y = [true; false; true]; model = fitcknn (X, Y); L = loss (model, X, Y, 'LossFun', 'binodeviance'); assert_equal (abs (L - 0.1269) < 1e-4, true) ***** test X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '1']; model = fitcknn (X, Y); L = loss (model, X, Y, 'LossFun', 'classiferror'); assert_equal (L, 0) ***** test X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '3']; model = fitcknn (X, Y); X_test = [3, 3]; Y_test = ['1']; L = loss (model, X_test, Y_test, 'LossFun', 'quadratic'); assert_equal (L, 1) ***** test X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '3']; model = fitcknn (X, Y); X_test = [3, 3; 5, 7]; Y_test = ['1'; '2']; L = loss (model, X_test, Y_test, 'LossFun', 'classifcost'); assert_equal (L, 1) ***** test X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '3']; model = fitcknn (X, Y); X_test = [3, 3; 5, 7]; Y_test = ['1'; '2']; L = loss (model, X_test, Y_test, 'LossFun', 'hinge'); assert_equal (L, 1) ***** test X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '3']; model = fitcknn (X, Y); X_test = [3, 3; 5, 7]; Y_test = ['1'; '2']; W = [1; 2]; L = loss (model, X_test, Y_test, 'LossFun', 'logit', 'Weights', W); assert_equal (abs (L - 0.6931) < 1e-4, true) ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1))) ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2)) ***** error ... loss (ClassificationKNN (ones (40,2), randi ([1, 2], 40, 1)), [], zeros (2)) ***** error ... loss (ClassificationKNN (ones (40,2), randi ([1, 2], 40, 1)), 1, zeros (2)) ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2), ... ones (4,1), 'LossFun') ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2), ones (3,1)) ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2), ... ones (4,1), 'LossFun', 'a') ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2), ... ones (4,1), 'Weights', 'w') ***** test load fisheriris mdl = fitcknn (meas, species, 'NumNeighbors', 5); X = mean (meas); Y = {'versicolor'}; m = margin (mdl, X, Y); assert_equal (m, 1) ***** test X = [1, 2; 3, 4; 5, 6]; Y = [1; 2; 3]; mdl = fitcknn (X, Y); m = margin (mdl, X, Y); assert_equal (m, [1; 1; 1]) ***** test X = [7, 8; 9, 10]; Y = ['1'; '2']; mdl = fitcknn (X, Y); m = margin (mdl, X, Y); assert_equal (m, [1; 1]) ***** test X = [11, 12]; Y = {'1'}; mdl = fitcknn (X, Y); m = margin (mdl, X, Y); assert_equal (isnan (m), true) ***** test X = [1, 2; 3, 4; 5, 6]; Y = [1; 2; 3]; mdl = fitcknn (X, Y); X1 = [15, 16]; Y1 = [1]; m = margin (mdl, X1, Y1); assert_equal (m, -1) ***** error ... margin (ClassificationKNN (ones (4,2), ones (4,1))) ***** error ... margin (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2)) ***** error ... margin (ClassificationKNN (ones (40,2), randi ([1, 2], 40, 1)), [], zeros (2)) ***** error ... margin (ClassificationKNN (ones (40,2), randi ([1, 2], 40, 1)), 1, zeros (2)) ***** error ... margin (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2), ones (3,1)) ***** shared X, Y, mdl X = [1, 2; 4, 5; 7, 8; 3, 2]; Y = [2; 1; 3; 2]; mdl = fitcknn (X, Y); ***** test Vars = 1; Labels = 2; [pd, x, y] = partialDependence (mdl, Vars, Labels); pdm = [0.7500, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000]; assert_equal (pd, pdm) ***** test Vars = 1; Labels = 2; [pd, x, y] = partialDependence (mdl, Vars, Labels, ... 'NumObservationsToSample', 5); pdm = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; assert_equal (all ((abs (pdm - pd) < 1)(:)), true) ***** test Vars = 1; Labels = 2; [pd, x, y] = partialDependence (mdl, Vars, Labels, 'UseParallel', true); pdm = [0.7500, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000]; assert_equal (pd, pdm) ***** test Vars = [1, 2]; Labels = 1; queryPoints = {linspace(0, 1, 3)', linspace(0, 1, 3)'}; [pd, x, y] = partialDependence (mdl, Vars, Labels, 'QueryPoints', ... queryPoints, 'UseParallel', true); pdm = [0, 0, 0; 0, 0, 0; 0, 0, 0]; assert_equal (pd, pdm) ***** test Vars = 1; Labels = [1; 2]; [pd, x, y] = partialDependence (mdl, Vars, Labels); pdm = [0.2500, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500; 0.7500, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000]; assert_equal (pd, pdm) ***** test Vars = [1, 2]; Labels = [1; 2]; queryPoints = {linspace(0, 1, 3)', linspace(0, 1, 3)'}; [pd, x, y] = partialDependence (mdl, Vars, Labels, 'QueryPoints', queryPoints); pdm(:,:,1) = [0, 0, 0; 1, 1, 1]; pdm(:,:,2) = [0, 0, 0; 1, 1, 1]; pdm(:,:,3) = [0, 0, 0; 1, 1, 1]; assert_equal (pd, pdm) ***** test X1 = [1; 2; 4; 5; 7; 8; 3; 2]; X2 = ['2'; '3'; '1'; '3'; '1'; '3'; '2'; '2']; X = [X1, double(X2)]; Y = [1; 2; 3; 3; 2; 1; 2; 1]; mdl = fitcknn (X, Y, 'ClassNames', {'1', '2', '3'}); Vars = 1; Labels = 1; [pd, x, y] = partialDependence (mdl, Vars, Labels); pdm = [1.0000, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, ... 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, ... 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3750, ... 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, ... 0.3750, 0.3750, 0.3750, 0.3750, 0.7500, 0.7500, 0.7500, 0.7500, 0.7500, ... 0.7500, 0.7500, 0.7500]; assert_equal (pd, pdm) ***** test X1 = [1; 2; 4; 5; 7; 8; 3; 2]; X2 = ['2'; '3'; '1'; '3'; '1'; '3'; '2'; '2']; X = [X1, double(X2)]; Y = [1; 2; 3; 3; 2; 1; 2; 1]; predictorNames = {'Feature1', 'Feature2'}; mdl = fitcknn (X, Y, 'PredictorNames', predictorNames); Vars = 'Feature1'; Labels = 1; [pd, x, y] = partialDependence (mdl, Vars, Labels); pdm = [1.0000, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, ... 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, ... 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3750, ... 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, ... 0.3750, 0.3750, 0.3750, 0.3750, 0.7500, 0.7500, 0.7500, 0.7500, 0.7500, ... 0.7500, 0.7500, 0.7500]; assert_equal (pd, pdm) ***** test X1 = [1; 2; 4; 5; 7; 8; 3; 2]; X2 = ['2'; '3'; '1'; '3'; '1'; '3'; '2'; '2']; X = [X1, double(X2)]; Y = [1; 2; 3; 3; 2; 1; 2; 1]; predictorNames = {'Feature1', 'Feature2'}; mdl = fitcknn (X, Y, 'PredictorNames', predictorNames); new_X1 = [10; 5; 6; 8; 9; 20; 35; 6]; new_X2 = ['2'; '2'; '1'; '2'; '1'; '3'; '3'; '2']; new_X = [new_X1, double(new_X2)]; Vars = 'Feature1'; Labels = 1; [pd, x, y] = partialDependence (mdl, Vars, Labels, new_X); pdm = [0, 0, 0, 0, 0, 0.2500, 0.2500, 0.2500, 0.2500, 0.7500, 0.7500, ... 0.7500, 0.7500, 0.7500, 0.7500, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, ... 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, ... 1.0000, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]; assert_equal (pd, pdm) ***** error ... partialDependence (ClassificationKNN (ones (4,2), ones (4,1))) ***** error ... partialDependence (ClassificationKNN (ones (4,2), ones (4,1)), 1) ***** error ... partialDependence (ClassificationKNN (ones (4,2), ones (4,1)), 1, ... ones (4,1), 'NumObservationsToSample') ***** error ... partialDependence (ClassificationKNN (ones (4,2), ones (4,1)), 1, ... ones (4,1), 2) ***** shared x, y, obj load fisheriris x = meas; y = species; covMatrix = cov (x); obj = fitcknn (x, y, 'NumNeighbors', 5, 'Distance', ... 'mahalanobis', 'Cov', covMatrix); ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.KFold == 10, true) assert_equal (CVMdl.ModelParameters.NumNeighbors == 5, true) assert_equal (strcmp (CVMdl.ModelParameters.Distance, 'mahalanobis'), true) assert_equal (class (CVMdl.Trained{1}), "ClassificationKNN") assert_equal (! CVMdl.ModelParameters.Standardize, true) ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'KFold', 5); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.KFold == 5, true) assert_equal (CVMdl.ModelParameters.NumNeighbors == 5, true) assert_equal (strcmp (CVMdl.ModelParameters.Distance, 'mahalanobis'), true) assert_equal (class (CVMdl.Trained{1}), "ClassificationKNN") assert_equal (CVMdl.ModelParameters.Standardize == obj.Standardize, true) ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'HoldOut', 0.2); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.ModelParameters.NumNeighbors == 5, true) assert_equal (strcmp (CVMdl.ModelParameters.Distance, 'mahalanobis'), true) assert_equal (class (CVMdl.Trained{1}), "ClassificationKNN") assert_equal (CVMdl.ModelParameters.Standardize == obj.Standardize, true) ***** test obj = fitcknn (x, y, 'NumNeighbors', 10, 'Distance', 'cityblock'); status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'HoldOut', 0.2); warning (status); CVMdl = crossval (obj, 'LeaveOut', 'on'); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.ModelParameters.NumNeighbors == 10, true) assert_equal (strcmp (CVMdl.ModelParameters.Distance, 'cityblock'), true) assert_equal (class (CVMdl.Trained{1}), "ClassificationKNN") assert_equal (CVMdl.ModelParameters.Standardize == obj.Standardize, true) ***** test obj = fitcknn (x, y, 'NumNeighbors', 10, 'Distance', 'cityblock'); status = warning; warning ('off'); rand ('seed', 23); partition = cvpartition (y, 'KFold', 3); warning (status); CVMdl = crossval (obj, 'cvPartition', partition); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal (CVMdl.KFold == 3, true) assert_equal (CVMdl.ModelParameters.NumNeighbors == 10, true) assert_equal (strcmp (CVMdl.ModelParameters.Distance, 'cityblock'), true) assert_equal (class (CVMdl.Trained{1}), "ClassificationKNN") assert_equal (CVMdl.ModelParameters.Standardize == obj.Standardize, true) ***** error ... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'kfold') ***** error... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'kfold', 12, 'holdout', 0.2) ***** error ... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'kfold', 'a') ***** error ... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'holdout', 2) ***** error ... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'leaveout', 1) ***** error ... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'cvpartition', 1) 165 tests, 165 passed, 0 known failure, 0 skipped [inst/Classification/CompactClassificationDiscriminant.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/CompactClassificationDiscriminant.m ***** demo ## Create a discriminant analysis classifier and its compact version # and compare their size load fisheriris X = meas; Y = species; Mdl = fitcdiscr (X, Y, 'ClassNames', unique (species)) CMdl = crossval (Mdl) ***** test load fisheriris x = meas; y = species; PredictorNames = {'Sepal Length', 'Sepal Width', 'Petal Length', 'Petal Width'}; Mdl = fitcdiscr (x, y, 'PredictorNames', PredictorNames); CMdl = compact (Mdl); sigma = [0.265008, 0.092721, 0.167514, 0.038401; ... 0.092721, 0.115388, 0.055244, 0.032710; ... 0.167514, 0.055244, 0.185188, 0.042665; ... 0.038401, 0.032710, 0.042665, 0.041882]; mu = [5.0060, 3.4280, 1.4620, 0.2460; ... 5.9360, 2.7700, 4.2600, 1.3260; ... 6.5880, 2.9740, 5.5520, 2.0260]; xCentered = [ 9.4000e-02, 7.2000e-02, -6.2000e-02, -4.6000e-02; ... -1.0600e-01, -4.2800e-01, -6.2000e-02, -4.6000e-02; ... -3.0600e-01, -2.2800e-01, -1.6200e-01, -4.6000e-02]; assert_equal (class (CMdl), "CompactClassificationDiscriminant"); assert_equal ({CMdl.DiscrimType, CMdl.ResponseName}, {'linear', 'Y'}) assert_equal ({CMdl.Gamma, CMdl.MinGamma}, {0, 0}, 1e-15) assert_equal (CMdl.ClassNames, unique (species)) assert_equal (CMdl.Sigma, sigma, 1e-6) assert_equal (CMdl.Mu, mu, 1e-14) assert_equal (CMdl.LogDetSigma, -9.9585, 1e-4) assert_equal (CMdl.PredictorNames, PredictorNames) ***** test load fisheriris x = meas; y = species; Mdl = fitcdiscr (x, y, 'Gamma', 0.5); CMdl = compact (Mdl); sigma = [0.265008, 0.046361, 0.083757, 0.019201; ... 0.046361, 0.115388, 0.027622, 0.016355; ... 0.083757, 0.027622, 0.185188, 0.021333; ... 0.019201, 0.016355, 0.021333, 0.041882]; mu = [5.0060, 3.4280, 1.4620, 0.2460; ... 5.9360, 2.7700, 4.2600, 1.3260; ... 6.5880, 2.9740, 5.5520, 2.0260]; xCentered = [ 9.4000e-02, 7.2000e-02, -6.2000e-02, -4.6000e-02; ... -1.0600e-01, -4.2800e-01, -6.2000e-02, -4.6000e-02; ... -3.0600e-01, -2.2800e-01, -1.6200e-01, -4.6000e-02]; assert_equal (class (CMdl), "CompactClassificationDiscriminant"); assert_equal ({CMdl.DiscrimType, CMdl.ResponseName}, {'linear', 'Y'}) assert_equal ({CMdl.Gamma, CMdl.MinGamma}, {0.5, 0}) assert_equal (CMdl.ClassNames, unique (species)) assert_equal (CMdl.Sigma, sigma, 1e-6) assert_equal (CMdl.Mu, mu, 1e-14) assert_equal (CMdl.LogDetSigma, -8.6884, 1e-4) ***** error ... CompactClassificationDiscriminant (1) ***** test load fisheriris x = meas; y = species; Mdl = fitcdiscr (meas, species, 'Gamma', 0.5); CMdl = compact (Mdl); [label, score, cost] = predict (CMdl, [2, 2, 2, 2]); assert_equal (label, {'versicolor'}) assert_equal (score, [0, 0.9999, 0.0001], 1e-4) assert_equal (cost, [1, 0.0001, 0.9999], 1e-4) [label, score, cost] = predict (CMdl, [2.5, 2.5, 2.5, 2.5]); assert_equal (label, {'versicolor'}) assert_equal (score, [0, 0.6368, 0.3632], 1e-4) assert_equal (cost, [1, 0.3632, 0.6368], 1e-4) ***** test load fisheriris x = meas; y = species; xc = [min(x); mean(x); max(x)]; Mdl = fitcdiscr (x, y); CMdl = compact (Mdl); [label, score, cost] = predict (CMdl, xc); l = {'setosa'; 'versicolor'; 'virginica'}; s = [1, 0, 0; 0, 1, 0; 0, 0, 1]; c = [0, 1, 1; 1, 0, 1; 1, 1, 0]; assert_equal (label, l) assert_equal (score, s, 1e-4) assert_equal (cost, c, 1e-4) ***** shared MODEL X = rand (10,2); Y = [ones(5,1);2*ones(5,1)]; MODEL = compact (ClassificationDiscriminant (X, Y)); ***** error ... predict (MODEL) ***** error ... predict (MODEL, []) ***** error ... predict (MODEL, 1) ***** test load fisheriris model = fitcdiscr (meas, species); x = mean (meas); y = {'versicolor'}; L = loss (model, x, y); assert_equal (L, 0) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y, 'Gamma', 0.4); x_test = [1, 6; 3, 3]; y_test = {'A'; 'B'}; L = loss (model, x_test, y_test); assert_equal (L, 0.3333, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3]; y_test = ['1']; L = loss (model, x_test, y_test, 'LossFun', 'quadratic'); assert_equal (L, 0.2423, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3; 5, 7]; y_test = ['1'; '2']; L = loss (model, x_test, y_test, 'LossFun', 'classifcost'); assert_equal (L, 0.3333, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3; 5, 7]; y_test = ['1'; '2']; L = loss (model, x_test, y_test, 'LossFun', 'hinge'); assert_equal (L, 0.5886, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3; 5, 7]; y_test = ['1'; '2']; W = [1; 2]; L = loss (model, x_test, y_test, 'LossFun', 'logit', 'Weights', W); assert_equal (L, 0.5107, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y, 'gamma' , 0.5); x_with_nan = [1, 2; NaN, 4]; y_test = {'A'; 'B'}; L = loss (model, x_with_nan, y_test); assert_equal (L, 0.3333, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y); x_with_nan = [1, 2; NaN, 4]; y_test = {'A'; 'B'}; L = loss (model, x_with_nan, y_test, 'LossFun', 'logit'); assert_equal (isnan (L), true) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y); customLossFun = @(C, S, W, Cost) sum (W .* sum (abs (C - S), 2)); L = loss (model, x, y, 'LossFun', customLossFun); assert_equal (L, 0.8889, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6]; y = [1; 2; 1]; model = fitcdiscr (x, y); L = loss (model, x, y, 'LossFun', 'classiferror'); assert_equal (L, 0.3333, 1e-4) ***** error ... loss (MODEL) ***** error ... loss (MODEL, ones (4,2)) ***** error ... loss (MODEL, ones (4,2), ones (4,1), 'LossFun') ***** error ... loss (MODEL, ones (4,2), ones (3,1)) ***** error ... loss (MODEL, ones (4,2), ones (4,1), 'LossFun', 'a') ***** error ... loss (MODEL, ones (4,2), ones (4,1), 'Weights', 'w') load fisheriris mdl = fitcdiscr (meas, species); X = mean (meas); Y = {'versicolor'}; m = margin (mdl, X, Y); assert_equal (m, 1, 1e-6) ***** test X = [1, 2; 3, 4; 5, 6]; Y = [1; 2; 1]; mdl = fitcdiscr (X, Y, 'gamma', 0.5); m = margin (mdl, X, Y); assert_equal (m, [0.3333; -0.3333; 0.3333], 1e-4) ***** error ... margin (MODEL) ***** error ... margin (MODEL, ones (4,2)) ***** error ... margin (MODEL, ones (4,2), ones (3,1)) 28 tests, 28 passed, 0 known failure, 0 skipped [inst/Classification/CompactClassificationGAM.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/CompactClassificationGAM.m ***** demo ## Create a generalized additive model classifier and its compact version # and compare their size load fisheriris X = meas; Y = species; Mdl = fitcdiscr (X, Y, 'ClassNames', unique (species)) CMdl = crossval (Mdl) ***** test Mdl = CompactClassificationGAM (); assert_equal (class (Mdl), "CompactClassificationGAM") ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = [0; 0; 1; 1]; PredictorNames = {'Feature1', 'Feature2', 'Feature3'}; Mdl = fitcgam (x, y, 'PredictorNames', PredictorNames); CMdl = compact (Mdl); assert_equal (class (CMdl), "CompactClassificationGAM"); assert_equal ({CMdl.NumPredictors, CMdl.ResponseName}, {3, 'Y'}) assert_equal (CMdl.ClassNames, {'0'; '1'}) assert_equal (CMdl.PredictorNames, PredictorNames) assert_equal (CMdl.BaseModel.Intercept, 0) ***** test load fisheriris inds = strcmp (species,'versicolor') | strcmp (species,'virginica'); X = meas(inds, :); Y = species(inds, :)'; Y = strcmp (Y, 'virginica')'; Mdl = fitcgam (X, Y, 'Formula', 'Y ~ x1 + x2 + x3 + x4 + x1:x2 + x2:x3'); CMdl = compact (Mdl); assert_equal (class (CMdl), "CompactClassificationGAM"); assert_equal ({CMdl.NumPredictors, CMdl.ResponseName}, {4, 'Y'}) assert_equal (CMdl.ClassNames, {'0'; '1'}) assert_equal (CMdl.Formula, 'Y ~ x1 + x2 + x3 + x4 + x1:x2 + x2:x3') assert_equal (CMdl.PredictorNames, {'x1', 'x2', 'x3', 'x4'}) assert_equal (CMdl.ModelwInt.Intercept, 0) ***** test X = [2, 3, 5; 4, 6, 8; 1, 2, 3; 7, 8, 9; 5, 4, 3]; Y = [0; 1; 0; 1; 1]; Mdl = fitcgam (X, Y, 'Knots', [4, 4, 4], 'Order', [3, 3, 3]); CMdl = compact (Mdl); assert_equal (class (CMdl), "CompactClassificationGAM"); assert_equal ({CMdl.NumPredictors, CMdl.ResponseName}, {3, 'Y'}) assert_equal (CMdl.ClassNames, {'0'; '1'}) assert_equal (CMdl.PredictorNames, {'x1', 'x2', 'x3'}) assert_equal (CMdl.Knots, [4, 4, 4]) assert_equal (CMdl.Order, [3, 3, 3]) assert_equal (CMdl.DoF, [7, 7, 7]) assert_equal (CMdl.BaseModel.Intercept, 0.4055, 1e-1) ***** error ... CompactClassificationGAM (1) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8; 9, 10]; y = [1; 0; 1; 0; 1]; Mdl = fitcgam (x, y, 'interactions', 'all'); CMdl = compact (Mdl); l = {'1'; '1'; '1'; '1'; '1'}; s = [0.3760, 0.6240; 0.4259, 0.5741; 0.3760, 0.6240; ... 0.4259, 0.5741; 0.3760, 0.6240]; [labels, scores] = predict (CMdl, x); assert_equal (class (CMdl), "CompactClassificationGAM"); assert_equal ({CMdl.NumPredictors, CMdl.ResponseName}, {2, 'Y'}) assert_equal (CMdl.ClassNames, {'0'; '1'}) assert_equal (CMdl.PredictorNames, {'x1', 'x2'}) assert_equal (CMdl.ModelwInt.Intercept, 0.4055, 1e-1) assert_equal (labels, l) assert_equal (scores, s, 1e-1) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = [0; 0; 1; 1]; interactions = [false, true, false; true, false, true; false, true, false]; Mdl = fitcgam (x, y, 'learningrate', 0.2, 'interactions', interactions); CMdl = compact (Mdl); [label, score] = predict (CMdl, x, 'includeinteractions', true); l = {'0'; '0'; '1'; '1'}; s = [0.5106, 0.4894; 0.5135, 0.4865; 0.4864, 0.5136; 0.4847, 0.5153]; assert_equal (class (CMdl), "CompactClassificationGAM"); assert_equal ({CMdl.NumPredictors, CMdl.ResponseName}, {3, 'Y'}) assert_equal (CMdl.ClassNames, {'0'; '1'}) assert_equal (CMdl.PredictorNames, {'x1', 'x2', 'x3'}) assert_equal (CMdl.ModelwInt.Intercept, 0) assert_equal (label, l) assert_equal (score, s, 1e-1) ***** shared CMdl Mdl = fitcgam (ones (4,2), ones (4,1)); CMdl = compact (Mdl); ***** error ... predict (CMdl) ***** error ... predict (CMdl, []) ***** error ... predict (CMdl, 1) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/cmdscale.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/cmdscale.m ***** test m = randi (100) + 1; n = randi (100) + 1; X = rand (m, n); D = pdist (X); assert_equal (norm (pdist (cmdscale (D))), norm (D), sqrt (eps)); assert_equal (norm (pdist (cmdscale (squareform (D)))), norm (D), sqrt (eps)); ***** test ## test output X = [ 0.8147, 0.1576, 0.6557, 0.7060; 0.9058, 0.9706, 0.0357, 0.0318; 0.1270, 0.9572, 0.8491, 0.2769; 0.9134, 0.4854, 0.9340, 0.0462; 0.6324, 0.8003, 0.6787, 0.0971 ]; D = pdist (X); p = 2; [Y, e] = cmdscale (D, p); expected_Y = [ 0.635444598081665, -0.209808014423477; -0.558655450609184, -0.457908993032377; -0.158680352453745, 0.622280326562354; 0.222509398493731, -0.047804408953240; -0.140618193512467, 0.093241089846740 ]; expected_e = [0.810349112746116; 0.651912015993974]; assert_equal (Y, expected_Y, 1e-14); assert_equal (e, expected_e, 1e-14); ***** test ## basic dimentionality reduction D = [0 2 3; 2 0 4; 3 4 0]; [Y, e] = cmdscale (D, 2); assert_equal (size (Y, 2), 2); assert_equal (length (e), 2); ***** test ## oversized dimension X = [0 0; 1 0; 0 1; 1 1]; D = pdist (X); [Y, e] = cmdscale (D, 3); assert_equal (size (Y, 2), 2); assert_equal (length (e), 3); ***** test ## non euclidean distance. X = [1 2; 3 4; 5 6; 7 8; 9 10]; D = pdist (X, 'cityblock'); [Y, e] = cmdscale (D, 2); assert_equal (size (Y, 2), 1); assert_equal (length (e), 2); ***** test ## compatability with p X = rand (10, 4); D = pdist (X); [Y, e] = cmdscale (D, 3); assert_equal (size (Y, 2), 3); assert_equal (length (e), 3); assert_equal (size (Y, 1), 10); ***** test ## sign convention. rng (0, 'twister'); X = rand (10, 3); D = pdist (X); Y = cmdscale (D); [~, maxind] = max (abs (Y), [], 1); d = size (Y, 2); n = size (Y, 1); idx = maxind + (0 : n : (d - 1) * n); assert_equal (all (Y(idx) >= 0), true); ***** test ## testing with p = n and without p rng (1, 'twister'); X = rand (10, 4); D = pdist (X); n_points = size (X, 1); [Y1, e1] = cmdscale (D); [Y2, e2] = cmdscale (D, n_points); assert_equal (size (Y1, 2), size (Y2, 2)); ***** error cmdscale ({'not', 'a', 'matrix'}) ***** error cmdscale (rand (3, 4)) ***** error cmdscale (-ones (3)) ***** error

cmdscale (eye (3), 0) ***** error

cmdscale (eye (3), 4) ***** error

cmdscale (eye (3), 1.5) ***** error

cmdscale (eye (3), [1, 2]) ***** error

cmdscale (eye (3), 2 + 1i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/evalclusters.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/evalclusters.m ***** demo load fisheriris; eva = evalclusters (meas, 'kmeans', 'calinskiharabasz', 'KList', [1:6]) plot (eva) ***** error evalclusters () ***** error evalclusters ([1 1;0 1]) ***** error evalclusters ([1 1;0 1], 'kmeans') ***** error ... evalclusters ('abc', 'kmeans', 'gap') ***** error evalclusters ([1 1;0 1], 'xxx', 'gap') ***** error evalclusters ([1 1;0 1], [1 2], 'gap') ***** error evalclusters ([1 1;0 1], 1.2, 'gap') ***** error evalclusters ([1 1;0 1], [1; 2], 123) ***** error evalclusters ([1 1;0 1], [1; 2], 'xxx') ***** error <'KList' can be empty*> evalclusters ([1 1;0 1], 'kmeans', 'gap') ***** error evalclusters ([1 1;0 1], [1; 2], 'gap', 1) ***** error evalclusters ([1 1;0 1], [1; 2], 'gap', 1, 1) ***** error evalclusters ([1 1;0 1], [1; 2], 'gap', 'xxx', 1) ***** error <'KList'*> evalclusters ([1 1;0 1], [1; 2], 'gap', 'KList', [-1 0]) ***** error <'KList'*> evalclusters ([1 1;0 1], [1; 2], 'gap', 'KList', [1 .5]) ***** error <'KList'*> evalclusters ([1 1;0 1], [1; 2], 'gap', 'KList', [1 1; 1 1]) ***** error evalclusters ([1 1;0 1], [1; 2], 'gap', ... 'distance', 'a') ***** error evalclusters ([1 1;0 1], [1; 2], 'daviesbouldin', ... 'distance', 'a') ***** error evalclusters ([1 1;0 1], [1; 2], 'gap', ... 'clusterpriors', 'equal') ***** error evalclusters ([1 1;0 1], [1; 2], ... 'silhouette', 'clusterpriors', 'xxx') ***** error <'clust' must be a clustering*> evalclusters ([1 1;0 1], [1; 2], 'gap') ***** test load fisheriris; eva = evalclusters (meas, 'kmeans', 'calinskiharabasz', 'KList', [1:6]); assert_equal (isa (eva, 'CalinskiHarabaszEvaluation'), true); assert_equal (eva.NumObservations, 150); assert_equal (eva.OptimalK, 3); assert_equal (eva.InspectedK, [1 2 3 4 5 6]); 22 tests, 22 passed, 0 known failure, 0 skipped [inst/adtest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/adtest.m ***** error adtest (); ***** error adtest (ones (20,2)); ***** error adtest ([1+i,0-3i]); ***** error ... adtest (ones (20,1), 'Distribution', 'normal'); ***** error ... adtest (rand (20,1), 'Distribution', {'normal', 5, 3}); ***** error ... adtest (rand (20,1), 'Distribution', {'norm', 5}); ***** error ... adtest (rand (20,1), 'Distribution', {'exp', 5, 4}); ***** error ... adtest (rand (20,1), 'Distribution', {'ev', 5}); ***** error ... adtest (rand (20,1), 'Distribution', {'logn', 5, 3, 2}); ***** error ... adtest (rand (20,1), 'Distribution', {'Weibull', 5}); ***** error ... adtest (rand (20,1), 'Distribution', 35); ***** error ... adtest (rand (20,1), 'Name', 'norm'); ***** error ... adtest (rand (20,1), 'Name', {'norm', 75, 10}); ***** error ... adtest (rand (20,1), 'Distribution', 'norm', 'Asymptotic', true); ***** error ... adtest (rand (20,1), 'MCTol', 0.001, 'Asymptotic', true); ***** error ... adtest (rand (20,1), 'Distribution', {'norm', 5, 3}, 'MCTol', 0.001, ... 'Asymptotic', true); ***** error ... [h, pval, ADstat, CV] = adtest (ones (20,1), 'Distribution', {'norm',5,3},... 'Alpha', 0.000000001); ***** error ... [h, pval, ADstat, CV] = adtest (ones (20,1), 'Distribution', {'norm',5,3},... 'Alpha', 0.999999999); ***** error ... adtest (10); ***** warning ... randn ('seed', 34); adtest (ones (20,1), 'Alpha', 0.000001); ***** warning ... randn ('seed', 34); adtest (normrnd (0,1,100,1), 'Alpha', 0.99999); ***** warning ... randn ('seed', 34); adtest (normrnd (0,1,100,1), 'Alpha', 0.00001); ***** test load examgrades x = grades(:,1); [h, pval, adstat, cv] = adtest (x); assert_equal (h, false); assert_equal (pval, 0.1854, 1e-4); assert_equal (adstat, 0.5194, 1e-4); assert_equal (cv, 0.7470, 1e-4); ***** test load examgrades x = grades(:,1); [h, pval, adstat, cv] = adtest (x, 'Distribution', 'ev'); assert_equal (h, false); assert_equal (pval, 0.071363, 1e-6); ***** test load examgrades x = grades(:,1); [h, pval, adstat, cv] = adtest (x, 'Distribution', {'norm', 75, 10}); assert_equal (h, false); assert_equal (pval, 0.4687, 1e-4); 25 tests, 25 passed, 0 known failure, 0 skipped [inst/bartlett_test.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/bartlett_test.m ***** error bartlett_test () ***** error ... bartlett_test (1, 2, 3, 4); ***** error bartlett_test (randn (50, 2), 0); ***** error ... bartlett_test (randn (50, 2), [1, 2, 3]); ***** error ... bartlett_test (randn (50, 1), ones (55, 1)); ***** error ... bartlett_test (randn (50, 1), ones (50, 2)); ***** error ... bartlett_test (randn (50, 2), [], 1.2); ***** error ... bartlett_test (randn (50, 2), [], 'alpha'); ***** error ... bartlett_test (randn (50, 1), [ones(25, 1); 2*ones(25, 1)], 1.2); ***** error ... bartlett_test (randn (50, 1), [ones(25, 1); 2*ones(25, 1)], 'err'); ***** warning ... bartlett_test (randn (50, 1), [ones(24, 1); 2*ones(25, 1); 3]); ***** test load examgrades [h, pval, chisq, df] = bartlett_test (grades); assert_equal (h, 1); assert_equal (pval, 7.908647337018238e-08, 1e-14); assert_equal (chisq, 38.73324, 1e-5); assert_equal (df, 4); ***** test load examgrades [h, pval, chisq, df] = bartlett_test (grades(:,[2:4])); assert_equal (h, 1); assert_equal (pval, 0.01172, 1e-5); assert_equal (chisq, 8.89274, 1e-5); assert_equal (df, 2); ***** test load examgrades [h, pval, chisq, df] = bartlett_test (grades(:,[1,4])); assert_equal (h, 0); assert_equal (pval, 0.88118, 1e-5); assert_equal (chisq, 0.02234, 1e-5); assert_equal (df, 1); ***** test load examgrades grades = [grades; nan(10, 5)]; [h, pval, chisq, df] = bartlett_test (grades(:,[1,4])); assert_equal (h, 0); assert_equal (pval, 0.88118, 1e-5); assert_equal (chisq, 0.02234, 1e-5); assert_equal (df, 1); ***** test load examgrades [h, pval, chisq, df] = bartlett_test (grades(:,[2,5]), 0.01); assert_equal (h, 0); assert_equal (pval, 0.01791, 1e-5); assert_equal (chisq, 5.60486, 1e-5); assert_equal (df, 1); 16 tests, 16 passed, 0 known failure, 0 skipped [inst/rmmissing.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/rmmissing.m ***** assert_equal (rmmissing ([1, NaN, 3]), [1, 3]) ***** assert_equal (rmmissing ('abcd f'), 'abcd f') ***** assert_equal (rmmissing ({'xxx', '', 'xyz'}), {'xxx', 'xyz'}) ***** assert_equal (rmmissing ({'xxx', ''; 'xyz', 'yyy'}), {'xyz', 'yyy'}) ***** assert_equal (rmmissing ({'xxx', ''; 'xyz', 'yyy'}, 2), {'xxx'; 'xyz'}) ***** assert_equal (rmmissing ([1, 2; NaN, 2]), [1, 2]) ***** assert_equal (rmmissing ([1, 2; NaN, 2], 2), [2, 2]') ***** assert_equal (rmmissing ([1, 2; NaN, 4; NaN, NaN],'MinNumMissing', 2), [1, 2; NaN, 4]) ***** test x = [1:6]; x([2,4]) = NaN; [~, idx] = rmmissing (x); assert_equal (idx, logical ([0, 1, 0, 1, 0, 0])); assert_equal (class (idx), 'logical'); x = reshape (x, [2, 3]); [~, idx] = rmmissing (x); assert_equal (idx, logical ([0; 1])); assert_equal (class (idx), 'logical'); [~, idx] = rmmissing (x, 2); assert_equal (idx, logical ([1, 1, 0])); assert_equal (class (idx), 'logical'); [~, idx] = rmmissing (x, 1, 'MinNumMissing', 2); assert_equal (idx, logical ([0; 1])); assert_equal (class (idx), 'logical'); [~, idx] = rmmissing (x, 2, 'MinNumMissing', 2); assert_equal (idx, logical ([0, 0, 0])); assert_equal (class (idx), 'logical'); ***** assert_equal (rmmissing (single ([1, 2, NaN; 3, 4, 5])), single ([3, 4, 5])) ***** assert_equal (rmmissing (logical (ones (3))), logical (ones (3))) ***** assert_equal (rmmissing (int32 (ones (3))), int32 (ones (3))) ***** assert_equal (rmmissing (uint32 (ones (3))), uint32 (ones (3))) ***** assert_equal (rmmissing ({1, 2, 3}), {1, 2, 3}) ***** assert_equal (rmmissing ([struct, struct, struct]), [struct, struct, struct]) ***** assert_equal (rmmissing ([]), []) ***** assert_equal (rmmissing (ones (1, 0)), ones (1, 0)) ***** assert_equal (rmmissing (ones (1, 0), 1), ones (1, 0)) ***** assert_equal (rmmissing (ones (1, 0), 2), ones (1, 0)) ***** assert_equal (rmmissing (ones (0, 1)), ones (0, 1)) ***** assert_equal (rmmissing (ones (0, 1), 1), ones (0, 1)) ***** assert_equal (rmmissing (ones (0, 1), 2), ones (0, 1)) ***** error ... rmmissing (ones (0, 1, 2)) ***** error rmmissing () ***** error ... rmmissing (ones (2, 2, 2)) ***** error ... rmmissing (ones (2, 2), 'MinNumMissing', 0) ***** error ... rmmissing ([1, 2; 3, 4], 2, 'MinNumMissing', -2) ***** error ... rmmissing ([1, 2; 3, 4], 'MinNumMissing', 3.8) ***** error ... rmmissing ([1, 2; 3, 4], 'MinNumMissing', [1, 2, 3]) ***** error ... rmmissing ([1, 2; 3, 4], 'MinNumMissing', 'xxx') ***** error ... rmmissing ([1, 2; 3, 4], 'MissingLocations', false ([1, 1, 1])) ***** error rmmissing ([1, 2; 3, 4], 5) ***** error rmmissing ([1, 2; 3, 4], 'XXX', 1) 33 tests, 33 passed, 0 known failure, 0 skipped [inst/friedman.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/friedman.m ***** demo load popcorn; friedman (popcorn, 3); ***** demo load popcorn; [p, atab] = friedman (popcorn, 3); disp (p); ***** test popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; [p, atab] = friedman (popcorn, 3); assert_equal (p, 0.001028853354594794, 1e-14); assert_equal (atab.SS(1), 99.75, 1e-14); assert_equal (atab.df(1), 2, 0); assert_equal (atab.MS(1), 49.875, 1e-14); assert_equal (atab.Chi_sq(1), 13.75862068965517, 1e-14); assert_equal (atab.Prob_Chi_sq(1), 0.001028853354594794, 1e-14); ***** test popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; [p, atab, stats] = friedman (popcorn, 3); assert_equal (atab.SS(end), 116, 0); assert_equal (atab.df(end), 17, 0); assert_equal (stats.source, 'friedman'); assert_equal (stats.n, 2); assert_equal (stats.meanranks, [8, 4.75, 2.25], 0); assert_equal (stats.sigma, 2.692582403567252, 1e-14); ***** test popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; s = evalc ('[p, atab] = friedman (popcorn, 3);'); assert_equal (isempty (strtrim (s)), true); ***** test popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; s = evalc ('[p, atab] = friedman (popcorn, 3, "on");'); assert_equal (! isempty (strtrim (s)), true); ***** test popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; [p, atab] = friedman (popcorn, 3); assert_equal (size (atab, 1), 4, 0); assert_equal (numel (atab.SS), size (atab, 1), 0); ***** test x = [1, 2, 3; 2, 1, 3; 3, 2, 1]; [p, atab] = friedman (x); assert_equal (size (atab, 1), 3, 0); assert_equal (numel (atab.SS), size (atab, 1), 0); ***** error ... friedman ([5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; 6.5, 5.0, 4.0; ... 7.0, 5.5, 5.0; 7.0, 5.0, 4.5], 3, 'invalid_displayopt'); ***** error ... friedman ([1, 2; NaN, 4]); ***** error ... friedman ([1,2; 3,4; 5,6], 2); 9 tests, 9 passed, 0 known failure, 0 skipped [inst/monotone_smooth.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/monotone_smooth.m ***** error ... monotone_smooth (1) ***** error ... monotone_smooth ('char', 1) ***** error ... monotone_smooth ({1,2,3}, 1) ***** error ... monotone_smooth (ones (20,3), 1) ***** error ... monotone_smooth (1, 'char') ***** error ... monotone_smooth (1, {1,2,3}) ***** error ... monotone_smooth (1, ones (20,3)) ***** error monotone_smooth (ones (10,1), ones (10,1), [1, 2]) ***** error monotone_smooth (ones (10,1), ones (10,1), {2}) ***** error monotone_smooth (ones (10,1), ones (10,1), 'char') 10 tests, 10 passed, 0 known failure, 0 skipped [inst/bar3.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/bar3.m ***** demo ## Plotting 5 bars in the same series. z = [50; 40; 30; 20; 10]; bar3 (z); ***** demo ## Plotting 5 bars in different groups. z = [50, 40, 30, 20, 10]; bar3 (z); ***** demo ## A 3D bar graph with each series corresponding to a column in z. z = [1, 4, 7; 2, 5, 8; 3, 6, 9; 4, 7, 10]; bar3 (z); ***** demo ## Specify y-axis locations as tick names. y must be a column vector! y = [1950, 1960, 1970, 1980, 1990]'; z = [16, 8, 4, 2, 1]'; bar3 (y, z); ***** demo ## Plot 3 series as a grouped plot without any space between the grouped bars z = [70 50 33 10; 75 55 35 15; 80 60 40 20]; bar3 (z, 1, 'grouped'); ***** demo ## Plot a stacked style 3D bar graph z = [19, 30, 21, 30; 40, 16, 32, 12]; b = bar3 (z, 0.5, 'stacked'); ***** error bar3 ('A') ***** error bar3 ({2,3,4,5}) ***** error ... bar3 ([1,2,3]', ones (2)) ***** error ... bar3 ([1:5], 1.2) ***** error ... bar3 ([1:5]', ones (5), 1.2) ***** error ... bar3 ([1:5]', ones (5), [0.8, 0.7]) ***** error ... bar3 (ones (5), 'width') ***** error ... bar3 (ones (5), 'width', 1.2) ***** error ... bar3 (ones (5), 'width', [0.8, 0.8, 0.8]) ***** error ... bar3 (ones (5), 'color') ***** error ... bar3 (ones (5), 'color', [0.8, 0.8]) ***** error ... bar3 (ones (5), 'color', 'brown') ***** error ... bar3 (ones (5), 'color', {'r', 'k', 'c', 'm', 'brown'}) ***** error ... bar3 (ones (5), 'xlabel') ***** error ... bar3 (ones (5), 'xlabel', 4) ***** error ... bar3 (ones (5), 'ylabel') ***** error ... bar3 (ones (5), 'ylabel', 4) ***** error bar3 (ones (5), 'this', 4) ***** error ... bar3 (ones (5), 'xlabel', {'A', 'B', 'C'}) ***** error ... bar3 (ones (5), 'ylabel', {'A', 'B', 'C'}) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/clusterdata.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/clusterdata.m ***** demo randn ('seed', 1) # for reproducibility r1 = randn (10, 2) * 0.25 + 1; randn ('seed', 5) # for reproducibility r2 = randn (20, 2) * 0.5 - 1; X = [r1; r2]; wnl = warning ("off", 'Octave:linkage_savemem', 'local'); T = clusterdata (X, 'linkage', 'ward', 'MaxClust', 2); scatter (X(:,1), X(:,2), 36, T, 'filled'); ***** error ... clusterdata () ***** error ... clusterdata (1) ***** error clusterdata ([1 1], 'Bogus', 1) ***** error clusterdata ([1 1], 'Depth', 1) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/fitcgam.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/fitcgam.m ***** demo ## Train a GAM classifier for binary classification ## using specific data and plot the decision boundaries. ## Define specific data X = [1, 2; 2, 3; 3, 3; 4, 5; 5, 5; ... 6, 7; 7, 8; 8, 8; 9, 9; 10, 10]; Y = [0; 0; 0; 0; 0; ... 1; 1; 1; 1; 1]; ## Train the GAM model obj = fitcgam (X, Y, 'Interactions', 'all'); ## Create a grid of values for prediction x1 = [min(X(:,1)):0.1:max(X(:,1))]; x2 = [min(X(:,2)):0.1:max(X(:,2))]; [x1G, x2G] = meshgrid (x1, x2); XGrid = [x1G(:), x2G(:)]; pred = predict (obj, XGrid); ## Plot decision boundaries and data points predNumeric = str2double (pred); gidx = predNumeric > 0.5; figure scatter (XGrid(gidx,1), XGrid(gidx,2), 'markerfacecolor', 'magenta'); hold on scatter (XGrid(! gidx,1), XGrid(! gidx,2), 'markerfacecolor', 'red'); plot (X(Y == 0, 1), X(Y == 0, 2), 'ko', X(Y == 1, 1), X(Y == 1, 2), 'kx'); xlabel ('Feature 1'); ylabel ('Feature 2'); title ('Generalized Additive Model (GAM) Decision Boundary'); legend ({'Class 1 Region', 'Class 0 Region', ... 'Class 1 Samples', 'Class 0 Samples'}, ... 'location', 'northwest') axis tight hold off ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = [0; 0; 1; 1]; PredictorNames = {'Feature1', 'Feature2', 'Feature3'}; a = fitcgam (x, y, 'PredictorNames', PredictorNames); assert_equal (class (a), "ClassificationGAM"); assert_equal ({a.X, a.Y, a.NumObservations}, {x, y, 4}) assert_equal ({a.NumPredictors, a.ResponseName}, {3, 'Y'}) assert_equal (a.ClassNames, {'0'; '1'}) assert_equal (a.PredictorNames, PredictorNames) assert_equal (a.BaseModel.Intercept, 0) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8; 9, 10]; y = [1; 0; 1; 0; 1]; a = fitcgam (x, y, 'interactions', 'all'); assert_equal (class (a), "ClassificationGAM"); assert_equal ({a.X, a.Y, a.NumObservations}, {x, y, 5}) assert_equal ({a.NumPredictors, a.ResponseName}, {2, 'Y'}) assert_equal (a.ClassNames, {'0'; '1'}) assert_equal (a.PredictorNames, {'x1', 'x2'}) assert_equal (a.ModelwInt.Intercept, 0.4055, 1e-1) ***** test load fisheriris inds = strcmp (species,'versicolor') | strcmp (species,'virginica'); X = meas(inds, :); Y = species(inds, :)'; Y = strcmp (Y, 'virginica')'; a = fitcgam (X, Y, 'Formula', 'Y ~ x1 + x2 + x3 + x4 + x1:x2 + x2:x3'); assert_equal (class (a), "ClassificationGAM"); assert_equal ({a.X, a.Y, a.NumObservations}, {X, Y, 100}) assert_equal ({a.NumPredictors, a.ResponseName}, {4, 'Y'}) assert_equal (a.ClassNames, {'0'; '1'}) assert_equal (a.Formula, 'Y ~ x1 + x2 + x3 + x4 + x1:x2 + x2:x3') assert_equal (a.PredictorNames, {'x1', 'x2', 'x3', 'x4'}) assert_equal (a.ModelwInt.Intercept, 0) ***** error fitcgam () ***** error fitcgam (ones (4,1)) ***** error fitcgam (ones (4,2), ones (4, 1), 'K') ***** error fitcgam (ones (4,2), ones (3, 1)) ***** error fitcgam (ones (4,2), ones (3, 1), 'K', 2) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/pca.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/pca.m ***** shared COEFF,SCORE,latent,tsquare,m,x,R,V,lambda,i,S,F ***** test x = [7, 4, 3; 4, 1, 8; 6, 3, 5; 8, 6, 1; 8, 5, 7; ... 7, 2, 9; 5, 3, 3; 9, 5, 8; 7, 4, 5; 8, 2, 2]; R = corrcoef (x); [V, lambda] = eig (R); [~, i] = sort (diag (lambda), 'descend'); #arrange largest PC first S = V(:, i) * diag (sqrt (diag (lambda)(i))); ***** assert_equal (diag (S(:, 1:2) * S(:, 1:2)'), [0.8662; 0.8420; 0.9876], 1E-4); B = V(:, i) * diag ( 1./ sqrt (diag (lambda)(i))); F = zscore (x) * B; [COEFF, SCORE, latent, tsquare] = pca (zscore (x, 1)); ***** assert_equal (tsquare, sumsq (F, 2), 1E4*eps); ***** test x = [1, 2, 3; 2, 1, 3]'; [COEFF, SCORE, latent, tsquare] = pca (x, 'Economy', false); m = [sqrt(2), sqrt(2); sqrt(2), -sqrt(2); -2*sqrt(2), 0] / 2; m(:,1) = m(:,1) * sign (COEFF(1,1)); m(:,2) = m(:,2) * sign (COEFF(1,2)); ***** assert_equal (COEFF, m(1:2,:), 10*eps); ***** assert_equal (SCORE, -m, 10*eps); ***** assert_equal (latent, [1.5;.5], 10*eps); ***** assert_equal (tsquare, [4;4;4]/3, 10*eps); [COEFF, SCORE, latent, tsquare] = pca (x, 'Economy', false, 'weights', ... [1 2 1], 'variableweights', ... 'variance'); ***** assert_equal (COEFF, [0.632455532033676, -0.632455532033676; ... 0.741619848709566, 0.741619848709566], 10 * eps); ***** assert_equal (SCORE, [-0.622019449426284, 0.959119380657905; ... -0.505649896847432, -0.505649896847431; 1.633319243121148, 0.052180413036957], 10 * eps); ***** assert_equal (latent, [1.783001790889027; 0.716998209110974], 10 * eps); ***** test assert_equal (tsquare, [1.5; 0.5; 1.5], 10 * eps); ***** test x = [1,2,3;2,1,3]'; [COEFF, SCORE, latent, tsquare] = pca (x, 'Economy', false, 'weights', ... [2 1 2], 'variableweights', ... 'variance'); COEFF_exp = [0.7906, 0.7906; 0.6614, -0.6614]; SCORE_exp = [-0.7836, -0.4813; -0.9071, 0.9071; 1.2372, 0.0277]; latent_exp = [2.5562; 0.6438]; tsquare_exp = [0.6000; 1.6000; 0.6000]; assert_equal (COEFF, COEFF_exp, 1e-4); assert_equal (SCORE, SCORE_exp, 1e-4); assert_equal (latent, latent_exp, 1e-4); assert_equal (tsquare, tsquare_exp, 1e-4); ***** test x = [1,2,3;2,1,3]'; [COEFF, SCORE, latent, tsquare] = pca (x, 'Economy', false, 'weights', ... [1 3 2], 'variableweights', ... 'variance'); COEFF_exp = [0.6216, -0.6216; 0.8118, 0.8118]; SCORE_exp = [-0.8358, 1.0411; -0.6473, -0.3792; 1.3889, 0.0482]; latent_exp = [2.9067; 0.7599]; tsquare_exp = [1.6667; 0.3333; 0.6667]; assert_equal (COEFF, COEFF_exp, 1e-4); assert_equal (SCORE, SCORE_exp, 1e-4); assert_equal (latent, latent_exp, 1e-4); assert_equal (tsquare, tsquare_exp, 1e-4); ***** test x = [1,2,3;2,1,3]'; [COEFF, SCORE, latent, tsquare] = pca (x, 'Economy', false, 'weights', ... [1 0.5 1.5], 'variableweights', ... 'variance'); COEFF_exp = [0.8118, 0.8118; 0.6742, -0.6742]; SCORE_exp = [-0.9657, -0.4713; -1.0915, 0.8862; 1.0076, 0.0188]; latent_exp = [1.5257; 0.3077]; tsquare_exp = [1.3333; 3.3333; 0.6667]; assert_equal (COEFF, COEFF_exp, 1e-4); assert_equal (SCORE, SCORE_exp, 1e-4); assert_equal (latent, latent_exp, 1e-4); assert_equal (tsquare, tsquare_exp, 1e-4); ***** test x = [1,2,3;2,1,3]'; [COEFF, SCORE, latent, tsquare] = pca (x, 'Economy', true, 'weights', ... [2 1 2], 'variableweights', ... 'variance'); COEFF_exp = [0.7906, 0.7906; 0.6614, -0.6614]; SCORE_exp = [-0.7836, -0.4813; -0.9071, 0.9071; 1.2372, 0.0277]; latent_exp = [2.5562; 0.6438]; tsquare_exp = [0.6000; 1.6000; 0.6000]; assert_equal (COEFF, COEFF_exp, 1e-4); assert_equal (SCORE, SCORE_exp, 1e-4); assert_equal (latent, latent_exp, 1e-4); assert_equal (tsquare, tsquare_exp, 1e-4); ***** test x = [1,2,3;2,1,3]'; [COEFF, SCORE, latent, tsquare] = pca (x, 'Economy', true, 'weights', ... [1 3 2], 'variableweights', ... 'variance'); COEFF_exp = [0.6216, -0.6216; 0.8118, 0.8118]; SCORE_exp = [-0.8358, 1.0411; -0.6473, -0.3792; 1.3889, 0.0482]; latent_exp = [2.9067; 0.7599]; tsquare_exp = [1.6667; 0.3333; 0.6667]; assert_equal (COEFF, COEFF_exp, 1e-4); assert_equal (SCORE, SCORE_exp, 1e-4); assert_equal (latent, latent_exp, 1e-4); assert_equal (tsquare, tsquare_exp, 1e-4); ***** test x = [1,2,3;2,1,3]'; [COEFF, SCORE, latent, tsquare] = pca (x, 'Economy', true, 'weights', ... [1 0.5 1.5], 'variableweights', ... 'variance'); COEFF_exp = [0.8118, 0.8118; 0.6742, -0.6742]; SCORE_exp = [-0.9657, -0.4713; -1.0915, 0.8862; 1.0076, 0.0188]; latent_exp = [1.5257; 0.3077]; tsquare_exp = [1.3333; 3.3333; 0.6667]; assert_equal (COEFF, COEFF_exp, 1e-4); assert_equal (SCORE, SCORE_exp, 1e-4); assert_equal (latent, latent_exp, 1e-4); assert_equal (tsquare, tsquare_exp, 1e-4); ***** test x = x'; [COEFF, SCORE, latent, tsquare] = pca (x, 'Economy', false); m = [sqrt(2), sqrt(2), 0; -sqrt(2), sqrt(2), 0; 0, 0, 2] / 2; m(:,1) = m(:,1) * sign (COEFF(1,1)); m(:,2) = m(:,2) * sign (COEFF(1,2)); m(:,3) = m(:,3) * sign (COEFF(3,3)); ***** assert_equal (COEFF, m, 10*eps); ***** assert_equal (SCORE(:,1), -m(1:2,1), 10*eps); ***** assert_equal (SCORE(:,2:3), zeros (2), 10*eps); ***** assert_equal (latent, [1;0;0], 10*eps); ***** assert_equal (tsquare, [0.5;0.5], 10*eps) ***** test [COEFF, SCORE, latent, tsquare] = pca (x); ***** assert_equal (COEFF, m(:, 1), 10*eps); ***** assert_equal (SCORE, -m(1:2,1), 10*eps); ***** assert_equal (latent, [1], 10*eps); ***** assert_equal (tsquare, [0.5;0.5], 10*eps) ***** error pca ([1 2; 3 4], 'Algorithm', 'xxx') ***** error <'centered' requires a boolean value> pca ([1 2; 3 4], 'Centered', 'xxx') ***** error pca ([1 2; 3 4], 'NumComponents', -4) ***** error pca ([1 2; 3 4], 'Rows', 1) ***** error pca ([1 2; 3 4], 'Weights', [1 2 3]) ***** error pca ([1 2; 3 4], 'Weights', [-1 2]) ***** error pca ([1 2; 3 4], 'VariableWeights', [-1 2]) ***** error pca ([1 2; 3 4], 'VariableWeights', 'xxx') ***** error pca ([1 2; 3 4], 'XXX', 1) 38 tests, 38 passed, 0 known failure, 0 skipped [inst/x2fx.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/x2fx.m ***** test X = [1, 10; 2, 20; 3, 10; 4, 20; 5, 15; 6, 15]; D = x2fx (X,'quadratic'); assert_equal (D(1,:), [1, 1, 10, 10, 1, 100]); assert_equal (D(2,:), [1, 2, 20, 40, 4, 400]); ***** test X = [1, 10; 2, 20; 3, 10; 4, 20; 5, 15; 6, 15]; model = [0, 0; 1, 0; 0, 1; 1, 1; 2, 0]; D = x2fx (X,model); assert_equal (D(1,:), [1, 1, 10, 10, 1]); assert_equal (D(2,:), [1, 2, 20, 40, 4]); assert_equal (D(4,:), [1, 4, 20, 80, 16]); ***** test x = [1, 2, 3; 2, 3, 4; 3, 4, 5]; D = x2fx (x, 'linear'); assert_equal (D, [1, 1, 2, 3; 1, 2, 3, 4;, 1, 3, 4, 5]); D = x2fx (x, 'interaction'); assert_equal (D(1,:), [1, 1, 2, 3, 2, 3, 6]); assert_equal (D(2,:), [1, 2, 3, 4, 6, 8, 12]); assert_equal (D(3,:), [1, 3, 4, 5, 12, 15, 20]); D = x2fx (x, 'quadratic'); assert_equal (D(1,:), [1, 1, 2, 3, 2, 3, 6, 1, 4, 9]); assert_equal (D(2,:), [1, 2, 3, 4, 6, 8, 12, 4, 9, 16]); assert_equal (D(3,:), [1, 3, 4, 5, 12, 15, 20, 9, 16, 25]); D = x2fx (x, 'purequadratic'); assert_equal (D(1,:), [1, 1, 2, 3, 1, 4, 9]); assert_equal (D(2,:), [1, 2, 3, 4, 4, 9, 16]); assert_equal (D(3,:), [1, 3, 4, 5, 9, 16, 25]); ***** test x = [1, 2, 3; 2, 3, 4; 3, 4, 5]; D = x2fx (x, [0, 0, 1; 1, 0, 2]); assert_equal (D, [3, 9; 4, 32; 5, 75]); ***** test x = [1, 2, 3; 2, 3, 4; 3, 4, 5]; D = x2fx (x, 'linear', [1, 3]); assert_equal (D, [1, 1, 0, 2, 1, 0; 1, 0, 1, 3, 0, 1; 1, 0, 0, 4, 0, 0]); ***** test x = [1, 2, 3; 2, 3, 4; 3, 4, 5]; D = x2fx (x, 'quadratic', [1, 3]); assert_equal (D(1,:), [1, 1, 0, 2, 1, 0, 2, 0, 1, 0, 0, 0, 2, 0, 4]); assert_equal (D(2,:), [1, 0, 1, 3, 0, 1, 0, 3, 0, 0, 0, 1, 0, 3, 9]); assert_equal (D(3,:), [1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16]); ***** test x = [1, 2, 3; 2, 3, 4; 3, 4, 5]; D = x2fx (x, 'cos'); assert_equal (D(1,:), [0.5403, -0.4161, -0.9900], 1e-4); assert_equal (D(2,:), [-0.4161, -0.9900, -0.6536], 1e-4); assert_equal (D(3,:), [-0.9900, -0.6536, 0.2837], 1e-4); ***** error ... x2fx ([1, 2, 3; 2, 3, 4], 'quadratic', [1, 4]) ***** error ... D = x2fx ([1, 2, 3; 2, 3, 4; 3, 4, 5], 'cosine') ***** error ... x2fx ([1, 10; 2, 20; 3, 10], [0; 1]); ***** error ... x2fx ([1, 10, 15; 2, 20, 40; 3, 10, 25], [0, 0; 1, 0; 0, 1; 1, 1; 2, 0]); 11 tests, 11 passed, 0 known failure, 0 skipped [inst/hmmgenerate.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/hmmgenerate.m ***** test len = 25; transprob = [0.8, 0.2; 0.4, 0.6]; outprob = [0.2, 0.4, 0.4; 0.7, 0.2, 0.1]; [sequence, states] = hmmgenerate (len, transprob, outprob); assert_equal (length (sequence), len); assert_equal (length (states), len); assert_equal (all ((min (sequence) >= 1)(:)), true); assert_equal (all ((max (sequence) <= columns (outprob))(:)), true); assert_equal (all ((min (states) >= 1)(:)), true); assert_equal (all ((max (states) <= rows (transprob))(:)), true); ***** test len = 25; transprob = [0.8, 0.2; 0.4, 0.6]; outprob = [0.2, 0.4, 0.4; 0.7, 0.2, 0.1]; symbols = {'A', 'B', 'C'}; statenames = {'One', 'Two'}; [sequence, states] = hmmgenerate (len, transprob, outprob, ... 'symbols', symbols, 'statenames', statenames); assert_equal (length (sequence), len); assert_equal (length (states), len); assert_equal (all ((strcmp (sequence, 'A') + strcmp (sequence, 'B') + ... strcmp (sequence, 'C') == ones (1, len))(:)), true); assert_equal (all ((strcmp (states, 'One') + strcmp (states, 'Two') == ones (1, len))(:)), true); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/inconsistent.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/inconsistent.m ***** error inconsistent () ***** error inconsistent ([1 2 1], 2, 3) ***** error inconsistent (ones (2, 2)) ***** error inconsistent ([1 2 1], -1) ***** error inconsistent ([1 2 1], 1.3) ***** error inconsistent ([1 2 1], [1 1]) ***** error inconsistent (ones (2, 3)) ***** test load fisheriris; Z = linkage (meas, 'average', 'chebychev'); assert_equal (cond (inconsistent (Z)), 39.9, 1e-3); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/ecdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/ecdf.m ***** demo y = exprnd (10, 50, 1); ## random failure times are exponential(10) d = exprnd (20, 50, 1); ## drop-out times are exponential(20) t = min (y, d); ## we observe the minimum of these times censored = (y > d); ## we also observe whether the subject failed ## Calculate and plot the empirical cdf and confidence bounds [f, x, flo, fup] = ecdf (t, 'censoring', censored); stairs (x, f); hold on; stairs (x, flo, 'r:'); stairs (x, fup, 'r:'); ## Superimpose a plot of the known true cdf xx = 0:.1:max (t); yy = 1 - exp (-xx / 10); plot (xx, yy, 'g-'); hold off; ***** demo R = wblrnd (100, 2, 100, 1); ecdf (R, 'Function', 'survivor', 'Alpha', 0.01, 'Bounds', 'on'); hold on x = 1:1:250; wblsurv = 1 - cdf ('weibull', x, 100, 2); plot (x, wblsurv, 'g-', 'LineWidth', 2) legend ('Empirical survivor function', 'Lower confidence bound', ... 'Upper confidence bound', 'Weibull survivor function', ... 'Location', 'northeast'); hold off ***** error ecdf (); ***** error ecdf (randi (15,2)); ***** error ecdf ([3,2,4,3+2i,5]); ***** error kstest ([2,3,4,5,6],'tail'); ***** error kstest ([2,3,4,5,6],'tail', 'whatever'); ***** error kstest ([2,3,4,5,6],'function', ''); ***** error kstest ([2,3,4,5,6],'badoption', 0.51); ***** error kstest ([2,3,4,5,6],'tail', 0); ***** error kstest ([2,3,4,5,6],'alpha', 0); ***** error kstest ([2,3,4,5,6],'alpha', NaN); ***** error kstest ([NaN,NaN,NaN,NaN,NaN],'tail', 'unequal'); ***** error kstest ([2,3,4,5,6],'alpha', 0.05, 'CDF', [2,3,4;1,3,4;1,2,1]); ***** test hf = figure ('visible', 'off'); unwind_protect x = [2, 3, 4, 3, 5, 4, 6, 5, 8, 3, 7, 8, 9, 0]; [F, x, Flo, Fup] = ecdf (x); F_out = [0; 0.0714; 0.1429; 0.3571; 0.5; 0.6429; 0.7143; 0.7857; 0.9286; 1]; assert_equal (F, F_out, ones (10,1) * 1e-4); x_out = [0 0 2 3 4 5 6 7 8 9]'; assert_equal (x, x_out); Flo_out = [NaN, 0, 0, 0.1061, 0.2381, 0.3919, 0.4776, 0.5708, 0.7937, NaN]'; assert_equal (Flo, Flo_out, ones (10,1) * 1e-4); Fup_out = [NaN, 0.2063, 0.3262, 0.6081, 0.7619, 0.8939, 0.9509, 1, 1, NaN]'; assert_equal (Fup, Fup_out, ones (10,1) * 1e-4); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect x = [2, 3, 4, 3, 5, 4, 6, 5, 8, 3, 7, 8, 9, 0]; ecdf (x); unwind_protect_cleanup close (hf); end_unwind_protect 14 tests, 14 passed, 0 known failure, 0 skipped [inst/vartestn.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/vartestn.m ***** demo ## Test the null hypothesis that the variances are equal across the five ## columns of data in the students’ exam grades matrix, grades. load examgrades vartestn (grades) ***** demo ## Test the null hypothesis that the variances in miles per gallon (MPG) are ## equal across different model years. load carsmall vartestn (MPG, Model_Year) ***** demo ## Use Levene’s test to test the null hypothesis that the variances in miles ## per gallon (MPG) are equal across different model years. load carsmall p = vartestn (MPG, Model_Year, 'TestType', 'LeveneAbsolute') ***** demo ## Test the null hypothesis that the variances are equal across the five ## columns of data in the students’ exam grades matrix, grades, using the ## Brown-Forsythe test. Suppress the display of the summary table of ## statistics and the box plot. load examgrades [p, stats] = vartestn (grades, 'TestType', 'BrownForsythe', 'Display', 'off') ***** error vartestn (); ***** error vartestn (1); ***** error ... vartestn ([1, 2, 3, 4, 5, 6, 7]); ***** error ... vartestn ([1, 2, 3, 4, 5, 6, 7], []); ***** error ... vartestn ([1, 2, 3, 4, 5, 6, 7], 'TestType', 'LeveneAbsolute'); ***** error ... vartestn ([1, 2, 3, 4, 5, 6, 7], [], 'TestType', 'LeveneAbsolute'); ***** error ... vartestn ([1, 2, 3, 4, 5, 6, 7], [1, 1, 1, 2, 2, 2, 2], 'Display', 'some'); ***** error ... vartestn (ones (50,3), 'Display', 'some'); ***** error ... vartestn (ones (50,3), 'Display', 'off', 'testtype', 'some'); ***** error ... vartestn (ones (50,3), [], 'som'); ***** error ... vartestn (ones (50,3), [], 'some', 'some'); ***** error ... vartestn (ones (50,3), [1, 2], 'Display', 'off'); ***** test load examgrades [p, stat] = vartestn (grades, 'Display', 'off'); assert_equal (p, 7.908647337018238e-08, 1e-14); assert_equal (stat.chisqstat, 38.7332, 1e-4); assert_equal (stat.df, 4); ***** test load examgrades [p, stat] = vartestn (grades, 'Display', 'off', 'TestType', 'LeveneAbsolute'); assert_equal (p, 9.523239714592791e-07, 1e-14); assert_equal (stat.fstat, 8.5953, 1e-4); assert_equal (stat.df, [4, 595]); ***** test load examgrades [p, stat] = vartestn (grades, 'Display', 'off', 'TestType', 'LeveneQuadratic'); assert_equal (p, 7.219514351897161e-07, 1e-14); assert_equal (stat.fstat, 8.7503, 1e-4); assert_equal (stat.df, [4, 595]); ***** test load examgrades [p, stat] = vartestn (grades, 'Display', 'off', 'TestType', 'BrownForsythe'); assert_equal (p, 1.312093241723211e-06, 1e-14); assert_equal (stat.fstat, 8.4160, 1e-4); assert_equal (stat.df, [4, 595]); ***** test load examgrades [p, stat] = vartestn (grades, 'Display', 'off', 'TestType', 'OBrien'); assert_equal (p, 8.235660885480556e-07, 1e-14); assert_equal (stat.fstat, 8.6766, 1e-4); assert_equal (stat.df, [4, 595]); 17 tests, 17 passed, 0 known failure, 0 skipped [inst/anova1.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/anova1.m ***** demo x = meshgrid (1:6); randn ('seed', 15); # for reproducibility x = x + normrnd (0, 1, 6, 6); anova1 (x, [], 'off'); ***** demo x = meshgrid (1:6); randn ('seed', 15); # for reproducibility x = x + normrnd (0, 1, 6, 6); [p, atab] = anova1 (x); ***** demo x = ones (50, 4) .* [-2, 0, 1, 5]; randn ('seed', 13); # for reproducibility x = x + normrnd (0, 2, 50, 4); groups = {'A', 'B', 'C', 'D'}; anova1 (x, groups); ***** demo y = [54 87 45; 23 98 39; 45 64 51; 54 77 49; 45 89 50; 47 NaN 55]; g = [1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ]; anova1 (y(:), g(:), 'on', 'unequal'); ***** test data = [1.006, 0.996, 0.998, 1.000, 0.992, 0.993, 1.002, 0.999, 0.994, 1.000, ... 0.998, 1.006, 1.000, 1.002, 0.997, 0.998, 0.996, 1.000, 1.006, 0.988, ... 0.991, 0.987, 0.997, 0.999, 0.995, 0.994, 1.000, 0.999, 0.996, 0.996, ... 1.005, 1.002, 0.994, 1.000, 0.995, 0.994, 0.998, 0.996, 1.002, 0.996, ... 0.998, 0.998, 0.982, 0.990, 1.002, 0.984, 0.996, 0.993, 0.980, 0.996, ... 1.009, 1.013, 1.009, 0.997, 0.988, 1.002, 0.995, 0.998, 0.981, 0.996, ... 0.990, 1.004, 0.996, 1.001, 0.998, 1.000, 1.018, 1.010, 0.996, 1.002, ... 0.998, 1.000, 1.006, 1.000, 1.002, 0.996, 0.998, 0.996, 1.002, 1.006, ... 1.002, 0.998, 0.996, 0.995, 0.996, 1.004, 1.004, 0.998, 0.999, 0.991, ... 0.991, 0.995, 0.984, 0.994, 0.997, 0.997, 0.991, 0.998, 1.004, 0.997]; group = [1:10] .* ones (10,10); group = group(:); [p, tbl] = anova1 (data, group, 'off'); assert_equal (p, 0.022661, 1e-6); assert_equal (tbl{2,5}, 2.2969, 1e-4); assert_equal (tbl{2,3}, 9, 0); assert_equal (tbl{4,2}, 0.003903, 1e-6); data = reshape (data, 10, 10); [p, tbl, stats] = anova1 (data, [], 'off'); assert_equal (p, 0.022661, 1e-6); assert_equal (tbl{2,5}, 2.2969, 1e-4); assert_equal (tbl{2,3}, 9, 0); assert_equal (tbl{4,2}, 0.003903, 1e-6); means = [0.998, 0.9991, 0.9954, 0.9982, 0.9919, 0.9988, 1.0015, 1.0004, 0.9983, 0.9948]; N = 10 * ones (1, 10); assert_equal (stats.means, means, 1e-6); assert_equal (length (stats.gnames), 10, 0); assert_equal (stats.n, N, 0); ***** test y = [54 87 45; 23 98 39; 45 64 51; 54 77 49; 45 89 50; 47 NaN 55]; g = [1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ]; [p, tbl] = anova1 (y(:), g(:), 'off', 'equal'); assert_equal (p, 0.00004163, 1e-6); assert_equal (tbl{2,5}, 22.573418, 1e-6); assert_equal (tbl{2,3}, 2, 0); assert_equal (tbl{3,3}, 14, 0); [p, tbl] = anova1 (y(:), g(:), 'off', 'unequal'); assert_equal (p, 0.00208877, 1e-8); assert_equal (tbl{2,5}, 15.523192, 1e-6); assert_equal (tbl{2,3}, 2, 0); assert_equal (tbl{2,4}, 7.5786897, 1e-6); ***** test y = [54, 87, 45; 23, 98, 39; 45, 64, 51; ... 54, 77, 49; 45, 89, 50; 47, NaN, 55]; g = categorical ([1, 2, 3; 1, 2, 3; 1, 2, 3; 1, 2, 3; 1, 2, 3; 1, 2, 3]); [p, tbl] = anova1 (y(:), g(:), 'off', 'equal'); assert_equal (p, 0.00004163, 1e-6); assert_equal (tbl{2,5}, 22.573418, 1e-6); assert_equal (tbl{2,3}, 2, 0); assert_equal (tbl{3,3}, 14, 0); [p, tbl] = anova1 (y(:), g(:), 'off', 'unequal'); assert_equal (p, 0.00208877, 1e-8); assert_equal (tbl{2,5}, 15.523192, 1e-6); assert_equal (tbl{2,3}, 2, 0); assert_equal (tbl{2,4}, 7.5786897, 1e-6); ***** test y = [10; 20; 9999; NaN; 40; 50]; g = [1; 1; NaN; 1; 2; 2]; [p, tbl, stats] = anova1 (y, g, 'off'); assert_equal (p, 0.051317, 1e-6); assert_equal (tbl{2,5}, 18, 1e-6); assert_equal (tbl{2,3}, 1, 0); assert_equal (tbl{3,3}, 2, 0); assert_equal (tbl{4,3}, 3, 0); assert_equal (stats.n, [2, 2], 0); ***** test y = [10; 20; 9999; NaN; 40; 50]; g = categorical ([1; 1; NaN; 1; 2; 2]); [p, tbl, stats] = anova1 (y, g, 'off'); assert_equal (p, 0.051317, 1e-6); assert_equal (tbl{2,5}, 18, 1e-6); assert_equal (tbl{2,3}, 1, 0); assert_equal (tbl{3,3}, 2, 0); assert_equal (tbl{4,3}, 3, 0); assert_equal (stats.n, [2, 2], 0); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/nanmin.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/nanmin.m ***** demo ## Find the column minimum values and their indices ## for matrix data with missing values. x = magic (3); x([1, 6:9]) = NaN [y, ind] = nanmin (x) ***** demo ## Find the minimum of all the values in an array, ignoring missing values. ## Create a 2-by-5-by-3 array x with some missing values. x = reshape (1:30, [2, 5, 3]); x([10:12, 25]) = NaN ## Find the minimum of the elements of x. y = nanmin (x, [], 'all') ***** assert_equal (nanmin ([2, 4, NaN, 7]), 2) ***** assert_equal (nanmin ([2, 4, NaN, -Inf]), -Inf) ***** assert_equal (nanmin ([1, NaN, 3; NaN, 5, 6; 7, 8, NaN]), [1, 5, 3]) ***** assert_equal (nanmin ([1, NaN, 3; NaN, 5, 6; 7, 8, NaN]'), [1, 5, 7]) ***** assert_equal (nanmin (single ([1, NaN, 3; NaN, 5, 6; 7, 8, NaN])), single ([1, 5, 3])) ***** shared x, y x(:,:,1) = [1.77, -0.005, NaN, -2.95; NaN, 0.34, NaN, 0.19]; x(:,:,2) = [1.77, -0.005, NaN, -2.95; NaN, 0.34, NaN, 0.19] + 5; y = x; y(2,3,1) = 0.51; ***** assert_equal (nanmin (x, [], [1, 2])(:), [-2.95; 2.05]) ***** assert_equal (nanmin (x, [], [1, 3])(:), [1.77; -0.005; NaN; -2.95]) ***** assert_equal (nanmin (x, [], [2, 3])(:), [-2.95; 0.19]) ***** assert_equal (nanmin (x, [], [1, 2, 3]), -2.95) ***** assert_equal (nanmin (x, [], 'all'), -2.95) ***** assert_equal (nanmin (y, [], [1, 3])(:), [1.77; -0.005; 0.51; -2.95]) ***** assert_equal (nanmin (x(1,:,1), x(2,:,1)), [1.77, -0.005, NaN, -2.95]) ***** assert_equal (nanmin (x(1,:,2), x(2,:,2)), [6.77, 4.995, NaN, 2.05]) ***** assert_equal (nanmin (y(1,:,1), y(2,:,1)), [1.77, -0.005, 0.51, -2.95]) ***** assert_equal (nanmin (y(1,:,2), y(2,:,2)), [6.77, 4.995, NaN, 2.05]) ***** test xx = repmat ([1:20;6:25], [5 2 6 3]); assert_equal (size (nanmin (xx, [], [3, 2])), [10, 1, 1, 3]); assert_equal (size (nanmin (xx, [], [1, 2])), [1, 1, 6, 3]); assert_equal (size (nanmin (xx, [], [1, 2, 4])), [1, 1, 6]); assert_equal (size (nanmin (xx, [], [1, 4, 3])), [1, 40]); assert_equal (size (nanmin (xx, [], [1, 2, 3, 4])), [1, 1]); ***** assert_equal (nanmin (ones (2), [], 3), ones (2, 2)) ***** assert_equal (nanmin (ones (2, 2, 2), [], 99), ones (2, 2, 2)) ***** assert_equal (nanmin (magic (3), [], 3), magic (3)) ***** assert_equal (nanmin (magic (3), [], [1, 3]), [3, 1, 2]) ***** assert_equal (nanmin (magic (3), [], [1, 99]), [3, 1, 2]) ***** assert_equal (nanmin (ones (2), 3), ones (2,2)) ***** error ... nanmin (y, [], [1, 1, 2]) ***** error ... [v, idx] = nanmin (x, y, [1 2]) 24 tests, 24 passed, 0 known failure, 0 skipped [inst/procrustes.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/procrustes.m ***** demo ## Create some random points in two dimensions n = 10; randn ('seed', 1); X = normrnd (0, 1, [n, 2]); ## Those same points, rotated, scaled, translated, plus some noise S = [0.5, -sqrt(3)/2; sqrt(3)/2, 0.5]; # rotate 60 degrees Y = normrnd (0.5*X*S + 2, 0.05, n, 2); ## Conform Y to X, plot original X and Y, and transformed Y [d, Z] = procrustes (X, Y); plot (X(:,1), X(:,2), 'rx', Y(:,1), Y(:,2), 'b.', Z(:,1), Z(:,2), 'bx'); ***** demo ## Find Procrustes distance and plot superimposed shape X = [40 88; 51 88; 35 78; 36 75; 39 72; 44 71; 48 71; 52 74; 55 77]; Y = [36 43; 48 42; 31 26; 33 28; 37 30; 40 31; 45 30; 48 28; 51 24]; plot (X(:,1),X(:,2),'x'); hold on plot (Y(:,1),Y(:,2),'o'); xlim ([0 100]); ylim ([0 100]); legend ('Target shape (X)', 'Source shape (Y)'); [d, Z] = procrustes (X, Y) plot (Z(:,1), Z(:,2), 's'); legend ('Target shape (X)', 'Source shape (Y)', 'Transformed shape (Z)'); hold off ***** demo ## Apply Procrustes transformation to larger set of points ## Create matrices with landmark points for two triangles X = [5, 0; 5, 5; 8, 5]; # target Y = [0, 0; 1, 0; 1, 1]; # source ## Create a matrix with more points on the source triangle Y_mp = [linspace(Y(1,1),Y(2,1),10)', linspace(Y(1,2),Y(2,2),10)'; ... linspace(Y(2,1),Y(3,1),10)', linspace(Y(2,2),Y(3,2),10)'; ... linspace(Y(3,1),Y(1,1),10)', linspace(Y(3,2),Y(1,2),10)']; ## Plot both shapes, including the larger set of points for the source shape plot ([X(:,1); X(1,1)], [X(:,2); X(1,2)], 'bx-'); hold on plot ([Y(:,1); Y(1,1)], [Y(:,2); Y(1,2)], 'ro-', 'MarkerFaceColor', 'r'); plot (Y_mp(:,1), Y_mp(:,2), 'ro'); xlim ([-1 10]); ylim ([-1 6]); legend ('Target shape (X)', 'Source shape (Y)', ... 'More points on Y', 'Location', 'northwest'); hold off ## Obtain the Procrustes transformation [d, Z, transform] = procrustes (X, Y) ## Use the Procrustes transformation to superimpose the more points (Y_mp) ## on the source shape onto the target shape, and then visualize the results. Z_mp = transform.b * Y_mp * transform.T + transform.c(1,:); figure plot ([X(:,1); X(1,1)], [X(:,2); X(1,2)], 'bx-'); hold on plot ([Y(:,1); Y(1,1)], [Y(:,2); Y(1,2)], 'ro-', 'MarkerFaceColor', 'r'); plot (Y_mp(:,1), Y_mp(:,2), 'ro'); xlim ([-1 10]); ylim ([-1 6]); plot ([Z(:,1); Z(1,1)],[Z(:,2); Z(1,2)],'ks-','MarkerFaceColor','k'); plot (Z_mp(:,1),Z_mp(:,2),'ks'); legend ('Target shape (X)', 'Source shape (Y)', ... 'More points on Y', 'Transformed source shape (Z)', ... 'Transformed additional points', 'Location', 'northwest'); hold off ***** demo ## Compare shapes without reflection T = [33, 93; 33, 87; 33, 80; 31, 72; 32, 65; 32, 58; 30, 72; ... 28, 72; 25, 69; 22, 64; 23, 59; 26, 57; 30, 57]; S = [48, 83; 48, 77; 48, 70; 48, 65; 49, 59; 49, 56; 50, 66; ... 52, 66; 56, 65; 58, 61; 57, 57; 54, 56; 51, 55]; plot (T(:,1), T(:,2), 'x-'); hold on plot (S(:,1), S(:,2), 'o-'); legend ('Target shape (d)', 'Source shape (b)'); hold off d_false = procrustes (T, S, 'reflection', false); printf ("Procrustes distance without reflection: %f\n", d_false); d_true = procrustes (T, S, 'reflection', true); printf ("Procrustes distance with reflection: %f\n", d_true); d_best = procrustes (T, S, 'reflection', 'best'); printf ("Procrustes distance with best fit: %f\n", d_true); ***** error procrustes (); ***** error procrustes (1); ***** error procrustes (1, 2, 3, 4, 5, 6, 7); ***** error ... procrustes (ones (2, 2, 2), ones (2, 2, 2)); ***** error ... procrustes ([1, 2; -3, 4; 2, 3], [1, 2; -3, 4; 2, 3+i]); ***** error ... procrustes ([1, 2; -3, 4; 2, 3], [1, 2; -3, 4; 2, NaN]); ***** error ... procrustes ([1, 2; -3, 4; 2, 3], [1, 2; -3, 4; 2, Inf]); ***** error ... procrustes (ones (10 ,3), ones (11, 3)); ***** error ... procrustes (ones (10 ,3), ones (10, 4)); ***** error ... procrustes (ones (10 ,3), ones (10, 3), 'reflection'); ***** error ... procrustes (ones (10 ,3), ones (10, 3), true); ***** error ... procrustes (ones (10 ,3), ones (10, 3), 'scaling', 0); ***** error ... procrustes (ones (10 ,3), ones (10, 3), 'scaling', [true true]); ***** error ... procrustes (ones (10 ,3), ones (10, 3), 'reflection', 1); ***** error ... procrustes (ones (10 ,3), ones (10, 3), 'reflection', 'some'); ***** error ... procrustes (ones (10 ,3), ones (10, 3), 'param1', 'some'); 16 tests, 16 passed, 0 known failure, 0 skipped [inst/canoncorr.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/canoncorr.m ***** shared X, Y, A, B, r, U, V, k, Cuv k = 10; X = [1:k; sin(1:k); cos(1:k)]'; Y = [tan(1:k); tanh((1:k)/k)]'; [A, B, r, U, V, stats] = canoncorr (X, Y); Cuv = (U' * V) / (k - 1); ***** assert_equal (diag (Cuv)', r, 10 * eps); ***** assert_equal (diag (diag (Cuv)), Cuv, 2 * eps); ***** assert_equal (r, [0.99590, 0.26754], 1E-5); ***** assert_equal (U, center (X) * A, 10 * eps); ***** assert_equal (V, center (Y) * B, 10 * eps); ***** assert_equal (cov (U), eye (size (U, 2)), 10 * eps); ***** assert_equal (cov (V), eye (size (V, 2)), 10 * eps); rand ('state', 1); [A, B, r] = canoncorr (rand (5, 10), rand (5, 20)); ***** assert_equal (r, ones (1, 5), 10*eps); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/standardizeMissing.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/standardizeMissing.m ***** assert_equal (standardizeMissing (1, 1), NaN) ***** assert_equal (standardizeMissing (1, 0), 1) ***** assert_equal (standardizeMissing (eye (2), 1), [NaN 0;0 NaN]) ***** assert_equal (standardizeMissing ([1:3;4:6], [2 3 4 5]), [1, NaN, NaN; NaN, NaN, 6]) ***** assert_equal (standardizeMissing (cat (3,1,2,3,4), 3), cat (3,1,2,NaN,4)) ***** assert_equal (standardizeMissing ('foo', 'a'), 'foo') ***** assert_equal (standardizeMissing ('foo', 'f'), 'foo') ***** assert_equal (standardizeMissing ('foo', 'o'), 'foo') ***** assert_equal (standardizeMissing ('foo', 'oo'), 'foo') ***** assert_equal (standardizeMissing ({'foo'}, 'f'), {'foo'}) ***** assert_equal (standardizeMissing ({'foo'}, {'f'}), {'foo'}) ***** assert_equal (standardizeMissing ({'foo'}, 'test'), {'foo'}) ***** assert_equal (standardizeMissing ({'foo'}, {'test'}), {'foo'}) ***** assert_equal (standardizeMissing ({'foo'}, 'foo'), {''}) ***** assert_equal (standardizeMissing ({'foo'}, {'foo'}), {''}) ***** assert_equal (standardizeMissing (['foo';'bar'], 'oar'), ['foo';'bar']) ***** assert_equal (standardizeMissing (['foo';'bar'], ['o';'a';'r']), ['foo';'bar']) ***** assert_equal (standardizeMissing (['foo';'bar'], ['o ';'ar']), ['foo';'bar']) ***** assert_equal (standardizeMissing ({'foo','bar'}, 'foo'), {'','bar'}) ***** assert_equal (standardizeMissing ({'foo','bar'}, 'f'), {'foo','bar'}) ***** assert_equal (standardizeMissing ({'foo','bar'}, {'foo', 'a'}), {'','bar'}) ***** assert_equal (standardizeMissing ({'foo'}, {'f', 'oo'}), {'foo'}) ***** assert_equal (standardizeMissing ({'foo','bar'}, {'foo'}), {'','bar'}) ***** assert_equal (standardizeMissing ({'foo','bar'}, {'foo', 'a'}), {'','bar'}) ***** assert_equal (standardizeMissing (double (1), single (1)), double (NaN)) ***** assert_equal (standardizeMissing (single (1), single (1)), single (NaN)) ***** assert_equal (standardizeMissing (single (1), double (1)), single (NaN)) ***** assert_equal (standardizeMissing (single (1), uint8 (1)), single (NaN)) ***** assert_equal (standardizeMissing (double (1), int32 (1)), double (NaN)) ***** assert_equal (standardizeMissing (true, true), true) ***** assert_equal (standardizeMissing (true, 1), true) ***** assert_equal (standardizeMissing (int32 (1), int32 (1)), int32 (1)) ***** assert_equal (standardizeMissing (int32 (1), 1), int32 (1)) ***** assert_equal (standardizeMissing (uint32 (1), uint32 (1)), uint32 (1)) ***** assert_equal (standardizeMissing (uint32 (1), 1), uint32 (1)) ***** assert_equal (standardizeMissing ({'abc', 1}, 1), {'abc', 1}) ***** assert_equal (standardizeMissing (struct ('a','b'), 1), struct ('a','b')) ***** assert_equal (double (standardizeMissing (categorical (1), categorical (1))), NaN) ***** assert_equal (double (standardizeMissing (categorical (1), '1')), NaN) ***** assert_equal (class (standardizeMissing (categorical (1), categorical (1))), 'categorical') ***** assert_equal (double (standardizeMissing (categorical (1), categorical (2))), 1) ***** assert_equal (double (standardizeMissing (categorical (1), '2')), 1) ***** assert_equal (class (standardizeMissing (categorical (1), categorical (2))), 'categorical') ***** test A = categorical ({'a', 'b', 'c'}); indicator = 'b'; a = standardizeMissing (A , indicator); assert_equal (class (a), 'categorical'); assert_equal (double (a), [1, NaN, 3]); ***** assert_equal (isnat (standardizeMissing (datetime ('today'), datetime ('today'))), true) ***** assert_equal (isnat (standardizeMissing (datetime ('today'), datetime ('yesterday'))), false) ***** assert_equal (days (standardizeMissing (days (1), days (1))), NaN) ***** assert_equal (days (standardizeMissing (days (1), days (2))), 1) ***** assert_equal (cellstr (standardizeMissing (string (1), string (1))), {''}) ***** assert_equal (cellstr (standardizeMissing (string (1), string (2))), {'1'}) ***** error standardizeMissing (); ***** error standardizeMissing (1); ***** error standardizeMissing (1, 2, 3); ***** error ... standardizeMissing ([1, 2, 3], {1}); ***** error ... standardizeMissing ([1, 2, 3], 'a'); ***** error ... standardizeMissing ([1, 2, 3], struct ('a', 1)); ***** error ... standardizeMissing (categorical (1), 1); ***** error ... standardizeMissing ({'foo'}, string ('foo')); ***** error ... standardizeMissing ({'foo'}, ['a';'b']); 59 tests, 59 passed, 0 known failure, 0 skipped [inst/ff2n.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/ff2n.m ***** error ff2n (); ***** error ff2n (2, 5); ***** error ff2n (2.5); ***** error ff2n (0); ***** error ff2n (-3); ***** error ff2n (3+2i); ***** error ff2n (Inf); ***** error ff2n (NaN); ***** test A = ff2n (3); assert_equal (A, [0, 0, 0; 0, 0, 1; 0, 1, 0; 0, 1, 1; ... 1, 0, 0; 1, 0, 1; 1, 1, 0; 1, 1, 1]); ***** test A = ff2n (2); assert_equal (A, [0, 0; 0, 1; 1, 0; 1, 1]); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/correlation_test.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/correlation_test.m ***** error correlation_test (); ***** error correlation_test (1); ***** error ... correlation_test ([1 2 NaN]', [2 3 4]'); ***** error ... correlation_test ([1 2 Inf]', [2 3 4]'); ***** error ... correlation_test ([1 2 3+i]', [2 3 4]'); ***** error ... correlation_test ([1 2 3]', [2 3 NaN]'); ***** error ... correlation_test ([1 2 3]', [2 3 Inf]'); ***** error ... correlation_test ([1 2 3]', [3 4 3+i]'); ***** error ... correlation_test ([1 2 3]', [3 4 4 5]'); ***** error ... correlation_test ([1 2 3]', [2 3 4]', 'alpha', 0); ***** error ... correlation_test ([1 2 3]', [2 3 4]', 'alpha', 1.2); ***** error ... correlation_test ([1 2 3]', [2 3 4]', 'alpha', [.02 .1]); ***** error ... correlation_test ([1 2 3]', [2 3 4]', 'alpha', 'a'); ***** error ... correlation_test ([1 2 3]', [2 3 4]', 'some', 0.05); ***** error ... correlation_test ([1 2 3]', [2 3 4]', 'tail', 'val'); ***** error ... correlation_test ([1 2 3]', [2 3 4]', 'alpha', 0.01, 'tail', 'val'); ***** error ... correlation_test ([1 2 3]', [2 3 4]', 'method', 0.01); ***** error ... correlation_test ([1 2 3]', [2 3 4]', 'method', 'some'); ***** test x = [6 7 7 9 10 12 13 14 15 17]; y = [19 22 27 25 30 28 30 29 25 32]; [h, pval, stats] = correlation_test (x, y); assert_equal (stats.corrcoef, corr (x', y'), 1e-14); assert_equal (pval, 0.0223, 1e-4); ***** test x = [6 7 7 9 10 12 13 14 15 17]'; y = [19 22 27 25 30 28 30 29 25 32]'; [h, pval, stats] = correlation_test (x, y); assert_equal (stats.corrcoef, corr (x, y), 1e-14); assert_equal (pval, 0.0223, 1e-4); 20 tests, 20 passed, 0 known failure, 0 skipped [inst/sigma_pts.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/sigma_pts.m ***** demo K = [1 0.5; 0.5 1]; # covariance matrix # calculate and build associated ellipse [R,S,~] = svd (K); theta = atan2 (R(2,1), R(1,1)); v = sqrt (diag (S)); v = v .* [cos(theta) sin(theta); -sin(theta) cos(theta)]; t = linspace (0, 2*pi, 100).'; xe = v(1,1) * cos (t) + v(2,1) * sin (t); ye = v(1,2) * cos (t) + v(2,2) * sin (t); figure (1); clf; hold on # Plot ellipse and axes line ([0 0; v(:,1).'],[0 0; v(:,2).']) plot (xe,ye,'-r'); col = 'rgb'; l = [-1.8 -1 1.5]; for li = 1:3 p = sigma_pts (2, [], K, l(li)); tmp = plot (p(2:end,1), p(2:end,2), ['x' col(li)], ... p(1,1), p(1,2), ['o' col(li)]); h(li) = tmp(1); endfor hold off axis image legend (h, arrayfun (@(x) sprintf ("l:%.2g", x), l, 'unif', 0)); ***** test p = sigma_pts (5); assert_equal (mean (p), zeros (1,5), sqrt (eps)); assert_equal (cov (p), eye (5), sqrt (eps)); ***** test m = randn (1, 5); p = sigma_pts (5, m); assert_equal (mean (p), m, sqrt (eps)); assert_equal (cov (p), eye (5), sqrt (eps)); ***** test x = linspace (0,1,5); K = exp (- (x.' - x).^2/ 0.5); p = sigma_pts (5, [], K); assert_equal (mean (p), zeros (1,5), sqrt (eps)); assert_equal (cov (p), K, sqrt (eps)); ***** error sigma_pts (2,1); ***** error sigma_pts (2,[],1); ***** error sigma_pts (2,1,1); ***** error sigma_pts (2,[0.5 0.5],[-1 0; 0 0]); 7 tests, 7 passed, 0 known failure, 0 skipped [inst/parseWilkinsonFormula.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/parseWilkinsonFormula.m ***** demo ## Simple Linear Regression : ## This example models a continuous response (Height) as a linear function ## of a single continuous predictor (Age). The 'equation' mode returns the ## symbolic representation, while 'model_matrix' generates the design matrix. Age = [10; 12; 14; 16; 18]; Height = [140; 148; 155; 162; 170]; t = table (Height, Age); formula = 'Height ~ Age'; disp (['Formula: ', formula]); equation = parseWilkinsonFormula (formula, 'equation') [X, y, names] = parseWilkinsonFormula (formula, 'model_matrix', t) ***** demo ## Multiple Regression : ## Here we model House Price based on two independent predictors: Area and ## number of Rooms. The '+' operator adds terms to the model without assuming ## any interaction between them. Price = [300; 350; 400; 450]; Area = [1500; 1800; 2200; 2500]; Rooms = [3; 3; 4; 5]; t = table (Price, Area, Rooms); formula = 'Price ~ Area + Rooms'; disp (['Formula: ', formula]); equation = parseWilkinsonFormula (formula, 'equation') [X, y, names] = parseWilkinsonFormula (formula, 'model_matrix', t) ***** demo ## Interaction Effects : ## We analyze Relief Score based on Drug Type and Dosage Level. ## The '*' operator expands to the main effects PLUS the interaction term. ## Categorical variables are automatically created. Relief = [5; 7; 6; 8]; Drug = {'Placebo'; 'Placebo'; 'Active'; 'Active'}; Dose = {'Low'; 'High'; 'Low'; 'High'}; t = table (Relief, Drug, Dose); formula = 'Relief ~ Drug * Dose'; disp (['Formula: ', formula]); equation = parseWilkinsonFormula (formula, 'equation') [X, y, names] = parseWilkinsonFormula (formula, 'model_matrix', t) ***** demo ## Polynomial Regression : ## Uses the power operator (^) to model non-linear relationships. Distance = [20; 45; 80; 125]; Speed = [30; 50; 70; 90]; Speed_2 = Speed .^ 2; t = table (Distance, Speed, Speed_2, 'VariableNames', {'Distance', 'Speed', 'Speed^2'}); formula = 'Distance ~ Speed^2'; disp (['Formula: ', formula]); equation = parseWilkinsonFormula (formula, 'equation') [X, y, names] = parseWilkinsonFormula (formula, 'model_matrix', t) ***** demo ## Hierarchical Design. ## Common in psychometrics. Here, 'Class' is nested within 'School'. ## The '/' operator implies School + School:Class. Score = [88; 92; 75; 80]; School = {'North'; 'North'; 'South'; 'South'}; Class = {'Rm101'; 'Rm102'; 'Rm201'; 'Rm202'}; t = table (Score, School, Class); formula = 'Score ~ School / Class'; disp (['Formula: ', formula]); equation = parseWilkinsonFormula (formula, 'equation') terms = parseWilkinsonFormula (formula, 'expand') ***** demo ## Explicit Nesting : ## The parser also supports the explicit 'B(A)' syntax, which means ## 'B is nested within A'. This is equivalent to the interaction 'A:B' ## but often used to denote random effects or specific hierarchy. formula = 'y ~ Class(School)'; disp (['Formula: ', formula]); equation = parseWilkinsonFormula (formula, 'equation') terms = parseWilkinsonFormula (formula, 'expand') ***** demo ## Excluding Terms : ## Demonstrates building a complex model and then simplifying it. ## We define a full 3-way interaction (A*B*C) but explicitly remove the ## three-way term (A:B:C) using the minus operator. formula = 'y ~ (A + B + C)^3 - A:B:C'; disp (['Formula: ', formula]); equation = parseWilkinsonFormula (formula, 'equation') terms = parseWilkinsonFormula (formula, 'expand') ***** demo ## Repeated Measures : ## This allows predicting multiple outcomes simultaneously. ## The range operator '-' selects all variables between 'T1' and 'T3' ## as the response matrix Y. T1 = [10; 11]; T2 = [12; 13]; T3 = [14; 15]; Treatment = {'Control'; 'Treated'}; t = table (T1, T2, T3, Treatment); formula = 'T1 - T3 ~ Treatment'; disp (['Formula: ', formula]); equations = parseWilkinsonFormula (formula, 'equation') [X, Y, names] = parseWilkinsonFormula (formula, 'model_matrix', t) ***** test ## Test : Identifiers with numbers and underscores tokens = parseWilkinsonFormula ('Yield ~ Var_1 + A2_B', 'tokenize'); vals = {tokens.value}; assert_equal (vals, {'Yield', '~', 'Var_1', '+', 'A2_B', 'EOF'}); ***** test ## Test : Floating point numbers tokens = parseWilkinsonFormula ('y ~ 0.5 * A', 'tokenize'); vals = {tokens.value}; assert_equal (vals, {'y', '~', '0.5', '*', 'A', 'EOF'}); ***** test ## Test : Whitespace insensitivity t1 = parseWilkinsonFormula ('A*B', 'tokenize'); t2 = parseWilkinsonFormula ('A * B', 'tokenize'); assert_equal ({t1.value}, {t2.value}); ***** test ## Test : Precedence t = parseWilkinsonFormula ('A + B * C . D', 'expand'); terms = cellfun (@(x) strjoin (sort (x), ':'), t, 'UniformOutput', false); assert_equal (sort (terms), sort ({'A', 'B', 'C:D', 'B:C:D'})); ***** test ## Test : Parentheses Override t = parseWilkinsonFormula ('(A + B) . C', 'expand'); terms = cellfun (@(x) strjoin (sort (x), ':'), t, 'UniformOutput', false); assert_equal (sort (terms), sort ({'A:C', 'B:C'})); ***** test ## Test : Crossing Operator (*) t = parseWilkinsonFormula ('A * B', 'expand'); assert_equal (length (t), 3); t3 = parseWilkinsonFormula ('A * B * C', 'expand'); assert_equal (length (t3), 7); ***** test ## Test : Nesting Operator (/) t = parseWilkinsonFormula ('Field / Plot', 'expand'); terms = cellfun (@(x) strjoin (sort (x), ':'), t, 'UniformOutput', false); assert_equal (sort (terms), sort ({'Field', 'Field:Plot'})); ***** test ## Test : Multi-level Nesting t = parseWilkinsonFormula ('Block / Plot / Subplot', 'expand'); terms = cellfun (@(x) strjoin (sort (x), ':'), t, 'UniformOutput', false); assert_equal (sort (terms), sort ({'Block', 'Block:Plot', 'Block:Plot:Subplot'})); ***** test ## Test : Interaction Operator (.) t = parseWilkinsonFormula ('A . B', 'expand'); assert_equal (length (t), 1); assert_equal (t{1}, {'A', 'B'}); ***** test ## Test : Power operator on cube. t = parseWilkinsonFormula ('(A + B + C)^3', 'expand'); terms = cellfun (@(x) strjoin (sort (x), ':'), t, 'UniformOutput', false); expected = sort ({'A', 'B', 'C', 'A:B', 'A:C', 'B:C', 'A:B:C'}); assert_equal (sort (terms), expected); ***** test ## Test : Power Operator. t = parseWilkinsonFormula ('(A + B + C)^2', 'expand'); terms = cellfun (@(x) strjoin (sort (x), ':'), t, 'UniformOutput', false); assert_equal (! ismember ('A:B:C', terms), true); assert_equal (ismember ('A:B', terms), true); ***** test ## Test : Redundancy Check t1 = parseWilkinsonFormula ('A + A', 'expand'); assert_equal (length (t1), 1); t2 = parseWilkinsonFormula ('A * A', 'expand'); assert_equal (length (t2), 1); ***** test ## Test : Deletion - Exact (-) t = parseWilkinsonFormula ('A * B - A', 'expand'); terms = cellfun (@(x) strjoin (sort (x), ':'), t, 'UniformOutput', false); assert_equal (sort (terms), sort ({'B', 'A:B'})); ***** test ## Test : Deletion - Clean (-*) t = parseWilkinsonFormula ('A * B -* A', 'expand'); terms = cellfun (@(x) strjoin (sort (x), ':'), t, 'UniformOutput', false); assert_equal (sort (terms), {'B'}); ***** test ## Test : Deletion - Marginal (-/) t = parseWilkinsonFormula ('A * B -/ A', 'expand'); terms = cellfun (@(x) strjoin (sort (x), ':'), t, 'UniformOutput', false); assert_equal (sort (terms), sort ({'A', 'B'})); ***** test ## Test : Deletion - Complex Sequence t = parseWilkinsonFormula ('A*B*C - A:B:C', 'expand'); assert_equal (length (t), 6); terms = cellfun (@(x) strjoin (sort (x), ':'), t, 'UniformOutput', false); assert_equal (! ismember ('A:B:C', terms), true); assert_equal (ismember ('A:B', terms), true); ***** test ## Test : LHS and RHS Identification s = parseWilkinsonFormula ('logY ~ A + B', 'matrix'); assert_equal (s.VariableNames{s.ResponseIdx}, 'logY'); assert_equal (any (strcmp ('A', s.VariableNames)), true); ***** test ## Test : No Response Variable s = parseWilkinsonFormula ('~ A + B', 'matrix'); assert_equal (isempty (s.ResponseIdx), true); ***** test ## Test : Intercept Handling s1 = parseWilkinsonFormula ('~ A', 'matrix'); assert_equal (any (all (s1.Terms == 0, 2)), true); s2 = parseWilkinsonFormula ('~ A - 1', 'matrix'); assert_equal (! any (all (s2.Terms == 0, 2)), true); ***** test ## Test : Numeric Interaction y = [1;2;3;4;5]; X1 = [1;2;1;2;1]; X2 = [10;10;20;20;10]; d = table (y, X1, X2); [M, ~, ~] = parseWilkinsonFormula ('y ~ X1:X2', 'model_matrix', d); assert_equal (size (M), [5, 2]); assert_equal (M(:, 2), d.X1 .* d.X2); ***** test ## Test : Categorical Expansion y = [1;1;1]; G = {'A'; 'B'; 'C'}; d = table (y, G); [M, ~, names] = parseWilkinsonFormula ('~ G', 'model_matrix', d); assert_equal (size (M, 2), 3); assert_equal (names, {'(Intercept)'; 'G_B'; 'G_C'}); ***** test ## Test : Categorical * Categorical Rank y = [1;2;3;4]; F1 = {'a';'b';'a';'b'}; F2 = {'x';'x';'y';'y'}; d = table (y, F1, F2); [M, ~, ~] = parseWilkinsonFormula ('~ F1 * F2', 'model_matrix', d); assert_equal (size (M, 2), 4); assert_equal (rank (M), 4); ***** test ## Test : Numeric * Categorical Naming y = [1;2]; N = [10; 20]; C = {'lo'; 'hi'}; d = table (y, N, C); [M, ~, names] = parseWilkinsonFormula ('~ N * C', 'model_matrix', d); assert_equal (any (strcmp (names, 'C_lo:N')), true); ***** test ## Test : Intercept Only Model y = [1; 2; 3]; d = table (y); [X, ~, names] = parseWilkinsonFormula ('y ~ 1', 'model_matrix', d); assert_equal (size (X, 2), 1); assert_equal (names, {'(Intercept)'}); assert_equal (all (X == 1), true); ***** test ## Test : NaNs and Missing Data y = [1; 2; 3; 4]; A = [1; 1; NaN; 1]; B = [10; 20; 30; NaN]; d = table (y, A, B); [X, y_out, ~] = parseWilkinsonFormula ('y ~ A', 'model_matrix', d); assert_equal (length (y_out), 3); assert_equal (y_out(3), 4); assert_equal (size (X, 1), 3); ***** test ## Test : Nesting with Groups t = parseWilkinsonFormula ('A / (B + C)', 'expand'); terms = cellfun (@(x) strjoin (sort (x), ':'), t, 'UniformOutput', false); expected = sort ({'A', 'A:B', 'A:C'}); assert_equal (sort (terms), expected); ## Test : Variable Name Collision Var = [1; 1]; Var_1 = [2; 2]; d = table (Var, Var_1); [~, ~, names] = parseWilkinsonFormula ('~ Var + Var_1', 'model_matrix', d); assert_equal (any (strcmp (names, 'Var')), true); assert_equal (any (strcmp (names, 'Var_1')), true); ***** test ## Test : One-argument call result = parseWilkinsonFormula ('A * B'); expected = sort ({'A', 'B', 'A:B'}); actual = cellfun (@(x) strjoin (sort (x), ':'), result, 'UniformOutput', false); assert_equal (sort (actual), expected); ***** test ## Test : Compatibility with Table Data Age = [25; 30; 35; 40; 45]; Weight = [70; 75; 80; 85; 90]; BP = [120; 122; 128; 130; 135]; T = table (Age, Weight, BP); formula = 'BP ~ Age * Weight'; [X, y, names] = parseWilkinsonFormula (formula, 'model_matrix', T); assert_equal (size (X), [5, 4]); assert_equal (y, BP); assert_equal (any (strcmp ('Age', names)), true); assert_equal (any (strcmp ('Weight', names)), true); assert_equal (names{1}, '(Intercept)'); ***** test ## Test : Multi-variable List y1 = [1; 2; 3]; y2 = [4; 5; 6]; x = [1; 0; 1]; d = table (y1, y2, x); [X, y, ~] = parseWilkinsonFormula ('y1, y2 ~ x', 'model_matrix', d); assert_equal (size (y), [3, 2]); assert_equal (y(:,1), d.y1); assert_equal (y(:,2), d.y2); ***** test ***** test ## Test : multivariable range. A = [10;20]; B = [30;40]; C = [50;60]; x = [1;2]; d = table (A, B, C, x); [X, y, ~] = parseWilkinsonFormula ('A - C ~ x', 'model_matrix', d); assert_equal (size (y), [2, 3]); assert_equal (y(:,1), d.A); assert_equal (y(:,2), d.B); assert_equal (y(:,3), d.C); ***** test ## Test : multivariable list + range. y1 = [1]; y2 = [2]; y3 = [3]; y4 = [4]; y5 = [5]; x1 = [10]; x2 = [2]; d = table (y1, y2, y3, y4, y5, x1, x2); [X, y, names] = parseWilkinsonFormula ('y1, y3 - y5 ~ x1:x2', 'model_matrix', d); expected_y = [d.y1, d.y3, d.y4, d.y5]; assert_equal (isequal (y, expected_y), true); assert_equal (size (X, 2), 2); assert_equal (any (strcmp (names, 'x1:x2')), true); ***** test ## Test : reverse range. A = [1]; B = [2]; C = [3]; x = [10]; d = table (A, B, C, x); [X, y, names] = parseWilkinsonFormula ('C - A ~ x - 1', 'model_matrix', d); assert_equal (size (y), [1, 3]); assert_equal (y(:,1), d.A); assert_equal (y(:,3), d.C); assert_equal (size (X, 2), 1); assert_equal (! any (strcmp (names, '(Intercept)')), true); ***** test ## Test : nans in multi-y. yA = {1; 2; 3; 4}; yB = [10; 20; NaN; 40]; x = [1; 1; 1; 1]; d = table (yA, yB, x); [X, y, ~] = parseWilkinsonFormula ('yA, yB ~ x', 'model_matrix', d); assert_equal (size (y), [3, 2]); assert_equal (y(3, 1), 4); assert_equal (y(3, 2), 40); assert_equal (size (X, 1), 3); ***** test ## Test : basic. eq = parseWilkinsonFormula ('y ~ x1 + x2 - 9', 'equation'); expected = string ('y = c1 + c2*x1 + c3*x2'); assert_equal (isequal (eq, expected), true); ***** test ## Test : explicit intercept. eq = parseWilkinsonFormula ('y ~ x1 + x2', 'equation'); expected = string ('y = c1 + c2*x1 + c3*x2'); assert_equal (isequal (eq, expected), true); ***** test ## Test : interaction. eq = parseWilkinsonFormula ('y ~ x1:x2:x3:x4', 'equation'); expected = string ('y = c1 + c2*x1*x2*x3*x4'); assert_equal (isequal (eq, expected), true); ***** test ## Test : crossing/factorial. eq = parseWilkinsonFormula ('y ~ A * B', 'equation'); expected = string ('y = c1 + c2*A + c3*B + c4*A*B'); assert_equal (isequal (eq, expected), true); ***** test ## Test : polynomials. eq = parseWilkinsonFormula ('y ~ x^4 - x^2', 'equation'); expected = string ('y = c1 + c2*x^3 + c3*x^4'); assert_equal (isequal (eq, expected), true); ***** test ## Test : repeated measures eq = parseWilkinsonFormula ('y1-y3 ~ x', 'equation'); expected = string (['y1 = c1 + c2*x'; ... 'y2 = c3 + c4*x'; ... 'y3 = c5 + c6*x']); assert_equal (isequal (eq, expected), true); ***** test ## Test : nesting syntax. eq = parseWilkinsonFormula ('y ~ x2(x1)', 'equation'); expected = string ('y = c1 + c2*x2(x1)'); assert_equal (isequal (eq, expected), true); ***** test ## Test : nesting with interaction. eq = parseWilkinsonFormula ('y ~ x3:x2(x1)', 'equation'); expected = string ('y = c1 + c2*x2(x1)*x3'); assert_equal (isequal (eq, expected), true); ***** test ## Test : multiple nesting. eq = parseWilkinsonFormula ('y ~ Var(A, B)', 'equation'); expected = string ('y = c1 + c2*Var(A,B)'); assert_equal (isequal (eq, expected), true); ***** test ## Test : nested factors eq = parseWilkinsonFormula ('y ~ x2(x1) + x3(x4)', 'equation'); expected = string ('y = c1 + c2*x2(x1) + c3*x3(x4)'); assert_equal (isequal (eq, expected), true); ***** test ## Test : polynomial and nesting. eq = parseWilkinsonFormula ('y ~ x^2 + Effect(Group)', 'equation'); expected = string ('y = c1 + c2*x + c3*x^2 + c4*Effect(Group)'); assert_equal (isequal (eq, expected), true); ***** test ## Test : symbolic resolution of LHS list eq = parseWilkinsonFormula ('A, B ~ x', 'equation'); expected = string (['A = c1 + c2*x'; 'B = c3 + c4*x']); assert_equal (isequal (eq, expected), true); ***** test ## Test : intercept only. eq = parseWilkinsonFormula ('y ~ 1', 'equation'); expected = string ('y = c1'); assert_equal (isequal (eq, expected), true); ***** test ## Test : empty model. eq = parseWilkinsonFormula ('y ~ A - A', 'equation'); expected = string ('y = c1'); assert_equal (isequal (eq, expected), true); ***** test ## Test : term row sorting. eq = parseWilkinsonFormula ('Y ~ x1 * x2 * x3', 'matrix'); expected_terms = [0, 0, 0, 0; 0, 1, 0, 0; 0, 0, 1, 0; 0, 0, 0, 1; 0, 1, 1, 0; 0, 1, 0, 1; 0, 0, 1, 1; 0, 1, 1, 1]; assert_equal (eq.VariableNames, {'Y', 'x1', 'x2', 'x3'}); assert_equal (eq.Terms, expected_terms); ***** test ## Test : polynomial term Weight^2 resolves from base column not as table variable name Weight = [2000; 2500; 3000; 3500; 4000]; MPG = [30; 28; 25; 22; 18]; d = table (Weight, MPG); [X, yout, names] = parseWilkinsonFormula ('MPG ~ Weight^2', 'model_matrix', d); assert_equal (size (X), [5, 3]); assert_equal (names{1}, '(Intercept)'); assert_equal (any (strcmp (names, 'Weight')), true); assert_equal (any (strcmp (names, 'Weight^2')), true); w2i = find (strcmp (names, 'Weight^2')); assert_equal (X(:, w2i), Weight .^ 2, 1e-10); assert_equal (yout, MPG); ***** test ## Test : squared term sorts after a categorical term Weight = [2000;2500;3000;3500;4000;4500;2200;2700;3200;3700;4200;4700]; MPG = [30;28;25;22;18;16;29;26;23;20;17;15]; Year = {'70';'70';'70';'70';'76';'76';'76';'76';'82';'82';'82';'82'}; d = table (MPG, Weight, Year); [~, ~, n1] = parseWilkinsonFormula ('MPG ~ Year + Weight^2', 'model_matrix', d); [~, ~, n2] = parseWilkinsonFormula ('MPG ~ Weight^2 + Year', 'model_matrix', d); assert_equal (n1, {'(Intercept)'; 'Weight'; 'Year_76'; 'Year_82'; 'Weight^2'}); assert_equal (n2, n1); ***** error parseWilkinsonFormula () ***** error parseWilkinsonFormula ('y ~ x', 'invalid_mode') ***** error parseWilkinsonFormula ('', 'parse') ***** error parseWilkinsonFormula ('A +', 'parse') ***** error parseWilkinsonFormula ('A *', 'parse') ***** error parseWilkinsonFormula ('A .', 'parse') ***** error parseWilkinsonFormula ('A /', 'parse') ***** error parseWilkinsonFormula ('(A+B)^C', 'expand') ***** error parseWilkinsonFormula ('(A + B', 'parse') ***** error parseWilkinsonFormula ('A + B)', 'parse') ***** error parseWilkinsonFormula ('( )', 'parse') ***** error parseWilkinsonFormula ('A + * B', 'parse') ***** error parseWilkinsonFormula ('y ~ x ~ z', 'parse') ***** error <'model_matrix' mode requires a Data Table> parseWilkinsonFormula ('~ A', 'model_matrix') ***** error d=table ([1], 'VariableNames', {'x'}); parseWilkinsonFormula ('~ Z', 'model_matrix', d) ***** error d=table ([1], [1], 'VariableNames', {'x', 'y'}); parseWilkinsonFormula ('Z ~ x', 'model_matrix', d) ***** error d=table ([1], [1], 'VariableNames', {'x', 'y'}); parseWilkinsonFormula ('A - y ~ x', 'model_matrix', d) ***** error d=table ([1], [1], 'VariableNames', {'x', 'y'}); parseWilkinsonFormula ('y - B ~ x', 'model_matrix', d) ***** error d=table ([1], 'VariableNames', {'y'}); parseWilkinsonFormula ('y - y - y ~ x', 'model_matrix', d) ***** error S={'a';'b'}; x=[1;2]; d=table (S, x); parseWilkinsonFormula ('S ~ x', 'model_matrix', d) ***** error parseWilkinsonFormula ('y ~ x', 'model_matrix', [1,2,3]) ***** error parseWilkinsonFormula ('y1-yA ~ x', 'equation') ***** error parseWilkinsonFormula ('yA-y1 ~ x', 'equation') ***** error parseWilkinsonFormula ('A-B ~ x', 'equation') ***** error parseWilkinsonFormula ('y1- ~ x', 'equation') ***** error parseWilkinsonFormula () 77 tests, 77 passed, 0 known failure, 0 skipped [inst/binotest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/binotest.m ***** demo % flip a coin 1000 times, showing 475 heads % Hypothesis: coin is fair, i.e. p=1/2 [h,p_val,ci] = binotest (475,1000,0.5) % Result: h = 0 : null hypothesis not rejected, coin could be fair % P value 0.12, i.e. hypothesis not rejected for alpha up to 12% % 0.444 <= p <= 0.506 with 95% confidence ***** demo % flip a coin 100 times, showing 65 heads % Hypothesis: coin shows less than 50% heads, i.e. p<=1/2 [h,p_val,ci] = binotest (65,100,0.5,'tail','left','alpha',0.01) % Result: h = 1 : null hypothesis is rejected, i.e. coin shows more heads than tails % P value 0.0018, i.e. hypothesis not rejected for alpha up to 0.18% % 0 <= p <= 0.76 with 99% confidence ***** test #example from https://en.wikipedia.org/wiki/Binomial_test [h,p_val,ci] = binotest (51,235,1/6); assert_equal (p_val, 0.0437, 0.00005) [h,p_val,ci] = binotest (51,235,1/6,'tail','left'); assert_equal (p_val, 0.027, 0.0005) 1 test, 1 passed, 0 known failure, 0 skipped [inst/cl_multinom.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/cl_multinom.m ***** demo CL = cl_multinom ([27; 43; 19; 11], 10000, 0.05) ***** error cl_multinom (); ***** error cl_multinom (1, 2, 3, 4, 5); ***** error ... cl_multinom (1, 2, 3, 4); ***** error ... cl_multinom (1, 2, 3, 'some string'); 4 tests, 4 passed, 0 known failure, 0 skipped [inst/mahal.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/mahal.m ***** error mahal () ***** error mahal (1, 2, 3) ***** error mahal ('A', 'B') ***** error mahal ([1, 2], ['A', 'B']) ***** error mahal (ones (2, 2, 2)) ***** error mahal (ones (2, 2), ones (2, 2, 2)) ***** error mahal (ones (2, 2), ones (2, 3)) ***** test X = [1 0; 0 1; 1 1; 0 0]; assert_equal (mahal (X, X), [1.5; 1.5; 1.5; 1.5], 10*eps) assert_equal (mahal (X, X+1), [7.5; 7.5; 1.5; 13.5], 10*eps) ***** assert_equal (mahal ([true; true], [false; true]), [0.5; 0.5], eps) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/pcares.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/pcares.m ***** demo x = [ 7 26 6 60; 1 29 15 52; 11 56 8 20; 11 31 8 47; 7 52 6 33; 11 55 9 22; 3 71 17 6; 1 31 22 44; 2 54 18 22; 21 47 4 26; 1 40 23 34; 11 66 9 12; 10 68 8 12]; ## As we increase the number of principal components, the norm ## of the residuals matrix will decrease r1 = pcares (x,1); n1 = norm (r1) r2 = pcares (x,2); n2 = norm (r2) r3 = pcares (x,3); n3 = norm (r3) r4 = pcares (x,4); n4 = norm (r4) ***** test load hald r1 = pcares (ingredients,1); r2 = pcares (ingredients,2); r3 = pcares (ingredients,3); assert_equal (r1(1,:), [2.0350, 2.8304, -6.8378, 3.0879], 1e-4); assert_equal (r2(1,:), [-2.4037, 2.6930, -1.6482, 2.3425], 1e-4); assert_equal (r3(1,:), [ 0.2008, 0.1957, 0.2045, 0.1921], 1e-4); ***** error pcares (ones (20, 3)) ***** error ... pcares (ones (30, 2), 3) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/chi2test.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/chi2test.m ***** error chi2test (); ***** error chi2test ([1, 2, 3, 4, 5]); ***** error chi2test ([1, 2; 2, 1+3i]); ***** error chi2test ([NaN, 6; 34, 12]); ***** error ... p = chi2test (ones (3, 3), 'mutual', []); ***** error ... p = chi2test (ones (3, 3, 3), 'testtype', 2); ***** error ... p = chi2test (ones (3, 3, 3), 'mutual'); ***** error ... p = chi2test (ones (3, 3, 3), 'joint', ['a']); ***** error ... p = chi2test (ones (3, 3, 3), 'joint', [2, 3]); ***** error ... p = chi2test (ones (3, 3, 3, 4), 'mutual', []) ***** warning p = chi2test (ones (2)); ***** warning p = chi2test (ones (3, 2)); ***** warning p = chi2test (0.4 * ones (3)); ***** test x = [11, 3, 8; 2, 9, 14; 12, 13, 28]; p = chi2test (x); assert_equal (p, 0.017787, 1e-6); ***** test x = [11, 3, 8; 2, 9, 14; 12, 13, 28]; [p, chisq] = chi2test (x); assert_equal (chisq, 11.9421, 1e-4); ***** test x = [11, 3, 8; 2, 9, 14; 12, 13, 28]; [p, chisq, df] = chi2test (x); assert_equal (df, 4); ***** test ***** shared x x(:,:,1) = [59, 32; 9,16]; x(:,:,2) = [55, 24;12,33]; x(:,:,3) = [107,80;17,56];%! ***** assert_equal (chi2test (x), 2.282063427117009e-11, 1e-14); ***** assert_equal (chi2test (x, 'mutual', []), 2.282063427117009e-11, 1e-14); ***** assert_equal (chi2test (x, 'joint', 1), 1.164834895206468e-11, 1e-14); ***** assert_equal (chi2test (x, 'joint', 2), 7.771350230001417e-11, 1e-14); ***** assert_equal (chi2test (x, 'joint', 3), 0.07151361728026107, 1e-14); ***** assert_equal (chi2test (x, 'marginal', 1), 0, 1e-14); ***** assert_equal (chi2test (x, 'marginal', 2), 6.347555814301131e-11, 1e-14); ***** assert_equal (chi2test (x, 'marginal', 3), 0, 1e-14); ***** assert_equal (chi2test (x, 'conditional', 1), 0.2303114201312508, 1e-14); ***** assert_equal (chi2test (x, 'conditional', 2), 0.0958810684407079, 1e-14); ***** assert_equal (chi2test (x, 'conditional', 3), 2.648037344954446e-11, 1e-14); ***** assert_equal (chi2test (x, 'homogeneous', []), 0.4485579470993741, 1e-14); ***** test [pval, chisq, df, E] = chi2test (x); assert_equal (chisq, 64.0982, 1e-4); assert_equal (df, 7); assert_equal (E(:,:,1), [42.903, 39.921; 17.185, 15.991], ones (2, 2) * 1e-3); ***** test [pval, chisq, df, E] = chi2test (x, 'joint', 2); assert_equal (chisq, 56.0943, 1e-4); assert_equal (df, 5); assert_equal (E(:,:,2), [40.922, 23.310; 38.078, 21.690], ones (2, 2) * 1e-3); ***** test [pval, chisq, df, E] = chi2test (x, 'marginal', 3); assert_equal (chisq, 146.6058, 1e-4); assert_equal (df, 9); assert_equal (E(:,1,1), [61.642; 57.358], ones (2, 1) * 1e-3); ***** test [pval, chisq, df, E] = chi2test (x, 'conditional', 3); assert_equal (chisq, 52.2509, 1e-4); assert_equal (df, 3); assert_equal (E(:,:,1), [53.345, 37.655; 14.655, 10.345], ones (2, 2) * 1e-3); ***** test [pval, chisq, df, E] = chi2test (x, 'homogeneous', []); assert_equal (chisq, 1.6034, 1e-4); assert_equal (df, 2); assert_equal (E(:,:,1), [60.827, 31.382; 7.173, 16.618], ones (2, 2) * 1e-3); 34 tests, 34 passed, 0 known failure, 0 skipped [inst/dist_stat/normstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/normstat.m ***** error normstat () ***** error normstat (1) ***** error normstat ({}, 2) ***** error normstat (1, '') ***** error normstat (i, 2) ***** error normstat (1, i) ***** error ... normstat (ones (3), ones (2)) ***** error ... normstat (ones (2), ones (3)) ***** test mu = 1:6; sigma = 0.2:0.2:1.2; [m, v] = normstat (mu, sigma); expected_v = [0.0400, 0.1600, 0.3600, 0.6400, 1.0000, 1.4400]; assert_equal (m, mu); assert_equal (v, expected_v, 0.001); ***** test sigma = 0.2:0.2:1.2; [m, v] = normstat (0, sigma); expected_mn = [0, 0, 0, 0, 0, 0]; expected_v = [0.0400, 0.1600, 0.3600, 0.6400, 1.0000, 1.4400]; assert_equal (m, expected_mn, 0.001); assert_equal (v, expected_v, 0.001); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_stat/ncfstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/ncfstat.m ***** error ncfstat () ***** error ncfstat (1) ***** error ncfstat (1, 2) ***** error ncfstat ({}, 2, 3) ***** error ncfstat (1, '', 3) ***** error ncfstat (1, 2, '') ***** error ncfstat (i, 2, 3) ***** error ncfstat (1, i, 3) ***** error ncfstat (1, 2, i) ***** error ... ncfstat (ones (3), ones (2), 3) ***** error ... ncfstat (ones (2), 2, ones (3)) ***** error ... ncfstat (1, ones (2), ones (3)) ***** shared df1, df2, lambda df1 = [2, 0, -1, 1, 4, 5]; df2 = [2, 4, -1, 5, 6, 7]; lambda = [1, NaN, 3, 0, 2, -1]; ***** assert_equal (ncfstat (df1, df2, lambda), [NaN, NaN, NaN, 1.6667, 2.25, 1.12], 1e-4); ***** assert_equal (ncfstat (df1(4:6), df2(4:6), 1), [3.3333, 1.8750, 1.6800], 1e-4); ***** assert_equal (ncfstat (df1(4:6), df2(4:6), 2), [5.0000, 2.2500, 1.9600], 1e-4); ***** assert_equal (ncfstat (df1(4:6), df2(4:6), 3), [6.6667, 2.6250, 2.2400], 1e-4); ***** assert_equal (ncfstat (2, [df2(1), df2(4:6)], 5), [NaN,5.8333,5.2500,4.9000], 1e-4); ***** assert_equal (ncfstat (0, [df2(1), df2(4:6)], 5), [NaN, Inf, Inf, Inf]); ***** assert_equal (ncfstat (1, [df2(1), df2(4:6)], 5), [NaN, 10, 9, 8.4], 1e-14); ***** assert_equal (ncfstat (4, [df2(1), df2(4:6)], 5), [NaN, 3.75, 3.375, 3.15], 1e-14); 20 tests, 20 passed, 0 known failure, 0 skipped [inst/dist_stat/unifstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/unifstat.m ***** error unifstat () ***** error unifstat (1) ***** error unifstat ({}, 2) ***** error unifstat (1, '') ***** error unifstat (i, 2) ***** error unifstat (1, i) ***** error ... unifstat (ones (3), ones (2)) ***** error ... unifstat (ones (2), ones (3)) ***** test a = 1:6; b = 2:2:12; [m, v] = unifstat (a, b); expected_m = [1.5000, 3.0000, 4.5000, 6.0000, 7.5000, 9.0000]; expected_v = [0.0833, 0.3333, 0.7500, 1.3333, 2.0833, 3.0000]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); ***** test a = 1:6; [m, v] = unifstat (a, 10); expected_m = [5.5000, 6.0000, 6.5000, 7.0000, 7.5000, 8.0000]; expected_v = [6.7500, 5.3333, 4.0833, 3.0000, 2.0833, 1.3333]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_stat/evstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/evstat.m ***** error evstat () ***** error evstat (1) ***** error evstat ({}, 2) ***** error evstat (1, '') ***** error evstat (i, 2) ***** error evstat (1, i) ***** error ... evstat (ones (3), ones (2)) ***** error ... evstat (ones (2), ones (3)) ***** shared x, y0, y1 x = [-5, 0, 1, 2, 3]; y0 = [NaN, NaN, 0.4228, 0.8456, 1.2684]; y1 = [-5.5772, -3.4633, -3.0405, -2.6177, -2.1949]; ***** assert_equal (evstat (x, x), y0, 1e-4) ***** assert_equal (evstat (x, x+6), y1, 1e-4) ***** assert_equal (evstat (x, x-6), NaN (1,5)) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/dist_stat/geostat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/geostat.m ***** error geostat () ***** error geostat ({}) ***** error geostat ('') ***** error geostat (i) ***** test ps = 1 ./ (1:6); [m, v] = geostat (ps); assert_equal (m, [0, 1, 2, 3, 4, 5], 0.001); assert_equal (v, [0, 2, 6, 12, 20, 30], 0.001); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/dist_stat/burrstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/burrstat.m ***** error burrstat () ***** error burrstat (1) ***** error burrstat (1, 2) ***** error burrstat ({}, 2, 3) ***** error burrstat (1, '', 3) ***** error burrstat (1, 2, '') ***** error burrstat (i, 2, 3) ***** error burrstat (1, i, 3) ***** error burrstat (1, 2, i) ***** error ... burrstat (ones (3), ones (2), 3) ***** error ... burrstat (ones (2), 2, ones (3)) ***** error ... burrstat (1, ones (2), ones (3)) ***** test [m, v] = burrstat (1, 2, 5); assert_equal (m, 0.4295, 1e-4); assert_equal (v, 0.0655, 1e-4); ***** test [m, v] = burrstat (1, 1, 1); assert_equal (m, Inf); assert_equal (v, Inf); ***** test [m, v] = burrstat (2, 4, 1); assert_equal (m, 2.2214, 1e-4); assert_equal (v, 1.3484, 1e-4); 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_stat/invgstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/invgstat.m ***** error invgstat () ***** error invgstat (1) ***** error invgstat ({}, 2) ***** error invgstat (1, '') ***** error invgstat (i, 2) ***** error invgstat (1, i) ***** error ... invgstat (ones (3), ones (2)) ***** error ... invgstat (ones (2), ones (3)) ***** test [m, v] = invgstat (1, 1); assert_equal (m, 1); assert_equal (v, 1); ***** test [m, v] = invgstat (2, 1); assert_equal (m, 2); assert_equal (v, 8); ***** test [m, v] = invgstat (2, 2); assert_equal (m, 2); assert_equal (v, 4); ***** test [m, v] = invgstat (2, 2.5); assert_equal (m, 2); assert_equal (v, 3.2); ***** test [m, v] = invgstat (1.5, 0.5); assert_equal (m, 1.5); assert_equal (v, 6.75); 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_stat/chi2stat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/chi2stat.m ***** error chi2stat () ***** error chi2stat ({}) ***** error chi2stat ('') ***** error chi2stat (i) ***** test df = 1:6; [m, v] = chi2stat (df); assert_equal (m, df); assert_equal (v, [2, 4, 6, 8, 10, 12], 0.001); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/dist_stat/bisastat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/bisastat.m ***** error bisastat () ***** error bisastat (1) ***** error bisastat ({}, 2) ***** error bisastat (1, '') ***** error bisastat (i, 2) ***** error bisastat (1, i) ***** error ... bisastat (ones (3), ones (2)) ***** error ... bisastat (ones (2), ones (3)) ***** test beta = 1:6; gamma = 1:0.2:2; [m, v] = bisastat (beta, gamma); expected_m = [1.50, 3.44, 5.94, 9.12, 13.10, 18]; expected_v = [2.25, 16.128, 60.858, 172.032, 409.050, 864]; assert_equal (m, expected_m, 1e-2); assert_equal (v, expected_v, 1e-3); ***** test beta = 1:6; [m, v] = bisastat (beta, 1.5); expected_m = [2.125, 4.25, 6.375, 8.5, 10.625, 12.75]; expected_v = [8.5781, 34.3125, 77.2031, 137.2500, 214.4531, 308.8125]; assert_equal (m, expected_m, 1e-3); assert_equal (v, expected_v, 1e-4); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_stat/gpstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/gpstat.m ***** error gpstat () ***** error gpstat (1) ***** error gpstat (1, 2) ***** error gpstat ({}, 2, 3) ***** error gpstat (1, '', 3) ***** error gpstat (1, 2, '') ***** error gpstat (i, 2, 3) ***** error gpstat (1, i, 3) ***** error gpstat (1, 2, i) ***** error ... gpstat (ones (3), ones (2), 3) ***** error ... gpstat (ones (2), 2, ones (3)) ***** error ... gpstat (1, ones (2), ones (3)) ***** shared x, y x = [-Inf, -1, 0, 1/2, 1, Inf]; y = [0, 0.5, 1, 2, Inf, Inf]; ***** assert_equal (gpstat (x, ones (1,6), zeros (1,6)), y, eps) ***** assert_equal (gpstat (single (x), 1, 0), single (y), eps ('single')) ***** assert_equal (gpstat (x, single (1), 0), single (y), eps ('single')) ***** assert_equal (gpstat (x, 1, single (0)), single (y), eps ('single')) ***** assert_equal (gpstat (single ([x, NaN]), 1, 0), single ([y, NaN]), eps ('single')) ***** assert_equal (gpstat ([x, NaN], single (1), 0), single ([y, NaN]), eps ('single')) ***** assert_equal (gpstat ([x, NaN], 1, single (0)), single ([y, NaN]), eps ('single')) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/dist_stat/betastat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/betastat.m ***** error betastat () ***** error betastat (1) ***** error betastat ({}, 2) ***** error betastat (1, '') ***** error betastat (i, 2) ***** error betastat (1, i) ***** error ... betastat (ones (3), ones (2)) ***** error ... betastat (ones (2), ones (3)) ***** test a = -2:6; b = 0.4:0.2:2; [m, v] = betastat (a, b); expected_m = [NaN NaN NaN 1/2 2/3.2 3/4.4 4/5.6 5/6.8 6/8]; expected_v = [NaN NaN NaN 0.0833, 0.0558, 0.0402, 0.0309, 0.0250, 0.0208]; assert_equal (m, expected_m, eps*100); assert_equal (v, expected_v, 0.001); ***** test a = -2:1:6; [m, v] = betastat (a, 1.5); expected_m = [NaN NaN NaN 1/2.5 2/3.5 3/4.5 4/5.5 5/6.5 6/7.5]; expected_v = [NaN NaN NaN 0.0686, 0.0544, 0.0404, 0.0305, 0.0237, 0.0188]; assert_equal (m, expected_m); assert_equal (v, expected_v, 0.001); ***** test a = [14 Inf 10 NaN 10]; b = [12 9 NaN Inf 12]; [m, v] = betastat (a, b); expected_m = [14/26 NaN NaN NaN 10/22]; expected_v = [168/18252 NaN NaN NaN 120/11132]; assert_equal (m, expected_m); assert_equal (v, expected_v); ***** assert_equal (nthargout (1:2, @betastat, 5, []), {[], []}) ***** assert_equal (nthargout (1:2, @betastat, [], 5), {[], []}) ***** assert_equal (size (betastat (rand (10, 5, 4), rand (10, 5, 4))), [10 5 4]) ***** assert_equal (size (betastat (rand (10, 5, 4), 7)), [10 5 4]) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_stat/nctstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/nctstat.m ***** error nctstat () ***** error nctstat (1) ***** error nctstat ({}, 2) ***** error nctstat (1, '') ***** error nctstat (i, 2) ***** error nctstat (1, i) ***** error ... nctstat (ones (3), ones (2)) ***** error ... nctstat (ones (2), ones (3)) ***** shared df, mu df = [2, 0, -1, 1, 4]; mu = [1, NaN, 3, -1, 2]; ***** assert_equal (nctstat (df, mu), [1.7725, NaN, NaN, NaN, 2.5066], 1e-4); ***** assert_equal (nctstat ([df(1:2), df(4:5)], 1), [1.7725, NaN, NaN, 1.2533], 1e-4); ***** assert_equal (nctstat ([df(1:2), df(4:5)], 3), [5.3174, NaN, NaN, 3.7599], 1e-4); ***** assert_equal (nctstat ([df(1:2), df(4:5)], 2), [3.5449, NaN, NaN, 2.5066], 1e-4); ***** assert_equal (nctstat (2, [mu(1), mu(3:5)]), [1.7725,5.3174,-1.7725,3.5449], 1e-4); ***** assert_equal (nctstat (0, [mu(1), mu(3:5)]), [NaN, NaN, NaN, NaN]); ***** assert_equal (nctstat (1, [mu(1), mu(3:5)]), [NaN, NaN, NaN, NaN]); ***** assert_equal (nctstat (4, [mu(1), mu(3:5)]), [1.2533,3.7599,-1.2533,2.5066], 1e-4); 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_stat/ricestat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/ricestat.m ***** error ricestat () ***** error ricestat (1) ***** error ricestat ({}, 2) ***** error ricestat (1, '') ***** error ricestat (i, 2) ***** error ricestat (1, i) ***** error ... ricestat (ones (3), ones (2)) ***** error ... ricestat (ones (2), ones (3)) ***** shared s, sigma s = [2, 0, -1, 1, 4]; sigma = [1, NaN, 3, -1, 2]; ***** assert_equal (ricestat (s, sigma), [2.2724, NaN, NaN, NaN, 4.5448], 1e-4); ***** assert_equal (ricestat ([s(1:2), s(4:5)], 1), [2.2724, 1.2533, 1.5486, 4.1272], 1e-4); ***** assert_equal (ricestat ([s(1:2), s(4:5)], 3), [4.1665, 3.7599, 3.8637, 5.2695], 1e-4); ***** assert_equal (ricestat ([s(1:2), s(4:5)], 2), [3.0971, 2.5066, 2.6609, 4.5448], 1e-4); ***** assert_equal (ricestat (2, [sigma(1), sigma(3:5)]), [2.2724, 4.1665, NaN, 3.0971], 1e-4); ***** assert_equal (ricestat (0, [sigma(1), sigma(3:5)]), [1.2533, 3.7599, NaN, 2.5066], 1e-4); ***** assert_equal (ricestat (1, [sigma(1), sigma(3:5)]), [1.5486, 3.8637, NaN, 2.6609], 1e-4); ***** assert_equal (ricestat (4, [sigma(1), sigma(3:5)]), [4.1272, 5.2695, NaN, 4.5448], 1e-4); 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_stat/tstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/tstat.m ***** error tstat () ***** error tstat ({}) ***** error tstat ('') ***** error tstat (i) ***** test df = 3:8; [m, v] = tstat (df); expected_m = [0, 0, 0, 0, 0, 0]; expected_v = [3.0000, 2.0000, 1.6667, 1.5000, 1.4000, 1.3333]; assert_equal (m, expected_m); assert_equal (v, expected_v, 0.001); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/dist_stat/binostat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/binostat.m ***** error binostat () ***** error binostat (1) ***** error binostat ({}, 2) ***** error binostat (1, '') ***** error binostat (i, 2) ***** error binostat (1, i) ***** error ... binostat (ones (3), ones (2)) ***** error ... binostat (ones (2), ones (3)) ***** test n = 1:6; ps = 0:0.2:1; [m, v] = binostat (n, ps); expected_m = [0.00, 0.40, 1.20, 2.40, 4.00, 6.00]; expected_v = [0.00, 0.32, 0.72, 0.96, 0.80, 0.00]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); ***** test n = 1:6; [m, v] = binostat (n, 0.5); expected_m = [0.50, 1.00, 1.50, 2.00, 2.50, 3.00]; expected_v = [0.25, 0.50, 0.75, 1.00, 1.25, 1.50]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); ***** test n = [-Inf -3 5 0.5 3 NaN 100, Inf]; [m, v] = binostat (n, 0.5); assert_equal (isnan (m), [true true false true false true false false]) assert_equal (isnan (v), [true true false true false true false false]) assert_equal (m(end), Inf); assert_equal (v(end), Inf); ***** assert_equal (nthargout (1:2, @binostat, 5, []), {[], []}) ***** assert_equal (nthargout (1:2, @binostat, [], 5), {[], []}) ***** assert_equal (size (binostat (randi (100, 10, 5, 4), rand (10, 5, 4))), [10 5 4]) ***** assert_equal (size (binostat (randi (100, 10, 5, 4), 7)), [10 5 4]) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_stat/nbinstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/nbinstat.m ***** error nbinstat () ***** error nbinstat (1) ***** error nbinstat ({}, 2) ***** error nbinstat (1, '') ***** error nbinstat (i, 2) ***** error nbinstat (1, i) ***** error ... nbinstat (ones (3), ones (2)) ***** error ... nbinstat (ones (2), ones (3)) ***** test r = 1:4; ps = 0.2:0.2:0.8; [m, v] = nbinstat (r, ps); expected_m = [ 4.0000, 3.0000, 2.0000, 1.0000]; expected_v = [20.0000, 7.5000, 3.3333, 1.2500]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); ***** test r = 1:4; [m, v] = nbinstat (r, 0.5); expected_m = [1, 2, 3, 4]; expected_v = [2, 4, 6, 8]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_stat/fstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/fstat.m ***** error fstat () ***** error fstat (1) ***** error fstat ({}, 2) ***** error fstat (1, '') ***** error fstat (i, 2) ***** error fstat (1, i) ***** error ... fstat (ones (3), ones (2)) ***** error ... fstat (ones (2), ones (3)) ***** test df1 = 1:6; df2 = 5:10; [m, v] = fstat (df1, df2); expected_mn = [1.6667, 1.5000, 1.4000, 1.3333, 1.2857, 1.2500]; expected_v = [22.2222, 6.7500, 3.4844, 2.2222, 1.5869, 1.2153]; assert_equal (m, expected_mn, 0.001); assert_equal (v, expected_v, 0.001); ***** test df1 = 1:6; [m, v] = fstat (df1, 5); expected_mn = [1.6667, 1.6667, 1.6667, 1.6667, 1.6667, 1.6667]; expected_v = [22.2222, 13.8889, 11.1111, 9.7222, 8.8889, 8.3333]; assert_equal (m, expected_mn, 0.001); assert_equal (v, expected_v, 0.001); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_stat/hygestat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/hygestat.m ***** error hygestat () ***** error hygestat (1) ***** error hygestat (1, 2) ***** error hygestat ({}, 2, 3) ***** error hygestat (1, '', 3) ***** error hygestat (1, 2, '') ***** error hygestat (i, 2, 3) ***** error hygestat (1, i, 3) ***** error hygestat (1, 2, i) ***** error ... hygestat (ones (3), ones (2), 3) ***** error ... hygestat (ones (2), 2, ones (3)) ***** error ... hygestat (1, ones (2), ones (3)) ***** test m = 4:9; k = 0:5; n = 1:6; [mn, v] = hygestat (m, k, n); expected_mn = [0.0000, 0.4000, 1.0000, 1.7143, 2.5000, 3.3333]; expected_v = [0.0000, 0.2400, 0.4000, 0.4898, 0.5357, 0.5556]; assert_equal (mn, expected_mn, 0.001); assert_equal (v, expected_v, 0.001); ***** test m = 4:9; k = 0:5; [mn, v] = hygestat (m, k, 2); expected_mn = [0.0000, 0.4000, 0.6667, 0.8571, 1.0000, 1.1111]; expected_v = [0.0000, 0.2400, 0.3556, 0.4082, 0.4286, 0.4321]; assert_equal (mn, expected_mn, 0.001); assert_equal (v, expected_v, 0.001); 14 tests, 14 passed, 0 known failure, 0 skipped [inst/dist_stat/gamstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/gamstat.m ***** error gamstat () ***** error gamstat (1) ***** error gamstat ({}, 2) ***** error gamstat (1, '') ***** error gamstat (i, 2) ***** error gamstat (1, i) ***** error ... gamstat (ones (3), ones (2)) ***** error ... gamstat (ones (2), ones (3)) ***** test a = 1:6; b = 1:0.2:2; [m, v] = gamstat (a, b); expected_m = [1.00, 2.40, 4.20, 6.40, 9.00, 12.00]; expected_v = [1.00, 2.88, 5.88, 10.24, 16.20, 24.00]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); ***** test a = 1:6; [m, v] = gamstat (a, 1.5); expected_m = [1.50, 3.00, 4.50, 6.00, 7.50, 9.00]; expected_v = [2.25, 4.50, 6.75, 9.00, 11.25, 13.50]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_stat/raylstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/raylstat.m ***** error raylstat () ***** error raylstat ({}) ***** error raylstat ('') ***** error raylstat (i) ***** test sigma = 1:6; [m, v] = raylstat (sigma); expected_m = [1.2533, 2.5066, 3.7599, 5.0133, 6.2666, 7.5199]; expected_v = [0.4292, 1.7168, 3.8628, 6.8673, 10.7301, 15.4513]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/dist_stat/ncx2stat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/ncx2stat.m ***** error ncx2stat () ***** error ncx2stat (1) ***** error ncx2stat ({}, 2) ***** error ncx2stat (1, '') ***** error ncx2stat (i, 2) ***** error ncx2stat (1, i) ***** error ... ncx2stat (ones (3), ones (2)) ***** error ... ncx2stat (ones (2), ones (3)) ***** shared df, d1 df = [2, 0, -1, 1, 4]; d1 = [1, NaN, 3, -1, 2]; ***** assert_equal (ncx2stat (df, d1), [3, NaN, NaN, NaN, 6]); ***** assert_equal (ncx2stat ([df(1:2), df(4:5)], 1), [3, NaN, 2, 5]); ***** assert_equal (ncx2stat ([df(1:2), df(4:5)], 3), [5, NaN, 4, 7]); ***** assert_equal (ncx2stat ([df(1:2), df(4:5)], 2), [4, NaN, 3, 6]); ***** assert_equal (ncx2stat (2, [d1(1), d1(3:5)]), [3, 5, NaN, 4]); ***** assert_equal (ncx2stat (0, [d1(1), d1(3:5)]), [NaN, NaN, NaN, NaN]); ***** assert_equal (ncx2stat (1, [d1(1), d1(3:5)]), [2, 4, NaN, 3]); ***** assert_equal (ncx2stat (4, [d1(1), d1(3:5)]), [5, 7, NaN, 6]); 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_stat/unidstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/unidstat.m ***** error unidstat () ***** error unidstat ({}) ***** error unidstat ('') ***** error unidstat (i) ***** test N = 1:6; [m, v] = unidstat (N); expected_m = [1.0000, 1.5000, 2.0000, 2.5000, 3.0000, 3.5000]; expected_v = [0.0000, 0.2500, 0.6667, 1.2500, 2.0000, 2.9167]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/dist_stat/gevstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/gevstat.m ***** error gevstat () ***** error gevstat (1) ***** error gevstat (1, 2) ***** error gevstat ({}, 2, 3) ***** error gevstat (1, '', 3) ***** error gevstat (1, 2, '') ***** error gevstat (i, 2, 3) ***** error gevstat (1, i, 3) ***** error gevstat (1, 2, i) ***** error ... gevstat (ones (3), ones (2), 3) ***** error ... gevstat (ones (2), 2, ones (3)) ***** error ... gevstat (1, ones (2), ones (3)) ***** test k = [-1, -0.5, 0, 0.2, 0.4, 0.5, 1]; sigma = 2; mu = 1; [m, v] = gevstat (k, sigma, mu); expected_m = [1, 1.4551, 2.1544, 2.6423, 3.4460, 4.0898, Inf]; expected_v = [4, 3.4336, 6.5797, 13.3761, 59.3288, Inf, Inf]; assert_equal (m, expected_m, -0.001); assert_equal (v, expected_v, -0.001); 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_stat/poisstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/poisstat.m ***** error poisstat () ***** error poisstat ({}) ***** error poisstat ('') ***** error poisstat (i) ***** test lambda = 1 ./ (1:6); [m, v] = poisstat (lambda); assert_equal (m, lambda); assert_equal (v, lambda); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/dist_stat/tristat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/tristat.m ***** error tristat () ***** error tristat (1) ***** error tristat (1, 2) ***** error tristat ('i', 2, 1) ***** error tristat (0, 'd', 1) ***** error tristat (0, 3, {}) ***** error tristat (i, 2, 1) ***** error tristat (0, i, 1) ***** error tristat (0, 3, i) ***** test a = 1:5; b = 3:7; c = 5:9; [m, v] = tristat (a, b, c); expected_m = [3, 4, 5, 6, 7]; assert_equal (m, expected_m); assert_equal (v, ones (1, 5) * (2/3)); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_stat/logistat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/logistat.m ***** error logistat () ***** error logistat (1) ***** error logistat ({}, 2) ***** error logistat (1, '') ***** error logistat (i, 2) ***** error logistat (1, i) ***** error ... logistat (ones (3), ones (2)) ***** error ... logistat (ones (2), ones (3)) ***** test [m, v] = logistat (0, 1); assert_equal (m, 0); assert_equal (v, 3.2899, 0.001); ***** test [m, v] = logistat (0, 0.8); assert_equal (m, 0); assert_equal (v, 2.1055, 0.001); ***** test [m, v] = logistat (1, 0.6); assert_equal (m, 1); assert_equal (v, 1.1844, 0.001); ***** test [m, v] = logistat (0, 0.4); assert_equal (m, 0); assert_equal (v, 0.5264, 0.001); ***** test [m, v] = logistat (-1, 0.2); assert_equal (m, -1); assert_equal (v, 0.1316, 0.001); 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_stat/expstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/expstat.m ***** error expstat () ***** error expstat ({}) ***** error expstat ('') ***** error expstat (i) ***** test mu = 1:6; [m, v] = expstat (mu); assert_equal (m, [1, 2, 3, 4, 5, 6], 0.001); assert_equal (v, [1, 4, 9, 16, 25, 36], 0.001); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/dist_stat/tlsstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/tlsstat.m ***** error tlsstat () ***** error tlsstat (1) ***** error tlsstat (1, 2) ***** error tlsstat ({}, 2, 3) ***** error tlsstat (1, '', 3) ***** error tlsstat (1, 2, ['d']) ***** error tlsstat (i, 2, 3) ***** error tlsstat (1, i, 3) ***** error tlsstat (1, 2, i) ***** error ... tlsstat (ones (3), ones (2), 1) ***** error ... tlsstat (ones (2), 1, ones (3)) ***** error ... tlsstat (1, ones (2), ones (3)) ***** test [m, v] = tlsstat (0, 1, 0); assert_equal (m, NaN); assert_equal (v, NaN); ***** test [m, v] = tlsstat (0, 1, 1); assert_equal (m, NaN); assert_equal (v, NaN); ***** test [m, v] = tlsstat (2, 1, 1); assert_equal (m, NaN); assert_equal (v, NaN); ***** test [m, v] = tlsstat (-2, 1, 1); assert_equal (m, NaN); assert_equal (v, NaN); ***** test [m, v] = tlsstat (0, 1, 2); assert_equal (m, 0); assert_equal (v, NaN); ***** test [m, v] = tlsstat (2, 1, 2); assert_equal (m, 2); assert_equal (v, NaN); ***** test [m, v] = tlsstat (-2, 1, 2); assert_equal (m, -2); assert_equal (v, NaN); ***** test [m, v] = tlsstat (0, 2, 2); assert_equal (m, 0); assert_equal (v, NaN); ***** test [m, v] = tlsstat (2, 2, 2); assert_equal (m, 2); assert_equal (v, NaN); ***** test [m, v] = tlsstat (-2, 2, 2); assert_equal (m, -2); assert_equal (v, NaN); ***** test [m, v] = tlsstat (0, 1, 3); assert_equal (m, 0); assert_equal (v, 3); ***** test [m, v] = tlsstat (0, 2, 3); assert_equal (m, 0); assert_equal (v, 6); ***** test [m, v] = tlsstat (2, 1, 3); assert_equal (m, 2); assert_equal (v, 3); ***** test [m, v] = tlsstat (2, 2, 3); assert_equal (m, 2); assert_equal (v, 6); ***** test [m, v] = tlsstat (-2, 1, 3); assert_equal (m, -2); assert_equal (v, 3); ***** test [m, v] = tlsstat (-2, 2, 3); assert_equal (m, -2); assert_equal (v, 6); 28 tests, 28 passed, 0 known failure, 0 skipped [inst/dist_stat/lognstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/lognstat.m ***** error lognstat () ***** error lognstat (1) ***** error lognstat ({}, 2) ***** error lognstat (1, '') ***** error lognstat (i, 2) ***** error lognstat (1, i) ***** error ... lognstat (ones (3), ones (2)) ***** error ... lognstat (ones (2), ones (3)) ***** test mu = 0:0.2:1; sigma = 0.2:0.2:1.2; [m, v] = lognstat (mu, sigma); expected_m = [1.0202, 1.3231, 1.7860, 2.5093, 3.6693, 5.5845]; expected_v = [0.0425, 0.3038, 1.3823, 5.6447, 23.1345, 100.4437]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); ***** test sigma = 0.2:0.2:1.2; [m, v] = lognstat (0, sigma); expected_m = [1.0202, 1.0833, 1.1972, 1.3771, 1.6487, 2.0544]; expected_v = [0.0425, 0.2036, 0.6211, 1.7002, 4.6708, 13.5936]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_stat/nakastat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/nakastat.m ***** error nakastat () ***** error nakastat (1) ***** error nakastat ({}, 2) ***** error nakastat (1, '') ***** error nakastat (i, 2) ***** error nakastat (1, i) ***** error ... nakastat (ones (3), ones (2)) ***** error ... nakastat (ones (2), ones (3)) ***** test [m, v] = nakastat (1, 1); assert_equal (m, 0.8862269254, 1e-10); assert_equal (v, 0.2146018366, 1e-10); ***** test [m, v] = nakastat (1, 2); assert_equal (m, 1.25331413731, 1e-10); assert_equal (v, 0.42920367321, 1e-10); ***** test [m, v] = nakastat (2, 1); assert_equal (m, 0.93998560299, 1e-10); assert_equal (v, 0.11642706618, 1e-10); 11 tests, 11 passed, 0 known failure, 0 skipped [inst/dist_stat/loglstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/loglstat.m ***** error loglstat () ***** error loglstat (1) ***** error loglstat ({}, 2) ***** error loglstat (1, '') ***** error loglstat (i, 2) ***** error loglstat (1, i) ***** error ... loglstat (ones (3), ones (2)) ***** error ... loglstat (ones (2), ones (3)) ***** test [m, v] = loglstat (0, 1); assert_equal (m, Inf, 0.001); assert_equal (v, Inf, 0.001); ***** test [m, v] = loglstat (0, 0.8); assert_equal (m, 4.2758, 0.001); assert_equal (v, Inf, 0.001); ***** test [m, v] = loglstat (0, 0.6); assert_equal (m, 1.9820, 0.001); assert_equal (v, Inf, 0.001); ***** test [m, v] = loglstat (0, 0.4); assert_equal (m, 1.3213, 0.001); assert_equal (v, 2.5300, 0.001); ***** test [m, v] = loglstat (0, 0.2); assert_equal (m, 1.0690, 0.001); assert_equal (v, 0.1786, 0.001); 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_stat/wblstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/wblstat.m ***** error wblstat () ***** error wblstat (1) ***** error wblstat ({}, 2) ***** error wblstat (1, '') ***** error wblstat (i, 2) ***** error wblstat (1, i) ***** error ... wblstat (ones (3), ones (2)) ***** error ... wblstat (ones (2), ones (3)) ***** test lambda = 3:8; k = 1:6; [m, v] = wblstat (lambda, k); expected_m = [3.0000, 3.5449, 4.4649, 5.4384, 6.4272, 7.4218]; expected_v = [9.0000, 3.4336, 2.6333, 2.3278, 2.1673, 2.0682]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); ***** test k = 1:6; [m, v] = wblstat (6, k); expected_m = [ 6.0000, 5.3174, 5.3579, 5.4384, 5.5090, 5.5663]; expected_v = [36.0000, 7.7257, 3.7920, 2.3278, 1.5923, 1.1634]; assert_equal (m, expected_m, 0.001); assert_equal (v, expected_v, 0.001); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_stat/plstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/plstat.m ***** shared x, Fx x = [0, 1, 3, 4, 7, 10]; Fx = [0, 0.2, 0.5, 0.6, 0.7, 1]; ***** assert_equal (plstat (x, Fx), 4.15) ***** test [m, v] = plstat (x, Fx); assert_equal (v, 10.3775, 1e-14) ***** error plstat () ***** error plstat (1) ***** error ... plstat ([0, 1, 2], [0, 1]) ***** error ... plstat ([0], [1]) ***** error ... plstat ([0, 1, 2], [0, 1, 1.5]) ***** error ... plstat ([0, 1, 2], [0, i, 1]) ***** error ... plstat ([0, i, 2], [0, 0.5, 1]) ***** error ... plstat ([0, i, 2], [0, 0.5i, 1]) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_stat/hnstat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/hnstat.m ***** error hnstat () ***** error hnstat (1) ***** error hnstat ({}, 2) ***** error hnstat (1, '') ***** error hnstat (i, 2) ***** error hnstat (1, i) ***** error ... hnstat (ones (3), ones (2)) ***** error ... hnstat (ones (2), ones (3)) ***** test [m, v] = hnstat (0, 1); assert_equal (m, 0.7979, 1e-4); assert_equal (v, 0.3634, 1e-4); ***** test [m, v] = hnstat (2, 1); assert_equal (m, 2.7979, 1e-4); assert_equal (v, 0.3634, 1e-4); ***** test [m, v] = hnstat (2, 2); assert_equal (m, 3.5958, 1e-4); assert_equal (v, 1.4535, 1e-4); ***** test [m, v] = hnstat (2, 2.5); assert_equal (m, 3.9947, 1e-4); assert_equal (v, 2.2711, 1e-4); ***** test [m, v] = hnstat (1.5, 0.5); assert_equal (m, 1.8989, 1e-4); assert_equal (v, 0.0908, 1e-4); ***** test [m, v] = hnstat (-1.5, 0.5); assert_equal (m, -1.1011, 1e-4); assert_equal (v, 0.0908, 1e-4); 14 tests, 14 passed, 0 known failure, 0 skipped [inst/fitcsvm.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/fitcsvm.m ***** demo ## Use a subset of Fisher's iris data set load fisheriris inds = ! strcmp (species, 'setosa'); X = meas(inds, [3,4]); Y = species(inds); ## Train a linear SVM classifier SVMModel = fitcsvm (X, Y) ## Plot a scatter diagram of the data and circle the support vectors. sv = SVMModel.SupportVectors; figure gscatter (X(:,1), X(:,2), Y) hold on plot (sv(:,1), sv(:,2), 'ko', 'MarkerSize', 10) legend ('versicolor', 'virginica', 'Support Vector') hold off ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = {'a'; 'a'; 'b'; 'b'}; a = fitcsvm (x, y); assert_equal (class (a), "ClassificationSVM"); assert_equal ({a.X, a.Y}, {x, y}) assert_equal (a.NumObservations, 4) assert_equal ({a.ResponseName, a.PredictorNames}, {'Y', {'x1', 'x2', 'x3'}}) assert_equal (a.ModelParameters.SVMtype, "c_svc") assert_equal (a.ClassNames, {'a'; 'b'}) ***** test x = [1, 2; 2, 3; 3, 4; 4, 5; 2, 3; 3, 4; 2, 3; 3, 4; 2, 3; 3, 4]; y = [1; 1; -1; -1; 1; -1; -1; -1; -1; -1]; a = fitcsvm (x, y); assert_equal (class (a), "ClassificationSVM"); assert_equal ({a.X, a.Y, a.ModelParameters.KernelFunction}, {x, y, 'linear'}) assert_equal (a.ModelParameters.BoxConstraint, 1) assert_equal (a.ModelParameters.KernelOffset, 0) assert_equal (a.ClassNames, [-1; 1]) ***** test x = [1, 2; 2, 3; 3, 4; 4, 5; 2, 3; 3, 4; 2, 3; 3, 4; 2, 3; 3, 4]; y = [1; 1; -1; -1; 1; -1; -1; -1; -1; -1]; a = fitcsvm (x, y, 'KernelFunction', 'rbf', 'BoxConstraint', 2, ... 'KernelOffset', 2); assert_equal (class (a), "ClassificationSVM"); assert_equal ({a.X, a.Y, a.ModelParameters.KernelFunction}, {x, y, 'rbf'}) assert_equal (a.ModelParameters.BoxConstraint, 2) assert_equal (a.ModelParameters.KernelOffset, 2) assert_equal (isempty (a.Alpha), true) assert_equal (isempty (a.Beta), false) ***** test x = [1, 2; 2, 3; 3, 4; 4, 5; 2, 3; 3, 4; 2, 3; 3, 4; 2, 3; 3, 4]; y = [1; 1; -1; -1; 1; -1; -1; -1; -1; -1]; a = fitcsvm (x, y, 'KernelFunction', 'polynomial', 'PolynomialOrder', 3); assert_equal (class (a), "ClassificationSVM"); assert_equal ({a.X, a.Y, a.ModelParameters.KernelFunction}, {x, y, 'polynomial'}) assert_equal (a.ModelParameters.PolynomialOrder, 3) assert_equal (isempty (a.Alpha), true) assert_equal (isempty (a.Beta), false) ***** test x = [1, 2; 2, 3; 3, 4; 4, 5; 2, 3; 3, 4; 2, 3; 3, 4; 2, 3; 3, 4]; y = [1; 1; -1; -1; 1; -1; -1; -1; -1; -1]; a = fitcsvm (x, y, 'KernelFunction', 'linear', 'PolynomialOrder', 3); assert_equal (class (a), "ClassificationSVM"); assert_equal ({a.X, a.Y, a.ModelParameters.KernelFunction}, {x, y, 'linear'}) assert_equal (a.ModelParameters.PolynomialOrder, 3) assert_equal (isempty (a.Alpha), false) assert_equal (isempty (a.Beta), true) ***** test x = [1, 2; 2, 3; 3, 4; 4, 5; 2, 3; 3, 4; 2, 3; 3, 4; 2, 3; 3, 4]; y = [1; 1; -1; -1; 1; -1; -1; -1; -1; -1]; status = warning; warning ('off'); rand ('seed', 23); a = fitcsvm (x, y, 'KernelFunction', 'linear', 'CrossVal', 'on'); warning (status); assert_equal (class (a), "ClassificationPartitionedModel"); assert_equal ({a.X, a.Y, a.ModelParameters.KernelFunction}, {x, y, 'linear'}) assert_equal (a.ModelParameters.PolynomialOrder, 3) assert_equal (isempty (a.Trained{1}.Alpha), false) assert_equal (isempty (a.Trained{1}.Beta), true) ***** error fitcsvm () ***** error fitcsvm (ones (4,1)) ***** error fitcsvm (ones (4,2), ones (4, 1), 'KFold') ***** error fitcsvm (ones (4,2), ones (3, 1)) ***** error fitcsvm (ones (4,2), ones (3, 1), 'KFold', 2) ***** error fitcsvm (ones (4,2), ones (4, 1), 'CrossVal', 2) ***** error fitcsvm (ones (4,2), ones (4, 1), 'CrossVal', 'a') ***** error ... fitcsvm (ones (4,2), ones (4, 1), 'KFold', 10, 'Holdout', 0.3) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/isoutlier.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/isoutlier.m ***** demo A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; TF = isoutlier (A, 'mean') ***** demo ## Use a moving detection method to detect local outliers in a sine wave x = -2*pi:0.1:2*pi; A = sin (x); A(47) = 0; time = datenum (2023,1,1,0,0,0) + (1/24)*[0:length(x)-1] - 730485; TF = isoutlier (A, 'movmedian', 5*(1/24), 'SamplePoints', time); plot (time, A) hold on plot (time(TF), A(TF), 'x') datetick ('x', 20, 'keepticks') legend ('Original Data', 'Outlier Data') ***** demo ## Locate an outlier in a vector of data and visualize the outlier x = 1:10; A = [60 59 49 49 58 100 61 57 48 58]; [TF, L, U, C] = isoutlier (A); plot (x, A); hold on plot (x(TF), A(TF), 'x'); xlim ([1,10]); line ([1,10], [L, L], 'Linestyle', ':'); text (1.1, L-2, 'Lower Threshold'); line ([1,10], [U, U], 'Linestyle', ':'); text (1.1, U-2, 'Upper Threshold'); line ([1,10], [C, C], 'Linestyle', ':'); text (1.1, C-3, 'Center Value'); legend ('Original Data', 'Outlier Data'); ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; assert_equal (isoutlier (A, 'mean'), logical ([zeros(1,8) 1 zeros(1,6)])) assert_equal (isoutlier (A, 'median'), ... logical ([zeros(1,3) 1 zeros(1,4) 1 zeros(1,6)])) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'mean'); assert_equal (L, -109.2459044922864, 1e-12) assert_equal (U, 264.9792378256198, 1e-12) assert_equal (C, 77.8666666666666, 1e-12) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'median'); assert_equal (L, 50.104386688966386, 1e-12) assert_equal (U, 67.895613311033610, 1e-12) assert_equal (C, 59) ***** test A = magic (5) + diag (200*ones (1,5)); T = logical (eye (5)); assert_equal (isoutlier (A, 2), T) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'movmedian', 5); l = [54.5522, 52.8283, 54.5522, 54.5522, 54.5522, 53.5522, 53.5522, ... 53.5522, 47.6566, 56.5522, 57.5522, 56.5522, 51.1044, 52.3283, 53.5522]; u = [63.4478, 66.1717, 63.4478, 63.4478, 63.4478, 62.4478, 62.4478, ... 62.4478, 74.3434, 65.4478, 66.4478, 65.4478, 68.8956, 65.6717, 62.4478]; c = [59, 59.5, 59, 59, 59, 58, 58, 58, 61, 61, 62, 61, 60, 59, 58]; assert_equal (L, l, 1e-4) assert_equal (U, u, 1e-4) assert_equal (C, c) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'movmedian', 5, 'SamplePoints', [1:15]); l = [54.5522, 52.8283, 54.5522, 54.5522, 54.5522, 53.5522, 53.5522, ... 53.5522, 47.6566, 56.5522, 57.5522, 56.5522, 51.1044, 52.3283, 53.5522]; u = [63.4478, 66.1717, 63.4478, 63.4478, 63.4478, 62.4478, 62.4478, ... 62.4478, 74.3434, 65.4478, 66.4478, 65.4478, 68.8956, 65.6717, 62.4478]; c = [59, 59.5, 59, 59, 59, 58, 58, 58, 61, 61, 62, 61, 60, 59, 58]; assert_equal (L, l, 1e-4) assert_equal (U, u, 1e-4) assert_equal (C, c) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'movmean', 5); l = [54.0841, 6.8872, 11.5608, 12.1518, 11.0210, 10.0112, -218.2840, ... -217.2375, -215.1239, -213.4890, -211.3264, 55.5800, 52.9589, ... 52.5979, 51.0627]; u = [63.2492, 131.1128, 122.4392, 122.2482, 122.5790, 122.7888, 431.0840, ... 430.8375, 430.3239, 429.8890, 429.3264, 65.6200, 66.6411, 65.9021, ... 66.9373]; c = [58.6667, 69, 67, 67.2, 66.8, 66.4, 106.4, 106.8, 107.6, 108.2, 109, ... 60.6, 59.8, 59.25, 59]; assert_equal (L, l, 1e-4) assert_equal (U, u, 1e-4) assert_equal (C, c, 1e-4) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'movmean', 5, 'SamplePoints', [1:15]); l = [54.0841, 6.8872, 11.5608, 12.1518, 11.0210, 10.0112, -218.2840, ... -217.2375, -215.1239, -213.4890, -211.3264, 55.5800, 52.9589, ... 52.5979, 51.0627]; u = [63.2492, 131.1128, 122.4392, 122.2482, 122.5790, 122.7888, 431.0840, ... 430.8375, 430.3239, 429.8890, 429.3264, 65.6200, 66.6411, 65.9021, ... 66.9373]; c = [58.6667, 69, 67, 67.2, 66.8, 66.4, 106.4, 106.8, 107.6, 108.2, 109, ... 60.6, 59.8, 59.25, 59]; assert_equal (L, l, 1e-4) assert_equal (U, u, 1e-4) assert_equal (C, c, 1e-4) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'gesd'); assert_equal (TF, logical ([0 0 0 1 0 0 0 0 1 0 0 0 0 0 0])) assert_equal (L, 34.235977035439944, 1e-12) assert_equal (U, 89.764022964560060, 1e-12) assert_equal (C, 62) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'gesd', 'ThresholdFactor', 0.01); assert_equal (TF, logical ([0 0 0 1 0 0 0 0 1 0 0 0 0 0 0])) assert_equal (L, 31.489256770616173, 1e-12) assert_equal (U, 92.510743229383820, 1e-12) assert_equal (C, 62) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'gesd', 'ThresholdFactor', 5e-10); assert_equal (TF, logical ([0 0 0 0 0 0 0 0 1 0 0 0 0 0 0])) assert_equal (L, 23.976664158788935, 1e-12) assert_equal (U, 100.02333584121110, 1e-12) assert_equal (C, 62) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'grubbs'); assert_equal (TF, logical ([0 0 0 1 0 0 0 0 1 0 0 0 0 0 0])) assert_equal (L, 54.642809574646606, 1e-12) assert_equal (U, 63.511036579199555, 1e-12) assert_equal (C, 59.076923076923080, 1e-12) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'grubbs', 'ThresholdFactor', 0.01); assert_equal (TF, logical ([0 0 0 1 0 0 0 0 1 0 0 0 0 0 0])) assert_equal (L, 54.216083184201850, 1e-12) assert_equal (U, 63.937762969644310, 1e-12) assert_equal (C, 59.076923076923080, 1e-12) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'percentiles', [10 90]); assert_equal (TF, logical ([0 0 0 0 0 0 0 0 1 0 0 0 0 0 0])) assert_equal (L, 57) assert_equal (U, 100) assert_equal (C, 78.5) ***** test A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; [TF, L, U, C] = isoutlier (A, 'percentiles', [20 80]); assert_equal (TF, logical ([1 0 0 1 0 0 1 0 1 0 0 0 0 0 1])) assert_equal (L, 57.5) assert_equal (U, 62) assert_equal (C, 59.75) ***** shared A A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57]; ***** error ... isoutlier (A, 'movmedian', 0); ***** error ... isoutlier (A, 'movmedian', []); ***** error ... isoutlier (A, 'movmedian', [2 3 4]); ***** error ... isoutlier (A, 'movmedian', 1.4); ***** error ... isoutlier (A, 'movmedian', [0 1]); ***** error ... isoutlier (A, 'movmedian', [2 -1]); ***** error ... isoutlier (A, 'movmedian', {2 3}); ***** error ... isoutlier (A, 'movmedian', 'char'); ***** error ... isoutlier (A, 'movmean', 0); ***** error ... isoutlier (A, 'movmean', []); ***** error ... isoutlier (A, 'movmean', [2 3 4]); ***** error ... isoutlier (A, 'movmean', 1.4); ***** error ... isoutlier (A, 'movmean', [0 1]); ***** error ... isoutlier (A, 'movmean', [2 -1]); ***** error ... isoutlier (A, 'movmean', {2 3}); ***** error ... isoutlier (A, 'movmean', 'char'); ***** error ... isoutlier (A, 'percentiles', [-1 90]); ***** error ... isoutlier (A, 'percentiles', [10 -90]); ***** error ... isoutlier (A, 'percentiles', [90]); ***** error ... isoutlier (A, 'percentiles', [90 20]); ***** error ... isoutlier (A, 'percentiles', [90 20]); ***** error ... isoutlier (A, 'percentiles', [10 20 90]); ***** error ... isoutlier (A, 'percentiles', {10 90}); ***** error ... isoutlier (A, 'percentiles', 'char'); ***** error ... isoutlier (A, 'movmean', 5, 'SamplePoints', ones (3,15)); ***** error ... isoutlier (A, 'movmean', 5, 'SamplePoints', 15); ***** error ... isoutlier (A, 'movmean', 5, 'SamplePoints', [1,1:14]); ***** error ... isoutlier (A, 'movmean', 5, 'SamplePoints', [2,1,3:15]); ***** error ... isoutlier (A, 'movmean', 5, 'SamplePoints', [1:14]); ***** error ... isoutlier (A, 'movmean', 5, 'ThresholdFactor', [1:14]); ***** error ... isoutlier (A, 'movmean', 5, 'ThresholdFactor', -1); ***** error ... isoutlier (A, 'gesd', 'ThresholdFactor', 3); ***** error ... isoutlier (A, 'grubbs', 'ThresholdFactor', 3); ***** error ... isoutlier (A, 'movmean', 5, 'MaxNumOutliers', [1:14]); ***** error ... isoutlier (A, 'movmean', 5, 'MaxNumOutliers', -1); ***** error ... isoutlier (A, 'movmean', 5, 'MaxNumOutliers', 0); ***** error ... isoutlier (A, 'movmean', 5, 'MaxNumOutliers', 1.5); ***** error ... isoutlier (A, {'movmean'}, 5, 'SamplePoints', [1:15]); ***** error isoutlier (A, {1}); ***** error isoutlier (A, true); ***** error isoutlier (A, false); ***** error isoutlier (A, 0); ***** error isoutlier (A, [1 2]); ***** error isoutlier (A, -2); 59 tests, 59 passed, 0 known failure, 0 skipped [inst/silhouette.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/silhouette.m ***** demo load fisheriris; X = meas(:,3:4); cidcs = kmeans (X, 3, 'Replicates', 5); silhouette (X, cidcs); y_labels(cidcs([1 51 101])) = unique (species); set (gca, 'yticklabel', y_labels); title ('Fisher''s iris data'); ***** error silhouette (); ***** error silhouette ([1 2; 1 1]); ***** error silhouette ([1 2; 1 1], [1 2 3]'); ***** error silhouette ([1 2; 1 1], [1 2]', 'xxx'); 4 tests, 4 passed, 0 known failure, 0 skipped [inst/ztest2.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/ztest2.m ***** error ztest2 (); ***** error ztest2 (1); ***** error ztest2 (1, 2); ***** error ztest2 (1, 2, 3); ***** error ztest2 (1, 2, 3, 2); ***** error ... ztest2 (1, 2, 3, 4, 'alpha') ***** error ... ztest2 (1, 2, 3, 4, 'alpha', 0); ***** error ... ztest2 (1, 2, 3, 4, 'alpha', 1.2); ***** error ... ztest2 (1, 2, 3, 4, 'alpha', 'val'); ***** error ... ztest2 (1, 2, 3, 4, 'tail', 'val'); ***** error ... ztest2 (1, 2, 3, 4, 'alpha', 0.01, 'tail', 'val'); ***** error ... ztest2 (1, 2, 3, 4, 'alpha', 0.01, 'tail', 'both', 'badoption', 3); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/fitcdiscr.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/fitcdiscr.m ***** demo ## Train a linear discriminant classifier for Gamma = 0.5 ## and plot the decision boundaries. load fisheriris idx = ! strcmp (species, 'setosa'); X = meas(idx,3:4); Y = cast (strcmpi (species(idx), 'virginica'), 'double'); obj = fitcdiscr (X, Y, 'Gamma', 0.5) x1 = [min(X(:,1)):0.03:max(X(:,1))]; x2 = [min(X(:,2)):0.02:max(X(:,2))]; [x1G, x2G] = meshgrid (x1, x2); XGrid = [x1G(:), x2G(:)]; pred = predict (obj, XGrid); gidx = logical (pred); figure scatter (XGrid(gidx,1), XGrid(gidx,2), 'markerfacecolor', 'magenta'); hold on scatter (XGrid(! gidx,1), XGrid(! gidx,2), 'markerfacecolor', 'red'); plot (X(Y == 0, 1), X(Y == 0, 2), 'ko', X(Y == 1, 1), X(Y == 1, 2), 'kx'); xlabel ('Petal length (cm)'); ylabel ('Petal width (cm)'); title ('Linear Discriminant Analysis Decision Boundary'); legend ({'Versicolor Region', 'Virginica Region', ... 'Sampled Versicolor', 'Sampled Virginica'}, ... 'location', 'northwest') axis tight hold off ***** test load fisheriris Mdl = fitcdiscr (meas, species, 'Gamma', 0.5); [label, score, cost] = predict (Mdl, [2, 2, 2, 2]); assert_equal (label, {'versicolor'}) assert_equal (score, [0, 0.9999, 0.0001], 1e-4) assert_equal (cost, [1, 0.0001, 0.9999], 1e-4) [label, score, cost] = predict (Mdl, [2.5, 2.5, 2.5, 2.5]); assert_equal (label, {'versicolor'}) assert_equal (score, [0, 0.6368, 0.3632], 1e-4) assert_equal (cost, [1, 0.3632, 0.6368], 1e-4) assert_equal (class (Mdl), "ClassificationDiscriminant"); assert_equal ({Mdl.X, Mdl.Y, Mdl.NumObservations}, {meas, species, 150}) assert_equal ({Mdl.DiscrimType, Mdl.ResponseName}, {'linear', 'Y'}) assert_equal ({Mdl.Gamma, Mdl.MinGamma}, {0.5, 0}) assert_equal (Mdl.ClassNames, unique (species)) sigma = [0.265008, 0.046361, 0.083757, 0.019201; ... 0.046361, 0.115388, 0.027622, 0.016355; ... 0.083757, 0.027622, 0.185188, 0.021333; ... 0.019201, 0.016355, 0.021333, 0.041882]; assert_equal (Mdl.Sigma, sigma, 1e-6) mu = [5.0060, 3.4280, 1.4620, 0.2460; ... 5.9360, 2.7700, 4.2600, 1.3260; ... 6.5880, 2.9740, 5.5520, 2.0260]; assert_equal (Mdl.Mu, mu, 1e-14) assert_equal (Mdl.LogDetSigma, -8.6884, 1e-4) ***** error fitcdiscr () ***** error fitcdiscr (ones (4,1)) ***** error fitcdiscr (ones (4,2), ones (4, 1), 'K') ***** error fitcdiscr (ones (4,2), ones (3, 1)) ***** error fitcdiscr (ones (4,2), ones (3, 1), 'K', 2) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/squareform.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/squareform.m ***** shared v, m v = 1:6; m = [0, 1, 2, 3; 1, 0, 4, 5; 2, 4, 0, 6; 3, 5, 6, 0]; ***** test ***** assert_equal (squareform (v), m) ***** assert_equal (squareform (squareform (v)), v) ***** assert_equal (squareform (m), v) ***** test ***** assert_equal (squareform (v'), m) ***** test ***** assert_equal (squareform (1), [0 1;1 0]) ***** assert_equal (squareform (1, 'tomatrix'), [0 1; 1 0]) ***** assert_equal (squareform (0, 'tovector'), zeros (1, 0)) ***** test for c = {@single, @double, @uint8, @uint16, @uint32, @uint64, @logical} f = c{1}; assert_equal (squareform (f(v)), f(m)) assert_equal (squareform (f(m)), f(v)) endfor ***** test v_log = [true, false, true]; m_log = [false, true, false; true, false, true; false, true, false]; assert_equal (squareform (v_log), m_log); assert_equal (squareform (m_log), v_log); ***** assert_equal (squareform (v, 'tom'), m); ***** assert_equal (squareform (m, 'tov'), v); ***** assert_equal (squareform (v, 'TOMATRIX'), m); ***** assert_equal (squareform (v, string ('tomatrix')), m); ***** assert_equal (squareform (m, string ('tovector')), v); ***** error ... squareform ('string') ***** error ... squareform ({1, 2, 3}) ***** error ... squareform ([1, 2, 3; 4, 5, 6], 'tovector') ***** error ... squareform (eye (3), 'tovector') ***** error ... squareform ([1, 2, 3; 4, 5, 6], string ({'tomatrix', 'tomatrix'})) ***** error ... squareform ([1, 2, 3; 4, 5, 6], true) ***** error ... squareform ([1, 2, 3, 4], 'tomatrix') ***** error squareform ([1, 2, 3], 'invalid') 25 tests, 25 passed, 0 known failure, 0 skipped [inst/rangesearch.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/rangesearch.m ***** demo ## Generate 100 random 2D points from each of five distinct multivariate ## normal distributions that form five separate classes N = 100; d = 10; randn ('seed', 5); X1 = mvnrnd (d * [0, 0], eye (2), N); randn ('seed', 6); X2 = mvnrnd (d * [1, 1], eye (2), N); randn ('seed', 7); X3 = mvnrnd (d * [-1, -1], eye (2), N); randn ('seed', 8); X4 = mvnrnd (d * [1, -1], eye (2), N); randn ('seed', 8); X5 = mvnrnd (d * [-1, 1], eye (2), N); X = [X1; X2; X3; X4; X5]; ## For each point in X, find the points in X that are within a radius d ## away from the points in X. Idx = rangesearch (X, X, d, 'NSMethod', 'exhaustive'); ## Select the first point in X (corresponding to the first class) and find ## its nearest neighbors within the radius d. Display these points in ## one color and the remaining points in a different color. x = X(1,:); nearestPoints = X(Idx{1},:); nonNearestIdx = true (size (X, 1), 1); nonNearestIdx(Idx{1}) = false; scatter (X(nonNearestIdx,1), X(nonNearestIdx,2)) hold on scatter (nearestPoints(:,1),nearestPoints(:,2)) scatter (x(1), x(2), 'black', 'filled') hold off ## Select the last point in X (corresponding to the fifth class) and find ## its nearest neighbors within the radius d. Display these points in ## one color and the remaining points in a different color. x = X(end,:); nearestPoints = X(Idx{end},:); nonNearestIdx = true (size (X, 1), 1); nonNearestIdx(Idx{end}) = false; figure scatter (X(nonNearestIdx,1), X(nonNearestIdx,2)) hold on scatter (nearestPoints(:,1),nearestPoints(:,2)) scatter (x(1), x(2), 'black', 'filled') hold off ***** shared x, y, X, Y x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = [2, 3, 4; 1, 4, 3]; X = [1, 2, 3, 4; 2, 3, 4, 5; 3, 4, 5, 6]; Y = [1, 2, 2, 3; 2, 3, 3, 4]; ***** test [idx, D] = rangesearch (x, y, 4); assert_equal (idx, {[1, 4, 2]; [1, 4]}); assert_equal (D, {[1.7321, 3.3166, 3.4641]; [2, 3.4641]}, 1e-4); ***** test [idx, D] = rangesearch (x, y, 4, 'NSMethod', 'exhaustive'); assert_equal (idx, {[1, 4, 2]; [1, 4]}); assert_equal (D, {[1.7321, 3.3166, 3.4641]; [2, 3.4641]}, 1e-4); ***** test [idx, D] = rangesearch (x, y, 4, 'NSMethod', 'kdtree'); assert_equal (idx, {[1, 4, 2]; [1, 4]}); assert_equal (D, {[1.7321, 3.3166, 3.4641]; [2, 3.4641]}, 1e-4); ***** test [idx, D] = rangesearch (x, y, 4, 'SortIndices', true); assert_equal (idx, {[1, 4, 2]; [1, 4]}); assert_equal (D, {[1.7321, 3.3166, 3.4641]; [2, 3.4641]}, 1e-4); ***** test [idx, D] = rangesearch (x, y, 4, 'SortIndices', false); assert_equal (idx, {[1, 2, 4]; [1, 4]}); assert_equal (D, {[1.7321, 3.4641, 3.3166]; [2, 3.4641]}, 1e-4); ***** test [idx, D] = rangesearch (x, y, 4, 'NSMethod', 'exhaustive', ... 'SortIndices', false); assert_equal (idx, {[1, 2, 4]; [1, 4]}); assert_equal (D, {[1.7321, 3.4641, 3.3166]; [2, 3.4641]}, 1e-4); ***** test eucldist = @(v,m) sqrt (sumsq (repmat (v,rows (m),1)-m,2)); [idx, D] = rangesearch (x, y, 4, 'Distance', eucldist); assert_equal (idx, {[1, 4, 2]; [1, 4]}); assert_equal (D, {[1.7321, 3.3166, 3.4641]; [2, 3.4641]}, 1e-4); ***** test eucldist = @(v,m) sqrt (sumsq (repmat (v,rows (m),1)-m,2)); [idx, D] = rangesearch (x, y, 4, 'Distance', eucldist, ... 'NSMethod', 'exhaustive'); assert_equal (idx, {[1, 4, 2]; [1, 4]}); assert_equal (D, {[1.7321, 3.3166, 3.4641]; [2, 3.4641]}, 1e-4); ***** test [idx, D] = rangesearch (x, y, 1.5, 'Distance', 'seuclidean', ... 'NSMethod', 'exhaustive'); assert_equal (idx, {[1, 4, 2]; [1, 4]}); assert_equal (D, {[0.6024, 1.0079, 1.2047]; [0.6963, 1.2047]}, 1e-4); ***** test [idx, D] = rangesearch (x, y, 1.5, 'Distance', 'seuclidean', ... 'NSMethod', 'exhaustive', 'SortIndices', false); assert_equal (idx, {[1, 2, 4]; [1, 4]}); assert_equal (D, {[0.6024, 1.2047, 1.0079]; [0.6963, 1.2047]}, 1e-4); ***** test [idx, D] = rangesearch (X, Y, 4); assert_equal (idx, {[1, 2]; [1, 2, 3]}); assert_equal (D, {[1.4142, 3.1623]; [1.4142, 1.4142, 3.1623]}, 1e-4); ***** test [idx, D] = rangesearch (X, Y, 2); assert_equal (idx, {[1]; [1, 2]}); assert_equal (D, {[1.4142]; [1.4142, 1.4142]}, 1e-4); ***** test eucldist = @(v,m) sqrt (sumsq (repmat (v,rows (m),1)-m,2)); [idx, D] = rangesearch (X, Y, 4, 'Distance', eucldist); assert_equal (idx, {[1, 2]; [1, 2, 3]}); assert_equal (D, {[1.4142, 3.1623]; [1.4142, 1.4142, 3.1623]}, 1e-4); ***** test [idx, D] = rangesearch (X, Y, 4, 'SortIndices', false); assert_equal (idx, {[1, 2]; [1, 2, 3]}); assert_equal (D, {[1.4142, 3.1623]; [1.4142, 1.4142, 3.1623]}, 1e-4); ***** test [idx, D] = rangesearch (X, Y, 4, 'Distance', 'seuclidean', ... 'NSMethod', 'exhaustive'); assert_equal (idx, {[1, 2]; [1, 2, 3]}); assert_equal (D, {[1.4142, 3.1623]; [1.4142, 1.4142, 3.1623]}, 1e-4); ***** test X = ones (10, 2); [idx, D] = rangesearch (X, X, 0.1, 'NSMethod', 'kdtree'); assert_equal (numel (idx), 10); ***** test X = ones (3, 2); [idx, D] = rangesearch (X, X, 0.1, 'NSMethod', 'kdtree', 'BucketSize', 1); assert_equal (numel (idx), 3); assert_equal (cellfun (@numel, idx) == 3, [true; true; true]); assert_equal (idx{1}, [1, 2, 3]); assert_equal (idx{2}, [1, 2, 3]); assert_equal (idx{3}, [1, 2, 3]); assert_equal (D{1}, [0, 0, 0]); assert_equal (D{2}, [0, 0, 0]); assert_equal (D{3}, [0, 0, 0]); ***** test [idx, D] = rangesearch (x, y, 4, 'NSMethod', 'kdtree', 'SortIndices', true); assert_equal (idx, {[1, 4, 2]; [1, 4]}); assert_equal (D, {[1.7321, 3.3166, 3.4641]; [2, 3.4641]}, 1e-4); ***** test [idx, D] = rangesearch (x, y, 4, 'NSMethod', 'kdtree', 'SortIndices', false); assert_equal (idx, {[1, 2, 4]; [1, 4]}); assert_equal (D, {[1.7321, 3.4641, 3.3166]; [2, 3.4641]}, 1e-4); ***** error rangesearch (1) ***** error rangesearch (ones (4, 5)) ***** error ... rangesearch (ones (4, 5), ones (4)) ***** error ... rangesearch (ones (4, 5), ones (4), 1) ***** error ... rangesearch (ones (4, 2), ones (3, 2), 1, 'Distance', 'euclidean', 'some', 'some') ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'scale', ones (1, 5), 'P', 3) ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'P', -2) ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'scale', ones (4,5), 'distance', 'euclidean') ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'cov', ['some' 'some']) ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'cov', ones (4,5), 'distance', 'euclidean') ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'bucketsize', -1) ***** error ... rangesearch (ones (4,2), ones (1,2), 1, 'BucketSize', 2.5) ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'NSmethod', 'kdtree', 'distance', 'cosine') ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'NSmethod', 'kdtree', 'distance', 'mahalanobis') ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'NSmethod', 'kdtree', 'distance', 'correlation') ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'NSmethod', 'kdtree', 'distance', 'seuclidean') ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'NSmethod', 'kdtree', 'distance', 'spearman') ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'NSmethod', 'kdtree', 'distance', 'hamming') ***** error ... rangesearch (ones (4, 5), ones (1, 5), 1, 'NSmethod', 'kdtree', 'distance', 'jaccard') ***** error ... rangesearch (ones (4,2), ones (1,2), 1, 'Distance', @(x,y) sqrt (sum ((x-y).^2)), 'NSMethod', 'kdtree') 39 tests, 39 passed, 0 known failure, 0 skipped [inst/nanmean.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/nanmean.m ***** demo ## Find the column means for a matrix with missing values., x = magic (3); x([1, 4, 7:9]) = NaN y = nanmean (x) ***** demo ## Find the row means for a matrix with missing values., x = magic (3); x([1, 4, 7:9]) = NaN y = nanmean (x, 2) ***** demo ## Find the mean of all the values in a multidimensional array ## with missing values. x = reshape (1:30, [2, 5, 3]); x([10:12, 25]) = NaN y = nanmean (x, 'all') ***** demo ## Find the mean of a multidimensional array with missing values over ## multiple dimensions. x = reshape (1:30, [2, 5, 3]); x([10:12, 25]) = NaN y = nanmean (x, [2, 3]) ***** assert_equal (nanmean ([]), NaN) ***** assert_equal (nanmean (NaN), NaN) ***** assert_equal (nanmean (NaN (3)), [NaN, NaN, NaN]) ***** assert_equal (nanmean ([3 2 NaN 7]), 4) ***** assert_equal (nanmean ([2 4 NaN Inf]), Inf) ***** assert_equal (nanmean ([1 NaN 3; NaN 4 6; 7 8 NaN]), [4 6 4.5]) ***** assert_equal (nanmean ([1 NaN 3; NaN 5 6; 7 8 NaN], 2), [2; 5.5; 7.5]) ***** assert_equal (nanmean (uint8 ([2 4 1 7])), 3.5) ***** test x = magic (3); x([1 6:9]) = NaN; assert_equal (nanmean (x), [3.5, 3, NaN]) assert_equal (nanmean (x, 2), [1; 4; 4]) ***** test x = reshape (1:24, [2, 4, 3]); x([5:6, 20]) = NaN; assert_equal (nanmean (x, 'all'), 269/21) ***** test x = reshape (1:24,[2, 4, 3]); x([5:6, 20]) = NaN; assert_equal (squeeze (nanmean (x, [1, 2])), [25/6; 100/8; 144/7]) assert_equal (nanmean (x, [2, 3]), [139/11; 13]) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/hotelling_t2test.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/hotelling_t2test.m ***** error hotelling_t2test (); ***** error ... hotelling_t2test (1); ***** error ... hotelling_t2test (ones (2,2,2)); ***** error ... hotelling_t2test (ones (20,2), [0, 0], 'alpha', 1); ***** error ... hotelling_t2test (ones (20,2), [0, 0], 'alpha', -0.2); ***** error ... hotelling_t2test (ones (20,2), [0, 0], 'alpha', 'a'); ***** error ... hotelling_t2test (ones (20,2), [0, 0], 'alpha', [0.01, 0.05]); ***** error ... hotelling_t2test (ones (20,2), [0, 0], 'name', 0.01); ***** error ... hotelling_t2test (ones (20,1), [0, 0]); ***** error ... hotelling_t2test (ones (4,5), [0, 0, 0, 0, 0]); ***** error ... hotelling_t2test (ones (20,5), [0, 0, 0, 0]); ***** test randn ('seed', 1); x = randn (50000, 5); [h, pval, stats] = hotelling_t2test (x); assert_equal (h, 0); assert_equal (stats.df1, 5); assert_equal (stats.df2, 49995); ***** test randn ('seed', 1); x = randn (50000, 5); [h, pval, stats] = hotelling_t2test (x, ones (1, 5) * 10); assert_equal (h, 1); assert_equal (stats.df1, 5); assert_equal (stats.df2, 49995); 13 tests, 13 passed, 0 known failure, 0 skipped [inst/LinearModel.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/LinearModel.m ***** demo ## Simple linear regression with a single predictor. ## Ten runners record their weekly training distance and their finish ## time in a 10k race. We fit a straight line through this data and ## look at the fitted coefficients, then use predict to estimate the ## finish time for a runner who trains a distance not in the sample. Distance = [10; 15; 20; 25; 30; 35; 40; 45; 50; 55]; Time = [58; 55; 52; 50; 47; 45; 43; 41; 40; 38]; X = Distance; y = Time; ## Fit the model and inspect the estimated slope and intercept. mdl = fitlm (X, y) ## Predict the finish time for a runner training 32 km per week. ypred = predict (mdl, 32) ***** demo ## Multiple linear regression with two predictors, followed by a ## confidence interval on the coefficients. ## Thirteen coffee shops report their weekly foot traffic and the ## number of items on their menu, along with weekly revenue. We fit a ## model with both predictors, then use coefCI to see how precisely ## each coefficient is estimated. Traffic = [120; 150; 90; 200; 175; 60; 220; 140; 100; 190; 80; 210; 130]; MenuSize = [8; 12; 6; 15; 10; 5; 18; 9; 7; 14; 6; 16; 11]; Revenue = [1450; 1820; 1010; 2400; 2050; 700; 2650; 1700; 1150; ... 2300; 900; 2500; 1600]; X = [Traffic, MenuSize]; y = Revenue; ## Fit the model with both predictors together. mdl = fitlm (X, y) ## Check how tight the 95% confidence interval is on each coefficient. ci = coefCI (mdl) ***** demo ## Growing a model with addTerms and predicting with the richer model. ## We model fuel economy from the carsmall data set using weight and ## horsepower as main effects only. addTerms then brings in the ## weight-horsepower interaction without needing to refit by hand, and ## predict shows how the estimate for a new car changes once that ## interaction is included. load carsmall X = [Weight, Horsepower]; y = MPG; ## Fit the additive model first. mdl = fitlm (X, y); ## Add the interaction between weight and horsepower. mdl2 = addTerms (mdl, 'x1:x2'); ## Compare predictions from both models for the same new car. Xnew = [3200, 120]; ypred1 = predict (mdl, Xnew) ypred2 = predict (mdl2, Xnew) ***** demo ## Simplifying a model with removeTerms and comparing fit quality. ## We fit the full Hald cement model with all four ingredients, then ## use removeTerms to drop the weakest predictor and refit ## automatically. Comparing SSE before and after shows how little ## explanatory power that ingredient was actually contributing. load hald X = ingredients; y = heat; ## Fit the model with all four ingredients. mdl = fitlm (X, y); ## Drop the third ingredient and refit on the same data. mdl2 = removeTerms (mdl, 'x3'); ## Compare how much the error sum of squares changed. sse_full = mdl.SSE sse_reduced = mdl2.SSE ***** demo ## Testing a linear hypothesis and checking residual autocorrelation. ## Twelve patients are given a drug at different doses over different ## treatment durations, and a recovery score is recorded. coefTest ## checks whether the dose and duration coefficients are actually ## equal, and dwtest separately checks whether the residuals still ## carry a leftover pattern the model failed to capture. Dose = [10; 15; 20; 25; 30; 35; 12; 18; 22; 28; 32; 38]; Duration = [5; 7; 9; 11; 13; 15; 6; 8; 10; 12; 14; 16]; Recovery = [42; 48; 55; 60; 68; 74; 45; 52; 58; 65; 71; 78]; X = [Dose, Duration]; y = Recovery; mdl = fitlm (X, y); ## Test H0: the Dose and Duration coefficients are equal. H = [0 1 -1]; [p, F, r] = coefTest (mdl, H) ## Check for autocorrelation left over in the residuals. [pdw, dw] = dwtest (mdl) ***** demo ## Checking residuals against fitted values. ## We fit a mileage model on the carsmall data set using weight and ## horsepower, then plot the raw residuals against the fitted values. ## A pattern in this plot, rather than a random scatter, would suggest ## the linear model is missing some curvature in the relationship. load carsmall X = [Weight, Horsepower]; y = MPG; mdl = fitlm (X, y); plotResiduals (mdl, 'fitted') ***** demo ## Spotting influential observations with Cook's distance. ## Sixteen houses are matched by size and age to a sale price, but one ## house was sold far above what its size and age would predict. After ## fitting the model, plotDiagnostics with the cookd option highlights ## that single observation as having outsized influence on the fit. Size = [80; 95; 110; 120; 65; 140; 100; 130; 90; 150; 75; 105; ... 115; 85; 135; 125]; Age = [5; 10; 3; 8; 20; 2; 15; 6; 12; 1; 18; 9; 4; 14; 7; 11]; Price = [200; 230; 260; 280; 150; 320; 240; 300; 210; 340; 170; ... 250; 270; 190; 500; 290]; X = [Size, Age]; y = Price; mdl = fitlm (X, y); plotDiagnostics (mdl, 'cookd') ***** demo ## Comparing the size of each predictor's effect, alongside a ## hypothesis test on the model as a whole. ## We fit a mileage model on the carsmall data set using weight and ## horsepower. plotEffects draws each coefficient's estimate with its ## confidence interval side by side, and coefTest checks whether ## weight's effect is significantly different from horsepower's. load carsmall X = [Weight, Horsepower]; y = MPG; mdl = fitlm (X, y); ## Visualize the relative size of each predictor's effect. plotEffects (mdl) ## Test whether the two coefficients differ significantly. H = [0 1 -1]; [p, F, r] = coefTest (mdl, H) ***** shared mdl, X, y, n n = 20; X = [1:n; (1:n).^2]' / n; y = X * [3; -1] + 0.2 * sin ((1:n)'); mdl = fitlm (X, y); ***** test ## scalar fit-quality assert_equal (mdl.NumObservations, 20); assert_equal (mdl.NumCoefficients, 3); assert_equal (mdl.NumVariables, 3); assert_equal (mdl.NumPredictors, 2); assert_equal (mdl.NumEstimatedCoefficients, 3); assert_equal (mdl.DFE, 17); assert_equal (mdl.SSE, 0.386545331386823, 1e-9); assert_equal (mdl.SSR, 583.523874670959, 1e-6); assert_equal (mdl.SST, 583.910420002346, 1e-6); assert_equal (mdl.MSE, 0.0227379606698351, 1e-10); assert_equal (mdl.RMSE, 0.150791116017606, 1e-10); assert_equal (mdl.Rsquared.Ordinary, 0.999338005765704, 1e-10); assert_equal (mdl.Rsquared.Adjusted, 0.999260124091081, 1e-10); assert_equal (mdl.LogLikelihood, 11.0836133807695, 1e-6); assert_equal (mdl.ModelCriterion.AIC, -16.1672267615389, 1e-6); assert_equal (mdl.ModelCriterion.AICc, -14.6672267615389, 1e-6); assert_equal (mdl.ModelCriterion.BIC, -13.180029940877, 1e-6); assert_equal (mdl.ModelCriterion.CAIC, -10.180029940877, 1e-6); assert_equal (mdl.ModelFitVsNullModel.Fstat, 12831.4909842738, 1e-4); assert_equal (strcmp (mdl.ModelFitVsNullModel.NullModel, 'constant'), true); ***** test ## constant-only model: SSR is exactly zero, SSE equals SST mc = fitlm (X, y, 'constant'); assert_equal (mc.SSE, 583.910420002346, 1e-6); assert_equal (mc.SSR, 0, 1e-12); assert_equal (mc.SSE, mc.SST, 1e-12); ***** test ## coefficient estimates, SE, tStat, names, covariance, schema assert_equal (mdl.Coefficients.Estimate, [0.1161886778; 2.508451491; -0.9788353298], 1e-7); assert_equal (mdl.Coefficients.SE, [0.112185831; 0.4920818186; 0.02276108523], 1e-8); assert_equal (mdl.Coefficients.tStat, [1.035680502; 5.097630913; -43.00477415], 1e-6); assert_equal (all (mdl.Coefficients.pValue >= 0 & mdl.Coefficients.pValue <= 1), true); assert_equal (isequal (mdl.CoefficientNames, {'(Intercept)', 'x1', 'x2'}), true); assert_equal (isequal (mdl.CoefficientNames, mdl.Coefficients.Properties.RowNames(:)'), true); assert_equal (size (mdl.CoefficientCovariance), [3, 3]); assert_equal (diag (mdl.CoefficientCovariance), [0.0125857; 0.242145; 0.000518067], 1e-6); assert_equal (width (mdl.Coefficients), 4); assert_equal (isequal (mdl.Coefficients.Properties.VariableNames, ... {'Estimate','SE','tStat','pValue'}), true); ***** test ## fitted values, predict(), residual columns (obs 1-3), schema assert_equal (mdl.Fitted, y - mdl.Residuals.Raw, 1e-10); yp = predict (mdl, X); assert_equal (size (yp), [20, 1]); assert_equal (yp(1), 0.192669485827491, 1e-10); assert_equal (yp(2), 0.171266760882256, 1e-10); assert_equal (mdl.Residuals.Raw(1:3), [0.075624711134088; 0.110592724482880; -0.023756501342530], 1e-10); assert_equal (mdl.Residuals.Pearson(1:3), [0.501519672586403; 0.733416711830473; -0.157545762442370], 1e-9); assert_equal (mdl.Residuals.Standardized(1:3), [0.632246516521578; 0.844226394951239; -0.172381368754725], 1e-8); assert_equal (mdl.Residuals.Studentized(1:3), [0.620710275056923; 0.836747864205268; -0.167380843634378], 1e-6); assert_equal (width (mdl.Residuals), 4); assert_equal (isequal (mdl.Residuals.Properties.VariableNames, ... {'Raw','Pearson','Studentized','Standardized'}), true); ***** test ## diagnostics H = mdl.Diagnostics.HatMatrix; assert_equal (size (H), [20, 20]); assert_equal (H, H', 1e-10); assert_equal (H * H, H, 1e-8); assert_equal (H(1,1), 0.370779220779221, 1e-10); assert_equal (H(1,2), 0.298051948051948, 1e-10); assert_equal (mdl.Diagnostics.Leverage(1:3), [0.370779220779221; 0.245283663704716; 0.164718614718615], 1e-10); assert_equal (mdl.Diagnostics.CooksDistance(1:3), [0.078517048682575; 0.077211407930332; 0.001953301452841], 1e-8); assert_equal (mdl.Diagnostics.S2_i(1:3), [0.023591009857798; 0.023146223303229; 0.024116854077430], 1e-8); assert_equal (mdl.Diagnostics.CovRatio(1:3), [1.774933176573401; 1.397661919176034; 1.428481535363283], 1e-6); assert_equal (mdl.Diagnostics.Dffits(1:3), [0.476480465355394; 0.477020506700835; -0.074329411030064], 1e-6); assert_equal (size (mdl.Diagnostics.Dfbetas), [20, 3]); assert_equal (width (mdl.Diagnostics), 7); assert_equal (isequal (mdl.Diagnostics.Properties.VariableNames, ... {'Leverage','CooksDistance','Dffits','S2_i', ... 'CovRatio','Dfbetas','HatMatrix'}), true); ***** test ## ObservationInfo, VariableInfo, names, Formula, Variables assert_equal (width (mdl.ObservationInfo), 4); assert_equal (height (mdl.ObservationInfo), 20); assert_equal (isequal (mdl.ObservationInfo.Properties.VariableNames, ... {'Weights','Excluded','Missing','Subset'}), true); assert_equal (all (mdl.ObservationInfo.Weights == 1), true); assert_equal (all (mdl.ObservationInfo.Subset == ... (! mdl.ObservationInfo.Missing & ! mdl.ObservationInfo.Excluded)), true); assert_equal (width (mdl.VariableInfo), 4); assert_equal (height (mdl.VariableInfo), 3); assert_equal (isequal (mdl.VariableInfo.Properties.VariableNames, ... {'Class','Range','InModel','IsCategorical'}), true); assert_equal (mdl.VariableInfo.InModel(strcmp (mdl.VariableNames, 'y')), false); assert_equal (all (mdl.VariableInfo.InModel(! strcmp (mdl.VariableNames, 'y'))), true); assert_equal (mdl.ResponseName, 'y'); assert_equal (isequal (mdl.PredictorNames, {'x1','x2'}), true); assert_equal (isequal (mdl.VariableNames, {'x1','x2','y'}), true); assert_equal (mdl.Formula.HasIntercept, true); assert_equal (mdl.Formula.LinearPredictor, '1 + x1 + x2'); assert_equal (mdl.Formula.NTerms, 3); assert_equal (strcmp (mdl.Variables.Properties.VariableNames{end}, 'y'), true); ***** test ## NaN in predictor drops the row from the fit X2 = X; X2(2,1) = NaN; m = fitlm (X2, y); assert_equal (m.NumObservations, 19); assert_equal (m.ObservationInfo.Missing(2), true); assert_equal (m.ObservationInfo.Subset(2), false); assert_equal (isnan (m.Fitted(2)), true); assert_equal (m.SSE, 0.370339572851658, 1e-9); assert_equal (m.SST, 547.616796178045, 1e-6); assert_equal (m.Coefficients.Estimate, ... [0.0641300185953764; 2.68263140079657; -0.985345792254554], 1e-7); yp = predict (m, X2); assert_equal (isnan (yp(2)), true); assert_equal (! isnan (yp(1)), true); assert_equal (size (m.Diagnostics.HatMatrix), [20, 20]); assert_equal (m.Diagnostics.Leverage(1), 0.488485648300892, 1e-8); assert_equal (m.Diagnostics.CooksDistance(1), 0.38266162627176, 1e-6); ***** test ## NaN in response drops the row but predict still works normally since X has no NaN y3 = y; y3(5) = NaN; m = fitlm (X, y3); assert_equal (m.NumObservations, 19); assert_equal (m.ObservationInfo.Missing(5), true); assert_equal (isnan (m.Fitted(5)), true); assert_equal (m.SSE, 0.337042910721425, 1e-9); assert_equal (m.SST, 558.654961265991, 1e-6); assert_equal (m.Coefficients.Estimate, ... [0.145131680993155; 2.4865383021829; -0.979635081226208], 1e-7); yp = predict (m, X); assert_equal (yp(5), -0.45777759499388, 1e-8); assert_equal (yp(1), 0.22047684204099, 1e-8); assert_equal (size (m.Diagnostics.HatMatrix), [20, 20]); assert_equal (m.Diagnostics.Leverage(1), 0.386399650026734, 1e-8); ***** test ## multiple NaN rows drop all affected observations from the fit X4 = X; X4([2,8,14],2) = NaN; m = fitlm (X4, y); assert_equal (sum (m.ObservationInfo.Missing), 3); assert_equal (m.NumObservations, 17); assert_equal (m.SSE, 0.261285495635633, 1e-9); assert_equal (m.SSR, 527.635694805749, 1e-6); assert_equal (m.SST, 527.896980301385, 1e-6); assert_equal (m.Coefficients.Estimate, ... [0.0986395043600395; 2.3735792982821; -0.97106191310122], 1e-7); assert_equal (size (m.Diagnostics.HatMatrix), [20, 20]); assert_equal (sum (m.Diagnostics.Leverage), 3, 1e-8); ***** test ## exclude by index and exclude by logical vector give identical results m = fitlm (X, y, 'Exclude', [3, 7]); excl = false (n, 1); excl([3, 7]) = true; m2 = fitlm (X, y, 'Exclude', excl); assert_equal (m.NumObservations, 18); assert_equal (sum (m.ObservationInfo.Excluded), 2); assert_equal (isnan (m.Fitted(3)) && isnan (m.Fitted(7)), true); assert_equal (m.Coefficients.Estimate, m2.Coefficients.Estimate, 1e-12); assert_equal (m.Coefficients.Estimate, ... [0.118938102486219; 2.43606890944554; -0.974833228191174], 1e-7); ype = predict (m); assert_equal (size (ype), [20, 1]); assert_equal (! isnan (ype(3)) && ! isnan (ype(7)), true); [~, yci] = predict (m); assert_equal (yci(1,1), -0.0283122762458446, 1e-10); assert_equal (yci(1,2), 0.412312049343719, 1e-10); assert_equal (size (m.Diagnostics.HatMatrix), [20, 20]); assert_equal (m.Diagnostics.Leverage(1), 0.437780279893411, 1e-8); assert_equal (m.Diagnostics.CooksDistance(1), 0.110112457355807, 1e-7); ***** test ## NaN and exclude together remove both the missing and the excluded row X6 = X; X6(1,1) = NaN; m = fitlm (X6, y, 'Exclude', [2]); assert_equal (m.NumObservations, 18); assert_equal (m.ObservationInfo.Missing(1), true); assert_equal (m.ObservationInfo.Excluded(2), true); assert_equal (m.SSE, 0.342515396265007, 1e-9); assert_equal (m.Coefficients.Estimate, ... [-0.0735450184226009; 3.17679029176988; -1.0045827469016], 1e-7); ***** test ## weighted least squares produces different SSE and stores the weights w = abs (sin ((1:n)')) + 0.1; m = fitlm (X, y, 'Weights', w); assert_equal (m.SSE, 0.363519720897775, 1e-10); assert_equal (m.ObservationInfo.Weights, w, 1e-15); assert_equal (m.SST, 4.419834786423099e+02, 1e-8); [yp, yci] = predict (m, [0.5 0.25; 1.0 1.0]); assert_equal (yp(1), 1.106748776307639, 1e-10); assert_equal (yp(2), 1.593185531572655, 1e-10); assert_equal (yci(1,1), 0.763985050242272, 1e-10); assert_equal (yci(1,2), 1.449512502373006, 1e-10); assert_equal (m.Diagnostics.Leverage(1), 0.421642939812731, 1e-8); assert_equal (m.Diagnostics.Leverage(2), 0.301314342928707, 1e-8); assert_equal (m.Diagnostics.HatMatrix(1,1), 0.421642939812731, 1e-8); assert_equal (m.Diagnostics.CooksDistance(1), 0.0728569335883748, 1e-7); assert_equal (m.Diagnostics.CovRatio(1), 1.96611264276187, 1e-6); ***** test ## uniform weights scale internals but leave point estimates unchanged m = fitlm (X, y, 'Weights', 2 * ones (n, 1)); assert_equal (m.Coefficients.Estimate, mdl.Coefficients.Estimate, 1e-10); ***** test ## constant linear and default modelspecs behave as expected m = fitlm (X, y, 'constant'); assert_equal (m.NumCoefficients, 1); assert_equal (m.CoefficientNames{1}, '(Intercept)'); m2 = fitlm (X, y, 'linear'); m3 = fitlm (X, y, []); assert_equal (m2.NumCoefficients, 3); assert_equal (m2.Coefficients.Estimate, mdl.Coefficients.Estimate, 1e-12); assert_equal (m3.Coefficients.Estimate, mdl.Coefficients.Estimate, 1e-12); ***** test ## purequadratic modelspec produces the expected term count m = fitlm (X, y, 'purequadratic'); assert_equal (m.NumCoefficients, 5); ***** test ## interactions modelspec term count and coefficients are verified m = fitlm (X, y, 'interactions'); assert_equal (m.NumCoefficients, 4); assert_equal (m.SSE, 0.383859187927621, 1e-9); assert_equal (m.Coefficients.Estimate, ... [0.157640728038039; 2.08542680311791; -0.929682701072813; -0.031208018255475], 1e-7); ***** test ## quadratic modelspec is rank deficient for this design and drops one coefficient m = fitlm (X, y, 'quadratic'); assert_equal (m.NumCoefficients, 6); assert_equal (m.SSE, 0.315784637443501, 1e-9); assert_equal (m.Coefficients.Estimate, ... [0.447436249544699; -2.44859403731902; -0.0121968798776254; ... -1.36755100280532; 0; 0.0318176901083297], 1e-7); drop = find (m.Coefficients.SE == 0); assert_equal (numel (drop), 1); assert_equal (isnan (m.Coefficients.tStat(drop)), true); ***** test ## full modelspec with two predictors matches interactions exactly m = fitlm (X, y, 'full'); m2 = fitlm (X, y, 'interactions'); assert_equal (m.NumCoefficients, 4); assert_equal (m.Coefficients.Estimate, m2.Coefficients.Estimate, 1e-10); assert_equal (m.Coefficients.Estimate, ... [0.157640728038039; 2.08542680311791; -0.929682701072813; -0.031208018255475], 1e-7); ***** test ## full modelspec with three predictors includes the three way interaction term X3 = [X, cos((1:n)' * pi / n)]; m = fitlm (X3, y, 'full'); assert_equal (m.NumCoefficients, 8); assert_equal (any (strcmp (m.CoefficientNames, 'x1:x2:x3')), true); assert_equal (m.SSE, 0.231331066631196, 1e-8); idx3 = find (strcmp (m.CoefficientNames, 'x1:x2:x3')); assert_equal (m.Coefficients.Estimate(idx3), 0.514890561912964, 1e-6); ***** test ## full modelspec without an intercept drops the intercept coefficient m = fitlm (X, y, 'full', 'Intercept', false); assert_equal (m.NumCoefficients, 3); assert_equal (! any (strcmp (m.CoefficientNames, '(Intercept)')), true); assert_equal (m.Coefficients.Estimate, ... [3.232987312533958; -1.041484635851565; 0.0324190990982863], 1e-7); ***** test ## a p column terms matrix produces a model with no intercept m = fitlm (X, y, [1 0; 0 1]); assert_equal (m.NumCoefficients, 2); assert_equal (! any (strcmp (m.CoefficientNames, '(Intercept)')), true); assert_equal (m.Coefficients.Estimate, [2.96142161317611; -0.997248749443286], 1e-7); ***** test ## a p plus one column terms matrix produces a model with an intercept m = fitlm (X, y, [0 0 0; 1 0 0; 0 1 0]); assert_equal (m.NumCoefficients, 3); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.Coefficients.Estimate, ... [0.116188677790207; 2.50845149057086; -0.978835329825186], 1e-7); ***** test ## a table with a Wilkinson formula fits the same model and predicts on a table T = table (X(:,1), X(:,2), y, 'VariableNames', {'a','b','resp'}); m = fitlm (T, 'resp ~ a + b'); assert_equal (m.NumCoefficients, 3); assert_equal (m.ResponseName, 'resp'); assert_equal (m.Coefficients.Estimate, mdl.Coefficients.Estimate, 1e-8); Xt = table ([0.5;1.0], [0.25;1.0], 'VariableNames', {'a','b'}); yp = predict (m, Xt); assert_equal (yp(1), 1.125705590619342, 1e-10); assert_equal (yp(2), 1.645804838535884, 1e-10); ***** test ## a matrix with a Wilkinson formula string fits the same model as the matrix alone m = fitlm (X, y, 'y ~ x1 + x2'); assert_equal (m.NumCoefficients, 3); assert_equal (m.Coefficients.Estimate, mdl.Coefficients.Estimate, 1e-8); ***** test ## a table input with the default formula fits the same model as the matrix T3 = table (X(:,1), X(:,2), y, 'VariableNames', {'x1','x2','y'}); m = fitlm (T3); assert_equal (m.ResponseName, 'y'); assert_equal (m.Coefficients.Estimate, mdl.Coefficients.Estimate, 1e-8); ***** test ## VarNames sets custom names and ResponseVar overrides the response name m = fitlm (X, y, 'VarNames', {'alpha','beta','resp'}); assert_equal (m.ResponseName, 'resp'); assert_equal (isequal (m.PredictorNames, {'alpha','beta'}), true); assert_equal (any (strcmp (m.CoefficientNames, 'alpha')), true); assert_equal (any (strcmp (m.CoefficientNames, 'beta')), true); m2 = fitlm (X, y, 'VarNames', {'a','b','r'}, 'ResponseVar', 'r'); assert_equal (m2.ResponseName, 'r'); ***** test ## a rank deficient design matrix leaves the dropped coefficients as NaN across the board X_rd = [ones(n,1), X, X(:,1)+X(:,2)]; m = fitlm (X_rd, y); assert_equal (m.NumCoefficients, 5); assert_equal (m.NumEstimatedCoefficients, 3); drop = find (m.Coefficients.SE == 0); assert_equal (numel (drop), 2); assert_equal (all (isnan (m.Coefficients.tStat(drop))), true); assert_equal (all (isnan (m.Coefficients.pValue(drop))), true); assert_equal (m.SST, 5.839104200023459e+02, 1e-8); assert_equal (all (all (m.CoefficientCovariance(drop,:) == 0)), true); yp = predict (m, X_rd); assert_equal (size (yp), [n, 1]); assert_equal (! any (isnan (yp)), true); assert_equal (size (m.Diagnostics.Dfbetas), [20, 5]); assert_equal (all (isnan (m.Diagnostics.Dfbetas(:, drop)(:))), true); assert_equal (m.Diagnostics.Leverage(1), 0.370779220779221, 1e-8); ***** test ## Intercept=false mni = fitlm (X, y, 'Intercept', false); assert_equal (mni.NumCoefficients, 2); assert_equal (mni.Formula.HasIntercept, false); assert_equal (! any (strcmp (mni.CoefficientNames, '(Intercept)')), true); [yp, yci] = predict (mni, [0.5 0.25; 1.0 1.0]); assert_equal (yp(1), 1.231398619227234, 1e-10); assert_equal (yp(2), 1.964172863732825, 1e-10); assert_equal (yci(1,1), 1.001262470857215, 1e-10); ***** test ## p-column terms matrix m_p = fitlm (X, y, [1 0; 0 1]); assert_equal (m_p.NumCoefficients, 2); assert_equal (! any (strcmp (m_p.CoefficientNames, '(Intercept)')), true); ***** test ## p+1 column terms matrix m_p1 = fitlm (X, y, [0 0 0; 1 0 0; 0 1 0]); assert_equal (m_p1.NumCoefficients, 3); assert_equal (m_p1.CoefficientNames{1}, '(Intercept)'); ***** test ## table Wilkinson formula T = table (X(:,1), X(:,2), y, 'VariableNames', {'a','b','resp'}); mf = fitlm (T, 'resp ~ a + b'); assert_equal (mf.NumCoefficients, 3); assert_equal (mf.ResponseName, 'resp'); assert_equal (mf.Coefficients.Estimate, mdl.Coefficients.Estimate, 1e-8); Xt = table ([0.5;1.0], [0.25;1.0], 'VariableNames', {'a','b'}); yp = predict (mf, Xt); assert_equal (yp(1), 1.125705590619342, 1e-10); assert_equal (yp(2), 1.645804838535884, 1e-10); ***** test ## matrix Wilkinson formula mfm = fitlm (X, y, 'y ~ x1 + x2'); assert_equal (mfm.NumCoefficients, 3); assert_equal (mfm.Coefficients.Estimate, mdl.Coefficients.Estimate, 1e-8); ***** test ## table default T3 = table (X(:,1), X(:,2), y, 'VariableNames', {'x1','x2','y'}); mt = fitlm (T3); assert_equal (mt.ResponseName, 'y'); assert_equal (mt.Coefficients.Estimate, mdl.Coefficients.Estimate, 1e-8); ***** test ## VarNames sets custom names vn = fitlm (X, y, 'VarNames', {'alpha','beta','resp'}); assert_equal (vn.ResponseName, 'resp'); assert_equal (isequal (vn.PredictorNames, {'alpha','beta'}), true); assert_equal (any (strcmp (vn.CoefficientNames, 'alpha')), true); assert_equal (any (strcmp (vn.CoefficientNames, 'beta')), true); ***** test ## ResponseVar overrides VarNames rv = fitlm (X, y, 'VarNames', {'a','b','r'}, 'ResponseVar', 'r'); assert_equal (rv.ResponseName, 'r'); ***** test ## rank-deficient matrix X_rd = [ones(n,1), X, X(:,1)+X(:,2)]; m_rd = fitlm (X_rd, y); assert_equal (m_rd.NumCoefficients, 5); assert_equal (m_rd.NumEstimatedCoefficients, 3); drop = find (m_rd.Coefficients.SE == 0); assert_equal (numel (drop), 2); assert_equal (all (isnan (m_rd.Coefficients.tStat(drop))), true); assert_equal (all (isnan (m_rd.Coefficients.pValue(drop))), true); assert_equal (m_rd.SST, 5.839104200023459e+02, 1e-8); assert_equal (all (all (m_rd.CoefficientCovariance(drop,:) == 0)), true); yp = predict (m_rd, X_rd); assert_equal (size (yp), [n, 1]); assert_equal (! any (isnan (yp)), true); assert_equal (yp(1:5), [0.192669485827486; 0.171266760882252; ... 0.0519805029545; -0.165189287955771; ... -0.480242611848561], 1e-10); ***** test ## predict: ypred and default CI at new points [yp, yci] = predict (mdl, [0.5 0.25; 1.0 1.0]); assert_equal (yp(1), 1.125705590619347, 1e-10); assert_equal (yp(2), 1.645804838535894, 1e-10); assert_equal (yci(1,1), 0.810180780547215, 1e-10); assert_equal (yci(1,2), 1.441230400691478, 1e-10); assert_equal (yci(2,1), 0.858229321851723, 1e-10); assert_equal (yci(2,2), 2.433380355220066, 1e-10); ***** test ## predict: observation interval [~, yci] = predict (mdl, [0.5 0.25; 1.0 1.0], 'Prediction', 'observation'); assert_equal (yci(1,1), 0.677632064105988, 1e-10); assert_equal (yci(1,2), 1.573779117132706, 1e-10); ***** test ## predict: alpha 0.01 [~, yci] = predict (mdl, [0.5 0.25; 1.0 1.0], 'Alpha', 0.01); assert_equal (yci(1,1), 0.692272619570008, 1e-10); assert_equal (yci(1,2), 1.559138561668685, 1e-10); ***** test ## predict: simultaneous CI [~, yci] = predict (mdl, [0.5 0.25; 1.0 1.0], 'Simultaneous', true); assert_equal (yci(1,1), 0.662572505689338, 1e-10); assert_equal (yci(1,2), 1.588838675549355, 1e-10); ***** test ## predict: no Xnew returns all rows including training [yp, yci] = predict (mdl); assert_equal (size (yp), [20, 1]); assert_equal (size (yci), [20, 2]); assert_equal (yp(1), 0.192669485827490, 1e-10); assert_equal (yp(2), 0.171266760882255, 1e-10); assert_equal (yci(1,1), -0.001052067982566, 1e-10); assert_equal (yci(1,2), 0.386391039637546, 1e-10); ***** test ## predict: NaN predictor propagates to NaN output and CI [yp, yci] = predict (mdl, [0.5 0.25; NaN 1.0; 1.0 1.0]); assert_equal (yp(1), 1.125705590619347, 1e-10); assert_equal (isnan (yp(2)), true); assert_equal (yp(3), 1.645804838535894, 1e-10); assert_equal (isnan (yci(2,1)), true); assert_equal (isnan (yci(2,2)), true); ***** test ## predict: categorical model predictions at group centres Xc = [1;1;1;2;2;2;3;3;3]; yc = [2.1;2.3;1.9; 4.1;3.9;4.2; 6.3;5.8;6.1]; m_cat = fitlm (Xc, yc, 'linear', 'CategoricalVars', 1); [yp, yci] = predict (m_cat, [1;2;3]); assert_equal (yp(1), 2.099999999999998, 1e-10); assert_equal (yp(2), 4.066666666666667, 1e-10); assert_equal (yp(3), 6.066666666666666, 1e-10); assert_equal (yci(1,1), 1.80971256321669, 1e-10); assert_equal (yci(1,2), 2.3902874367833, 1e-10); assert_equal (yci(2,1), 3.77637922988336, 1e-10); assert_equal (yci(2,2), 4.35695410344997, 1e-10); assert_equal (yci(3,1), 5.77637922988336, 1e-10); assert_equal (yci(3,2), 6.35695410344997, 1e-10); ***** test ## predict: interaction model [yp, yci] = predict (fitlm (X, y, 'interactions'), [0.5 0.25; 1.0 1.0]); assert_equal (yp(1), 0.964032452046850, 1e-10); assert_equal (yp(2), 1.282176811827644, 1e-10); assert_equal (yci(1,1), -0.110763003580605, 1e-10); assert_equal (yci(1,2), 2.038827907674306, 1e-10); ***** test ## predict: weighted model, ypred and CI w = (1:n)' / sum (1:n); mw = fitlm (X, y, 'Weights', w); [yp, yci] = predict (mw, [0.5 0.25; 1.0 1.0]); assert_equal (yp(1), 1.15833357370544, 1e-10); assert_equal (yp(2), 1.74408669002694, 1e-10); assert_equal (yci(1,1), 0.802165170771357, 1e-10); assert_equal (yci(1,2), 1.51450197663953, 1e-10); assert_equal (yci(2,1), 0.69968979253134, 1e-10); assert_equal (yci(2,2), 2.78848358752254, 1e-10); ***** test ## predict: no-intercept model, ypred and CI mni = fitlm (X, y, 'Intercept', false); [yp, yci] = predict (mni, [0.5 0.25; 1.0 1.0]); assert_equal (yp(1), 1.23139861922723, 1e-10); assert_equal (yp(2), 1.96417286373283, 1e-10); assert_equal (yci(1,1), 1.00126247085704, 1e-10); assert_equal (yci(1,2), 1.46153476759743, 1e-10); assert_equal (yci(2,1), 1.51833851162232, 1e-10); assert_equal (yci(2,2), 2.41000721584333, 1e-10); ***** test ## predict: observation interval combined with simultaneous bound [~, yci] = predict (mdl, [0.5 0.25; 1.0 1.0], ... 'Prediction', 'observation', 'Simultaneous', true); assert_equal (yci(1,1), 0.46801507632267, 1e-10); assert_equal (yci(1,2), 1.78339610491601, 1e-10); assert_equal (yci(2,1), 0.399032373599106, 1e-10); assert_equal (yci(2,2), 2.89257730347266, 1e-10); ***** test ## output is 2x1 double column vector ysim = random (mdl, [0.5, 0.25; 1.0, 1.0]); assert_equal (size (ysim), [2, 1]); assert_equal (class (ysim), 'double'); assert_equal (iscolumn (ysim), true); ***** test ## single row input gives 1x1 output assert_equal (size (random (mdl, [0.5, 0.25])), [1, 1]); ***** test ## predict values are exact and noise added is finite ypred = predict (mdl, [0.5, 0.25; 1.0, 1.0]); ysim = random (mdl, [0.5, 0.25; 1.0, 1.0]); assert_equal (ypred(1), 1.125705590619342, 1e-10); assert_equal (ypred(2), 1.645804838535884, 1e-10); assert_equal (all (isfinite (ysim - ypred)), true); ***** test ## NaN predictor row gives NaN output, other rows stay finite ysim = random (mdl, [0.5, 0.25; NaN, 1.0; 1.0, 1.0]); assert_equal (size (ysim), [3, 1]); assert_equal (isfinite (ysim(1)), true); assert_equal (isnan (ysim(2)), true); assert_equal (isfinite (ysim(3)), true); ***** test ## two sequential calls produce different output ya = random (mdl, [0.5, 0.25]); yb = random (mdl, [0.5, 0.25]); assert_equal (! isequal (ya, yb), true); ***** test ## random: table input, full training data, weighted and no-intercept ## models all give finite output of the expected size Xt = table ([0.5;1.0], [0.25;1.0], 'VariableNames', {'x1','x2'}); mw = fitlm (X, y, 'Weights', (1:n)' / sum (1:n)); mni = fitlm (X, y, 'Intercept', false); assert_equal (size (random (mdl, Xt)), [2, 1]); assert_equal (all (isfinite (random (mdl, Xt))), true); assert_equal (size (random (mdl, X)), [20, 1]); assert_equal (sum (isnan (random (mdl, X))), 0); assert_equal (all (isfinite (random (mw, [0.5, 0.25; 1.0, 1.0]))), true); assert_equal (all (isfinite (random (mni, [0.5, 0.25; 1.0, 1.0]))), true); ***** test yf = feval (mdl, [0.5 0.25; 1.0 1.0; 0.2 0.04]); assert_equal (size (yf), [3, 1]); assert_equal (class (yf), 'double'); assert_equal (yf(1), 1.125705590619342, 1e-10); assert_equal (yf(2), 1.645804838535884, 1e-10); assert_equal (yf(3), 0.578725562711373, 1e-10); assert_equal (yf, predict (mdl, [0.5 0.25; 1.0 1.0; 0.2 0.04]), 1e-10); ***** test yf = feval (mdl, [0.5; 1.0; 0.2], [0.25; 1.0; 0.04]); assert_equal (size (yf), [3, 1]); assert_equal (iscolumn (yf), true); assert_equal (yf, predict (mdl, [0.5 0.25; 1.0 1.0; 0.2 0.04]), 1e-10); ***** test yf = feval (mdl, [0.5, 1.0, 0.2], [0.25, 1.0, 0.04]); assert_equal (size (yf), [1, 3]); assert_equal (isrow (yf), true); assert_equal (yf(:), predict (mdl, [0.5 0.25; 1.0 1.0; 0.2 0.04]), 1e-10); ***** test yf = feval (mdl, 0.5, 0.25); assert_equal (size (yf), [1, 1]); assert_equal (yf, 1.125705590619342, 1e-10); assert_equal (yf, predict (mdl, [0.5 0.25]), 1e-10); ***** test yf = feval (mdl, 0.5, [0.1; 0.2; 0.3]); assert_equal (size (yf), [3, 1]); assert_equal (yf(1), 1.272530890093120, 1e-10); assert_equal (yf(2), 1.174647357110602, 1e-10); assert_equal (yf(3), 1.076763824128083, 1e-10); assert_equal (yf, predict (mdl, [0.5 0.1; 0.5 0.2; 0.5 0.3]), 1e-10); ***** test yf = feval (mdl, [0.1; 0.5; 0.9], 0.25); assert_equal (size (yf), [3, 1]); assert_equal (yf(1), 0.122324994390997, 1e-10); assert_equal (yf(2), 1.125705590619342, 1e-10); assert_equal (yf(3), 2.129086186847688, 1e-10); assert_equal (yf, predict (mdl, [0.1 0.25; 0.5 0.25; 0.9 0.25]), 1e-10); ***** test m = fitlm ((1:n)' / n, 2 * (1:n)' / n + 0.1 * sin ((1:n)')); assert_equal (size (feval (m, 0.5)), [1, 1]); assert_equal (size (feval (m, [0.3; 0.5; 0.9])), [3, 1]); assert_equal (feval (m, 0.5), predict (m, 0.5), 1e-10); assert_equal (feval (m, [0.3; 0.5; 0.9]), predict (m, [0.3; 0.5; 0.9]), 1e-10); ***** test T = table ([0.5; 1.0; 0.2], [0.25; 1.0; 0.04], 'VariableNames', {'x1', 'x2'}); yf = feval (mdl, T); assert_equal (size (yf), [3, 1]); assert_equal (yf, predict (mdl, [0.5 0.25; 1.0 1.0; 0.2 0.04]), 1e-10); ***** test yf = feval (mdl, [0.5 0.25; NaN 1.0; 1.0 1.0]); assert_equal (isfinite (yf(1)), true); assert_equal (isnan (yf(2)), true); assert_equal (isfinite (yf(3)), true); ***** test yf = feval (mdl, [0.5; NaN; 1.0], [0.25; 1.0; 1.0]); assert_equal (isnan (yf(2)), true); yf = feval (mdl, [0.5; 1.0; 1.0], [0.25; NaN; 1.0]); assert_equal (isnan (yf(2)), true); ***** test yf = feval (mdl, X); assert_equal (size (yf), [20, 1]); assert_equal (yf, mdl.Fitted, 1e-10); ***** test m = fitlm (X, y, 'Intercept', false); yf = feval (m, [0.5 0.25; 1.0 1.0]); assert_equal (yf, predict (m, [0.5 0.25; 1.0 1.0]), 1e-10); assert_equal (feval (m, [0.5; 1.0], [0.25; 1.0]), yf, 1e-10); ***** test m = fitlm (X, y, 'interactions'); yf = feval (m, [0.5 0.25; 1.0 1.0]); assert_equal (yf, predict (m, [0.5 0.25; 1.0 1.0]), 1e-10); assert_equal (feval (m, [0.5; 1.0], [0.25; 1.0]), yf, 1e-10); ***** test m = fitlm ([1;1;1;2;2;2;3;3;3], [2.1;2.3;1.9;4.1;3.9;4.2;6.3;5.8;6.1], ... 'linear', 'CategoricalVars', 1); yf = feval (m, [1; 2; 3]); assert_equal (yf(1), 2.099999999999998, 1e-10); assert_equal (yf(2), 4.066666666666667, 1e-10); assert_equal (yf(3), 6.066666666666666, 1e-10); ***** test ci = coefCI (mdl); assert_equal (size (ci), [3, 2]); assert_equal (class (ci), 'double'); assert_equal (all (ci(:,1) < ci(:,2)), true); assert_equal (ci(1,1), -0.120502736154050, 1e-10); assert_equal (ci(1,2), 0.352880091734465, 1e-10); assert_equal (ci(2,1), 1.470249604061007, 1e-10); assert_equal (ci(2,2), 3.546653377080718, 1e-10); assert_equal (ci(3,1), -1.026857022014626, 1e-10); assert_equal (ci(3,2), -0.930813637635746, 1e-10); ***** test ## midpoints equal estimates ci = coefCI (mdl); t = tinv (0.975, mdl.DFE); assert_equal ((ci(:,1) + ci(:,2)) / 2, mdl.Coefficients.Estimate, 1e-10); assert_equal (ci(:,2) - ci(:,1), 2 * t * mdl.Coefficients.SE, 1e-10); ***** test assert_equal (coefCI (mdl, 0.05), coefCI (mdl)); ***** test ci = coefCI (mdl); ci01 = coefCI (mdl, 0.01); t01 = tinv (0.995, mdl.DFE); assert_equal (size (ci01), [3, 2]); assert_equal (ci01(1,1), -0.208951721610638, 1e-10); assert_equal (ci01(1,2), 0.441329077191052, 1e-10); assert_equal (ci01(2,1), 1.08228494564489, 1e-10); assert_equal (ci01(2,2), 3.934618035496833, 1e-10); assert_equal (ci01(3,1), -1.044802201703589, 1e-10); assert_equal (ci01(3,2), -0.912868457946783, 1e-10); assert_equal (all ((ci01(:,2) - ci01(:,1)) > (ci(:,2) - ci(:,1))), true); assert_equal (ci01(:,2) - ci01(:,1), 2 * t01 * mdl.Coefficients.SE, 1e-10); ***** test ci0 = coefCI (mdl, 0); assert_equal (all (ci0(:,1) == -Inf), true); assert_equal (all (ci0(:,2) == +Inf), true); ***** test ## alpha=1 collapses to point estimates ci1 = coefCI (mdl, 1); assert_equal (ci1(:,1), mdl.Coefficients.Estimate, 1e-10); assert_equal (ci1(:,2), mdl.Coefficients.Estimate, 1e-10); ***** test m = fitlm (X, y, 'Intercept', false); ci = coefCI (m); t = tinv (0.975, m.DFE); assert_equal (size (ci), [2, 2]); assert_equal (ci(1,1), 2.486679110991696, 1e-10); assert_equal (ci(1,2), 3.436164115360526, 1e-10); assert_equal (ci(2,1), -1.027166590567854, 1e-10); assert_equal (ci(2,2), -0.967330908318718, 1e-10); assert_equal ((ci(:,1) + ci(:,2)) / 2, m.Coefficients.Estimate, 1e-10); assert_equal (ci(:,2) - ci(:,1), 2 * t * m.Coefficients.SE, 1e-10); ***** test m = fitlm (X, y, 'interactions'); ci = coefCI (m); t = tinv (0.975, m.DFE); assert_equal (size (ci), [4, 2]); assert_equal (ci(1,1), -0.201030907566802, 1e-10); assert_equal (ci(1,2), 0.516312363642881, 1e-10); assert_equal ((ci(:,1) + ci(:,2)) / 2, m.Coefficients.Estimate, 1e-10); assert_equal (ci(:,2) - ci(:,1), 2 * t * m.Coefficients.SE, 1e-10); ***** test ## constant model (1 coefficient) m = fitlm (X, y, 'constant'); ci = coefCI (m); t = tinv (0.975, m.DFE); assert_equal (size (ci), [1, 2]); assert_equal ((ci(1,1) + ci(1,2)) / 2, m.Coefficients.Estimate, 1e-10); assert_equal (ci(1,2) - ci(1,1), 2 * t * m.Coefficients.SE, 1e-10); ***** test m = fitlm (X, y, 'Weights', (1:n)' / sum (1:n)); ci = coefCI (m); t = tinv (0.975, m.DFE); assert_equal (size (ci), [3, 2]); assert_equal (ci(1,1), -0.355978167660141, 1e-10); assert_equal (ci(1,2), 0.516619434992026, 1e-10); assert_equal ((ci(:,1) + ci(:,2)) / 2, m.Coefficients.Estimate, 1e-10); assert_equal (ci(:,2) - ci(:,1), 2 * t * m.Coefficients.SE, 1e-10); ***** test ## rank-deficient: dropped rows give [0,0], active rows are finite m = fitlm ([ones(n,1), X, X(:,1)+X(:,2)], y); ci = coefCI (m); drop = find (m.Coefficients.SE == 0); assert_equal (size (ci), [5, 2]); assert_equal (all (all (ci(drop, :) == 0)), true); assert_equal (all (all (isfinite (ci(setdiff (1:5, drop'), :)))), true); ***** test m = fitlm ([1;1;1;2;2;2;3;3;3], [2.1;2.3;1.9;4.1;3.9;4.2;6.3;5.8;6.1], ... 'linear', 'CategoricalVars', 1); ci = coefCI (m); assert_equal (size (ci), [3, 2]); assert_equal (ci(1,1), 1.80971256321669, 1e-10); assert_equal (ci(1,2), 2.3902874367833, 1e-10); assert_equal (ci(2,1), 1.55613823658119, 1e-10); assert_equal (ci(2,2), 2.37719509675214, 1e-10); assert_equal (ci(3,1), 3.55613823658119, 1e-10); assert_equal (ci(3,2), 4.37719509675214, 1e-10); ***** test [p, F, r] = coefTest (mdl); assert_equal (size (p), [1, 1]); assert_equal (class (p), 'double'); assert_equal (p >= 0 && p <= 1, true); assert_equal (F >= 0, true); assert_equal (p, 9.489880832170599e-28, -1e-8); assert_equal (F, 1.283149098426142e+04, -1e-8); assert_equal (r, 2); ***** test ## formula identity [p, F] = coefTest (mdl); k = mdl.NumCoefficients; H0 = [zeros(k-1, 1), eye(k-1)]; b = mdl.Coefficients.Estimate; V = mdl.CoefficientCovariance; Hb = H0 * b; Fm = (Hb' * ((H0 * V * H0') \ Hb)) / (k - 1); pm = betainc (mdl.DFE / (mdl.DFE + (k-1) * Fm), mdl.DFE/2, (k-1)/2); assert_equal (F, Fm, -1e-10); assert_equal (p, pm, -1e-10); ***** test ## explicit H matches default k = mdl.NumCoefficients; H_exp = [zeros(k-1, 1), eye(k-1)]; [p1, F1, r1] = coefTest (mdl); [p2, F2, r2] = coefTest (mdl, H_exp); assert_equal (p2, p1, -1e-10); assert_equal (F2, F1, -1e-10); assert_equal (r2, size (H_exp, 1)); ***** test ## pinned single and joint H [p1, F1, r1] = coefTest (mdl, [1 0 0]); assert_equal (p1, 0.314859866747774, -1e-8); assert_equal (F1, 1.072634101844537, -1e-8); assert_equal (r1, 1); [p2, F2, r2] = coefTest (mdl, [0 1 0]); assert_equal (p2, 8.937794169018252e-05, -1e-8); assert_equal (F2, 25.985840929474932, -1e-8); assert_equal (r2, 1); [p3, F3, r3] = coefTest (mdl, [0 0 1]); assert_equal (p3, 8.656938305821102e-19, -1e-8); assert_equal (F3, 1.849410599855684e+03, -1e-8); assert_equal (r3, 1); [pm, Fm, rm] = coefTest (mdl, [0 1 0; 0 0 1]); assert_equal (pm, 9.489880832170599e-28, -1e-8); assert_equal (Fm, 1.283149098426142e+04, -1e-8); assert_equal (rm, 2); ***** test ## trivial hypothesis and C=0 b = mdl.Coefficients.Estimate; [p0, F0] = coefTest (mdl, [0 1 0], b(2)); assert_equal (F0 < 1e-12, true); assert_equal (p0, 1, 1e-10); [pa, Fa] = coefTest (mdl, [0 1 0], 0); [pb, Fb] = coefTest (mdl, [0 1 0]); assert_equal (pa, pb, -1e-10); assert_equal (Fa, Fb, -1e-10); ***** test ## H with C [pc, Fc, rc] = coefTest (mdl, [0 1 0; 0 0 1], [1.5; -1.0]); assert_equal (pc, 2.833788304242915e-09, -1e-8); assert_equal (Fc, 77.603887650386312, -1e-8); assert_equal (rc, 2); [pr, Fr] = coefTest (mdl, [0 1 0; 0 0 1], [1.5, -1.0]); assert_equal (pr, pc, -1e-10); assert_equal (Fr, Fc, -1e-10); [ps, Fs] = coefTest (mdl, [0 1 0], 1.5); assert_equal (ps, 0.056184159363707, -1e-8); assert_equal (Fs, 4.199865537706047, -1e-8); ***** test ## no-intercept model m = fitlm (X, y, 'Intercept', false); [p, F, r] = coefTest (m); assert_equal (p, 6.060655830723051e-32, -1e-8); assert_equal (F, 2.646694317541346e+04, -1e-8); assert_equal (r, m.NumCoefficients); [p2, F2] = coefTest (m, eye (m.NumCoefficients)); assert_equal (p2, p, -1e-10); assert_equal (F2, F, -1e-10); ***** test ## interaction model m = fitlm (X, y, 'interactions'); [p, F, r] = coefTest (m); assert_equal (p, 1.164196605688161e-25, -1e-8); assert_equal (F, 8.107508574885546e+03, -1e-8); assert_equal (r, m.NumCoefficients - 1); assert_equal (r != m.NumPredictors, true); ***** test ## weighted model m = fitlm (X, y, 'Weights', (1:n)' / sum (1:n)); [p, F, r] = coefTest (m); assert_equal (p, 1.481920976389473e-27, -1e-8); assert_equal (F, 1.217557180481257e+04, -1e-8); assert_equal (r, 2); assert_equal (p, m.ModelFitVsNullModel.Pvalue, -1e-8); ***** test ## categorical model m = fitlm ([1;1;1;2;2;2;3;3;3], [2.1;2.3;1.9;4.1;3.9;4.2;6.3;5.8;6.1], ... 'linear', 'CategoricalVars', 1); [p, F, r] = coefTest (m); assert_equal (p, 1.197590680415813e-06, -1e-8); assert_equal (F, 2.795000000000035e+02, -1e-8); assert_equal (r, 2); [p1, F1] = coefTest (m, [1 0 0]); assert_equal (F1, 3.133421052631613e+02, -1e-8); assert_equal (p1, 2.087464608380450e-06, -1e-8); [p2, F2] = coefTest (m, [0 1 0]); assert_equal (F2, 1.374078947368438e+02, -1e-8); assert_equal (p2, 2.325514143662469e-05, -1e-8); [p3, F3] = coefTest (m, [0 0 1]); assert_equal (F3, 5.589868421052698e+02, -1e-8); assert_equal (p3, 3.757733067786492e-07, -1e-8); ***** test ## constant model m = fitlm (X, y, 'constant'); [p, F, r] = coefTest (m); assert_equal (p, 0.000239936408695073, -1e-8); assert_equal (F, 20.3359164947506, -1e-8); assert_equal (r, 1); ***** test ## rank-deficient model m = fitlm ([ones(n,1), X, X(:,1)+X(:,2)], y); [p, F] = coefTest (m); assert_equal (isnan (p), true); assert_equal (isnan (F), true); drop = find (m.Coefficients.SE == 0); keep = setdiff (2:m.NumCoefficients, drop'); H = zeros (numel (keep), m.NumCoefficients); for i = 1:numel (keep) H(i, keep(i)) = 1; endfor [p2, F2, r2] = coefTest (m, H); assert_equal (p2, 6.70657058643085e-30, -1e-8); assert_equal (F2, 17716.1864263456, -1e-8); assert_equal (r2, numel (keep)); ***** test p = dwtest (mdl); assert_equal (size (p), [1, 1]); assert_equal (class (p), 'double'); [p, DW] = dwtest (mdl); assert_equal (size (DW), [1, 1]); assert_equal (p >= 0 && p <= 1, true); assert_equal (DW >= 0 && DW <= 4, true); assert_equal (p, 4.702593821571290e-04, -1e-6); assert_equal (DW, 0.870000704251173, 1e-12); ***** test [p1, DW1] = dwtest (mdl); [p2, DW2] = dwtest (mdl, 'exact', 'both'); assert_equal (p1, p2, 1e-14); assert_equal (DW1, DW2, 1e-14); ***** test ## DW is the same for all method and tail options [~, d1] = dwtest (mdl, 'exact', 'both'); [~, d2] = dwtest (mdl, 'exact', 'right'); [~, d3] = dwtest (mdl, 'exact', 'left'); [~, d4] = dwtest (mdl, 'approximate', 'both'); [~, d5] = dwtest (mdl, 'approximate', 'right'); [~, d6] = dwtest (mdl, 'approximate', 'left'); assert_equal (d1, 0.870000704251173, 1e-12); assert_equal (d2, 0.870000704251173, 1e-12); assert_equal (d3, 0.870000704251173, 1e-12); assert_equal (d4, 0.870000704251173, 1e-12); assert_equal (d5, 0.870000704251173, 1e-12); assert_equal (d6, 0.870000704251173, 1e-12); ***** test ## one-sided p-values sum to 1 and two-sided equals twice the smaller pb = dwtest (mdl, 'exact', 'both'); pr = dwtest (mdl, 'exact', 'right'); pl = dwtest (mdl, 'exact', 'left'); assert_equal (pr + pl, 1, 1e-12); assert_equal (pb, 4.702593821571290e-04, 1e-12); ***** test ## all six method and tail combinations pinned assert_equal (dwtest (mdl, 'exact', 'both'), 4.702593821571290e-04, -1e-6); assert_equal (dwtest (mdl, 'exact', 'right'), 2.351296910785645e-04, -1e-6); assert_equal (dwtest (mdl, 'exact', 'left'), 0.999764870308921, -1e-6); assert_equal (dwtest (mdl, 'approximate', 'both'), 0.001058795514879, -1e-6); assert_equal (dwtest (mdl, 'approximate', 'right'), 5.293977574395035e-04, -1e-6); assert_equal (dwtest (mdl, 'approximate', 'left'), 0.999470602242560, -1e-6); ***** test ## no-intercept model m = fitlm (X, y, 'Intercept', false); [p, DW] = dwtest (m, 'exact', 'both'); assert_equal (DW, 0.841468411374128, 1e-12); assert_equal (p, 0.001402191159200, -1e-6); assert_equal (dwtest (m, 'exact', 'right'), 7.010955795999754e-04, -1e-6); assert_equal (dwtest (m, 'approximate', 'right'), 0.001350534002321, -1e-6); ***** test ## weighted model m = fitlm (X, y, 'Weights', (1:n)' / sum (1:n)); [p, DW] = dwtest (m, 'exact', 'both'); assert_equal (DW, 0.871162354803032, 1e-12); assert_equal (p, 4.771641146603785e-04, -1e-6); assert_equal (dwtest (m, 'exact', 'right'), 2.385820573301892e-04, -1e-6); assert_equal (dwtest (m, 'approximate', 'right'), 5.346779629058873e-04, -1e-6); ***** test ## positive autocorrelation model m = fitlm ((1:n)'/n, sin (pi * (1:n)'/n)); [~, DW] = dwtest (m, 'exact', 'both'); pr = dwtest (m, 'exact', 'right'); pl = dwtest (m, 'exact', 'left'); assert_equal (DW, 0.118112272685229, 1e-10); assert_equal (DW < 1, true); assert_equal (pr < pl, true); assert_equal (pr < 1e-10, true); ***** test ## negative autocorrelation model m = fitlm ((1:n)'/n, 2*(1:n)'/n + repmat ([1; -1], n/2, 1)); [pb, DW] = dwtest (m, 'exact', 'both'); pl = dwtest (m, 'exact', 'left'); pr = dwtest (m, 'exact', 'right'); assert_equal (pb, 4.205713999283489e-09, 1e-10); assert_equal (DW, 3.825974025974026, 1e-10); assert_equal (DW > 2, true); assert_equal (pl < pr, true); assert_equal (pb, 2 * pl, 1e-10); assert_equal (pb < 1e-7, true); ***** test m = addTerms (mdl, 'x1:x2'); assert_equal (isa (m, 'LinearModel'), true); assert_equal (mdl.NumCoefficients, 3); assert_equal (m.NumCoefficients, 4); assert_equal (m.NumPredictors, 2); assert_equal (m.NumObservations, 20); assert_equal (m.DFE, 16); assert_equal (m.Coefficients.Estimate(1), 0.157640728038039, -1e-8); assert_equal (m.Coefficients.Estimate(2), 2.085426803117909, -1e-8); assert_equal (m.Coefficients.Estimate(3), -0.929682701072813, -1e-8); assert_equal (m.Coefficients.Estimate(4), -0.031208018255475, -1e-8); assert_equal (m.Coefficients.SE(1), 0.169192291625763, -1e-8); assert_equal (m.Coefficients.SE(2), 1.361534257888685, -1e-8); assert_equal (m.Coefficients.SE(3), 0.148744319911833, -1e-8); assert_equal (m.Coefficients.SE(4), 0.0932669056882381, -1e-8); assert_equal (m.Coefficients.tStat(1), 0.931725237144526, -1e-8); assert_equal (m.Coefficients.tStat(2), 1.531674132351069, -1e-8); assert_equal (m.Coefficients.tStat(3), -6.250206405353000, -1e-8); assert_equal (m.Coefficients.tStat(4), -0.334609774230031, -1e-8); assert_equal (m.Coefficients.pValue(1), 0.365325503492671, -1e-8); assert_equal (m.Coefficients.pValue(2), 0.145134783727025, -1e-8); assert_equal (m.Coefficients.pValue(3), 1.159217784590233e-05, -1e-8); assert_equal (m.Coefficients.pValue(4), 0.742265736761240, -1e-8); assert_equal (m.SSE, 0.383859187927621, -1e-8); assert_equal (m.MSE, 0.023991199245515, -1e-8); assert_equal (m.RMSE, 0.154890926930905, -1e-8); assert_equal (m.Rsquared.Ordinary, 0.999342606032059, -1e-8); assert_equal (m.Rsquared.Adjusted, 0.999219344663070, -1e-8); assert_equal (m.LogLikelihood, 11.153346988927943, -1e-8); assert_equal (m.ModelFitVsNullModel.Fstat, 8.107508574898859e+03, -1e-6); assert_equal (m.ModelFitVsNullModel.Pvalue, 1.164196605672873e-25, -1e-6); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.CoefficientNames{3}, 'x2'); assert_equal (m.CoefficientNames{4}, 'x1:x2'); ***** test ## x1*x2 crossing gives same result as x1:x2 when main effects exist m = addTerms (mdl, 'x1*x2'); assert_equal (m.NumCoefficients, 4); assert_equal (m.DFE, 16); assert_equal (m.SSE, 0.383859187927621, -1e-8); assert_equal (m.Coefficients.Estimate(1), 0.157640728038039, -1e-8); assert_equal (m.Coefficients.Estimate(2), 2.085426803117909, -1e-8); assert_equal (m.Coefficients.Estimate(3), -0.929682701072813, -1e-8); assert_equal (m.Coefficients.Estimate(4), -0.031208018255475, -1e-8); assert_equal (m.CoefficientNames{4}, 'x1:x2'); ***** test m = addTerms (mdl, 'x1 + x1:x2'); assert_equal (m.NumCoefficients, 4); assert_equal (m.DFE, 16); assert_equal (m.SSE, 0.383859187927621, -1e-8); assert_equal (m.Coefficients.Estimate(1), 0.157640728038039, -1e-8); assert_equal (m.Coefficients.Estimate(2), 2.085426803117909, -1e-8); assert_equal (m.Coefficients.Estimate(3), -0.929682701072813, -1e-8); assert_equal (m.Coefficients.Estimate(4), -0.031208018255475, -1e-8); ***** test ## adding existing term returns equivalent model ws = warning ('off', 'all'); m = addTerms (mdl, 'x1'); warning (ws); assert_equal (m.NumCoefficients, 3); assert_equal (m.DFE, 17); assert_equal (m.Coefficients.Estimate(1), 0.116188677790207, 1e-7); assert_equal (m.Coefficients.Estimate(2), 2.508451490570863, 1e-7); assert_equal (m.Coefficients.Estimate(3), -0.978835329825186, 1e-7); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.CoefficientNames{3}, 'x2'); ***** test m = addTerms (mdl, 'x2^2'); assert_equal (m.NumCoefficients, 4); assert_equal (m.DFE, 16); assert_equal (m.SSE, 0.386103933724971, -1e-8); assert_equal (m.Coefficients.Estimate(1), 0.130152473216993, -1e-8); assert_equal (m.Coefficients.Estimate(2), 2.380771990884563, -1e-8); assert_equal (m.Coefficients.Estimate(3), -0.967672823484773, -1e-8); assert_equal (m.Coefficients.Estimate(4), -2.991483322469043e-04, -1e-8); assert_equal (m.Coefficients.SE(1), 0.154974488176692, -1e-8); assert_equal (m.Coefficients.SE(2), 1.071554310049276, -1e-8); assert_equal (m.Coefficients.SE(3), 0.085801310569364, -1e-8); assert_equal (m.Coefficients.SE(4), 0.002211890858232, -1e-8); assert_equal (m.CoefficientNames{4}, 'x2^2'); ***** test ## x1^2 rank-deficient: DFE unchanged SE zero for dropped term m = addTerms (mdl, 'x1^2'); assert_equal (m.NumCoefficients, 4); assert_equal (m.DFE, 17); assert_equal (m.SSE, 0.386545331386823, -1e-8); assert_equal (m.Coefficients.Estimate(4), 0); assert_equal (m.Coefficients.SE(4), 0); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.CoefficientNames{3}, 'x2'); assert_equal (m.CoefficientNames{4}, 'x1^2'); ***** test ## numeric matrix [1,1,0] same as string x1:x2 m = addTerms (mdl, [1, 1, 0]); assert_equal (m.NumCoefficients, 4); assert_equal (m.DFE, 16); assert_equal (m.SSE, 0.383859187927621, -1e-8); assert_equal (m.Coefficients.Estimate(1), 0.157640728038039, -1e-8); assert_equal (m.Coefficients.Estimate(2), 2.085426803117909, -1e-8); assert_equal (m.Coefficients.Estimate(3), -0.929682701072813, -1e-8); assert_equal (m.Coefficients.Estimate(4), -0.031208018255475, -1e-8); ***** test ## numeric matrix [1,1] auto-padded to [1,1,0] m = addTerms (mdl, [1, 1]); assert_equal (m.NumCoefficients, 4); assert_equal (m.DFE, 16); assert_equal (m.SSE, 0.383859187927621, -1e-8); assert_equal (m.Coefficients.Estimate(1), 0.157640728038039, -1e-8); assert_equal (m.Coefficients.Estimate(2), 2.085426803117909, -1e-8); assert_equal (m.Coefficients.Estimate(3), -0.929682701072813, -1e-8); assert_equal (m.Coefficients.Estimate(4), -0.031208018255475, -1e-8); ***** test m = addTerms (mdl, [1, 1, 0; 0, 2, 0]); assert_equal (m.NumCoefficients, 5); assert_equal (m.DFE, 15); assert_equal (m.SSE, 0.315784637443501, -1e-8); assert_equal (m.CoefficientNames{4}, 'x1:x2'); assert_equal (m.CoefficientNames{5}, 'x2^2'); ***** test mc = fitlm (X, y, 'constant'); m = addTerms (mc, 'x1'); assert_equal (m.NumCoefficients, 2); assert_equal (m.DFE, 18); assert_equal (m.Coefficients.Estimate(1), 3.884704697617172, -1e-8); assert_equal (m.Coefficients.Estimate(2), -18.047090435758047, -1e-8); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); ***** test ## step from constant to full linear model mc = fitlm (X, y, 'constant'); mc1 = addTerms (mc, 'x1'); mc2 = addTerms (mc1, 'x2'); assert_equal (mc2.NumCoefficients, 3); assert_equal (mc2.DFE, 17); assert_equal (mc2.Coefficients.Estimate(1), 0.116188677790207, 1e-7); assert_equal (mc2.Coefficients.Estimate(2), 2.508451490570863, 1e-7); assert_equal (mc2.Coefficients.Estimate(3), -0.978835329825186, 1e-7); assert_equal (mc2.CoefficientNames{1}, '(Intercept)'); assert_equal (mc2.CoefficientNames{2}, 'x1'); assert_equal (mc2.CoefficientNames{3}, 'x2'); ***** test ## adding intercept to no-intercept model mni = fitlm (X, y, 'Intercept', false); m = addTerms (mni, '1'); assert_equal (m.NumCoefficients, 3); assert_equal (m.DFE, 17); assert_equal (m.Coefficients.Estimate(1), 0.116188677790207, 1e-7); assert_equal (m.Coefficients.Estimate(2), 2.508451490570863, 1e-7); assert_equal (m.Coefficients.Estimate(3), -0.978835329825186, 1e-7); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.CoefficientNames{3}, 'x2'); ***** test ## weighted model weights preserved mw = fitlm (X, y, 'Weights', (1:n)' / sum (1:n)); m = addTerms (mw, 'x1:x2'); assert_equal (m.NumCoefficients, 4); assert_equal (m.DFE, 16); assert_equal (m.SSE, 0.019230053719402, -1e-8); assert_equal (m.Coefficients.Estimate(1), -0.122645849510537, -1e-8); assert_equal (m.Coefficients.Estimate(2), 4.125799311652051, -1e-8); assert_equal (m.Coefficients.Estimate(3), -1.128467507844852, -1e-8); assert_equal (m.Coefficients.Estimate(4), 0.081921546574140, -1e-8); assert_equal (m.Coefficients.SE(1), 0.354926338845420, -1e-8); assert_equal (m.Coefficients.SE(2), 2.205951720932299, -1e-8); assert_equal (m.Coefficients.SE(3), 0.205033663966776, -1e-8); assert_equal (m.Coefficients.SE(4), 0.115523382309399, -1e-8); assert_equal (m.CoefficientNames{4}, 'x1:x2'); ***** test ## excluded observations preserved me = fitlm (X, y, 'Exclude', [1, 2]); m = addTerms (me, 'x1:x2'); assert_equal (m.NumObservations, 18); assert_equal (m.DFE, 14); assert_equal (m.NumCoefficients, 4); assert_equal (m.Coefficients.Estimate(1), -0.345521184099998, -1e-8); assert_equal (m.Coefficients.Estimate(2), 5.139185607268283, -1e-8); assert_equal (m.Coefficients.Estimate(3), -1.198851436671170, -1e-8); assert_equal (m.Coefficients.Estimate(4), 0.112619530301200, -1e-8); assert_equal (m.CoefficientNames{4}, 'x1:x2'); ***** test ## remove two predictors by string from a 4-predictor model Xh = [7 26 6 60; 1 29 15 52; 11 56 8 20; 11 31 8 47; 7 52 6 33; ... 11 55 9 22; 3 71 17 6; 1 31 22 44; 2 54 18 22; 21 47 4 26; ... 1 40 23 34; 11 66 9 12; 10 68 8 12]; yh = [78.5;74.3;104.3;87.6;95.9;109.2;102.7;72.5;93.1;115.9;83.8;113.3;109.4]; m = removeTerms (fitlm (Xh, yh), 'x3 + x4'); assert_equal (m.NumCoefficients, 3); assert_equal (m.NumEstimatedCoefficients, 3); assert_equal (m.DFE, 10); assert_equal (m.NumObservations, 13); assert_equal (m.NumVariables, 5); assert_equal (m.Coefficients.Estimate(1), 52.577348882089481, -1e-8); assert_equal (m.Coefficients.Estimate(2), 1.468305742215555, -1e-8); assert_equal (m.Coefficients.Estimate(3), 0.662250491274645, -1e-8); assert_equal (m.Coefficients.SE(1), 2.286174334503340, -1e-8); assert_equal (m.Coefficients.SE(2), 0.121300923606266, -1e-8); assert_equal (m.Coefficients.SE(3), 0.045854721468522, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.Coefficients.tStat(1), 22.997961305305111, -1e-8); assert_equal (m.Coefficients.tStat(2), 12.104654264476748, -1e-8); assert_equal (m.Coefficients.tStat(3), 14.442362096327519, -1e-8); assert_equal (m.Coefficients.pValue(1), 5.456570901490983e-10, -1e-7); assert_equal (m.Coefficients.pValue(2), 2.692212179685427e-07, -1e-8); assert_equal (m.Coefficients.pValue(3), 5.028960315638413e-08, -1e-8); assert_equal (m.SSE, 57.904483176113658, -1e-8); assert_equal (m.RMSE, 2.40633503852047, -1e-8); assert_equal (m.MSE, 5.790448317611299, 1e-12); assert_equal (m.SST, 2.715763076923078e+03, 1e-8); assert_equal (m.Rsquared.Ordinary, 0.978678374535632, -1e-8); assert_equal (m.Rsquared.Adjusted, 0.974414049442758, -1e-8); assert_equal (size (m.CoefficientCovariance), [3, 3]); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.CoefficientNames{3}, 'x2'); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1 + x1 + x2'); assert_equal (height (m.Diagnostics), 13); assert_equal (sum (m.Diagnostics.Leverage), 3, 1e-10); assert_equal (m.Residuals.Raw, yh - m.Fitted, 1e-10); ***** test m = removeTerms (mdl, 'x2'); assert_equal (m.NumCoefficients, 2); assert_equal (m.NumEstimatedCoefficients, 2); assert_equal (m.DFE, 18); assert_equal (m.NumObservations, 20); assert_equal (m.Coefficients.Estimate(1), 3.88470469761717, -1e-8); assert_equal (m.Coefficients.Estimate(2), -18.047090435758, -1e-8); assert_equal (m.Coefficients.SE(2), 1.19086428900602, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.Coefficients.tStat(2), -15.1546155194741, -1e-8); assert_equal (m.SSE, 42.4383708132815, -1e-8); assert_equal (m.SST, 583.910420002346, -1e-8); assert_equal (m.Rsquared.Ordinary, 0.927320408474452, -1e-8); assert_equal (size (m.CoefficientCovariance), [2, 2]); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1 + x1'); assert_equal (height (m.Diagnostics), 20); assert_equal (m.Residuals.Raw, y - m.Fitted, 1e-10); ***** test ## removing the intercept via string '1' m = removeTerms (mdl, '1'); assert_equal (m.NumCoefficients, 2); assert_equal (m.NumEstimatedCoefficients, 2); assert_equal (m.DFE, 18); assert_equal (m.NumObservations, 20); assert_equal (m.Formula.HasIntercept, false); assert_equal (m.Formula.LinearPredictor, 'x1 + x2'); assert_equal (m.Coefficients.Estimate(1), 2.96142161317611, -1e-8); assert_equal (m.Coefficients.Estimate(2), -0.997248749443286, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.SSE, 0.410934843407688, -1e-8); assert_equal (size (m.CoefficientCovariance), [2, 2]); assert_equal (m.CoefficientNames{1}, 'x1'); assert_equal (m.CoefficientNames{2}, 'x2'); assert_equal (! any (strcmp (m.CoefficientNames, '(Intercept)')), true); assert_equal (height (m.Diagnostics), 20); ***** test ## removing both predictors leaves only the intercept m = removeTerms (mdl, 'x1 + x2'); assert_equal (m.NumCoefficients, 1); assert_equal (m.NumEstimatedCoefficients, 1); assert_equal (m.DFE, 19); assert_equal (m.NumObservations, 20); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1'); assert_equal (m.Coefficients.Estimate(1), -5.5900177811558, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.SSE, 583.910420002346, -1e-8); assert_equal (m.SST, 583.910420002346, -1e-8); assert_equal (m.SSR, 0, 1e-20); assert_equal (size (m.CoefficientCovariance), [1, 1]); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (height (m.Diagnostics), 20); assert_equal (sum (m.Diagnostics.Leverage), 1, 1e-10); assert_equal (m.Residuals.Raw, y - m.Fitted, 1e-10); ***** test ws = warning ('off', 'all'); m = removeTerms (mdl, 'x1:x2'); warning (ws); assert_equal (m.NumCoefficients, mdl.NumCoefficients); assert_equal (m.NumEstimatedCoefficients, mdl.NumEstimatedCoefficients); assert_equal (m.DFE, mdl.DFE); assert_equal (m.SSE, mdl.SSE, 1e-15); assert_equal (m.SSR, mdl.SSR, 1e-15); assert_equal (m.SST, mdl.SST, 1e-15); assert_equal (m.RMSE, mdl.RMSE, 1e-15); assert_equal (m.Coefficients.Estimate, mdl.Coefficients.Estimate, 1e-15); assert_equal (m.Coefficients.SE, mdl.Coefficients.SE, 1e-15); assert_equal (m.CoefficientCovariance, mdl.CoefficientCovariance, 1e-15); assert_equal (isequal (m.CoefficientNames, mdl.CoefficientNames), true); assert_equal (m.Formula.LinearPredictor, mdl.Formula.LinearPredictor); assert_equal (m.Formula.HasIntercept, mdl.Formula.HasIntercept); ***** test m = removeTerms (mdl, [0 1 0]); assert_equal (m.NumCoefficients, 2); assert_equal (m.NumEstimatedCoefficients, 2); assert_equal (m.DFE, 18); assert_equal (m.NumObservations, 20); assert_equal (m.Coefficients.Estimate(1), 3.88470469761717, -1e-8); assert_equal (m.Coefficients.Estimate(2), -18.047090435758, -1e-8); assert_equal (m.Coefficients.SE(2), 1.19086428900602, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.Coefficients.tStat(2), -15.1546155194741, -1e-8); assert_equal (m.SSE, 42.4383708132815, -1e-8); assert_equal (m.SST, 583.910420002346, -1e-8); assert_equal (m.Rsquared.Ordinary, 0.927320408474452, -1e-8); assert_equal (size (m.CoefficientCovariance), [2, 2]); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1 + x1'); assert_equal (height (m.Diagnostics), 20); assert_equal (sum (m.Diagnostics.Leverage), 2, 1e-10); ***** test ## auto-padded matrix [0 1] gives identical result to [0 1 0] m = removeTerms (mdl, [0 1]); assert_equal (m.NumCoefficients, 2); assert_equal (m.NumEstimatedCoefficients, 2); assert_equal (m.DFE, 18); assert_equal (m.Coefficients.Estimate(1), 3.88470469761717, -1e-8); assert_equal (m.Coefficients.Estimate(2), -18.047090435758, -1e-8); assert_equal (m.Coefficients.SE(2), 1.19086428900602, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.SSE, 42.4383708132815, -1e-8); assert_equal (m.SST, 583.910420002346, -1e-8); assert_equal (m.Rsquared.Ordinary, 0.927320408474452, -1e-8); assert_equal (size (m.CoefficientCovariance), [2, 2]); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.Formula.LinearPredictor, '1 + x1'); assert_equal (height (m.Diagnostics), 20); assert_equal (sum (m.Diagnostics.Leverage), 2, 1e-10); ***** test ## multi-row matrix removes two terms same as the string form Xh = [7 26 6 60; 1 29 15 52; 11 56 8 20; 11 31 8 47; 7 52 6 33; ... 11 55 9 22; 3 71 17 6; 1 31 22 44; 2 54 18 22; 21 47 4 26; ... 1 40 23 34; 11 66 9 12; 10 68 8 12]; yh = [78.5;74.3;104.3;87.6;95.9;109.2;102.7;72.5;93.1;115.9;83.8;113.3;109.4]; m = removeTerms (fitlm (Xh, yh), [0 0 1 0 0; 0 0 0 1 0]); assert_equal (m.NumCoefficients, 3); assert_equal (m.NumEstimatedCoefficients, 3); assert_equal (m.DFE, 10); assert_equal (m.NumObservations, 13); assert_equal (m.Coefficients.Estimate(1), 52.577348882089481, -1e-8); assert_equal (m.Coefficients.Estimate(2), 1.468305742215555, -1e-8); assert_equal (m.Coefficients.Estimate(3), 0.662250491274645, -1e-8); assert_equal (m.Coefficients.SE(1), 2.286174334503340, -1e-8); assert_equal (m.Coefficients.SE(2), 0.121300923606266, -1e-8); assert_equal (m.Coefficients.SE(3), 0.045854721468522, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.Coefficients.tStat(2), 12.104654264476748, -1e-8); assert_equal (m.Coefficients.tStat(3), 14.442362096327519, -1e-8); assert_equal (m.Coefficients.pValue(2), 2.692212179685427e-07, -1e-8); assert_equal (m.SSE, 57.904483176113658, -1e-8); assert_equal (m.Rsquared.Ordinary, 0.978678374535632, -1e-8); assert_equal (m.Rsquared.Adjusted, 0.974414049442758, -1e-8); assert_equal (size (m.CoefficientCovariance), [3, 3]); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.CoefficientNames{3}, 'x2'); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1 + x1 + x2'); assert_equal (height (m.Diagnostics), 13); assert_equal (sum (m.Diagnostics.Leverage), 3, 1e-10); assert_equal (m.Residuals.Raw, yh - m.Fitted, 1e-10); ***** test ## observation weights carry through to the refitted model w = (1:n)' / sum (1:n); mw = fitlm (X, y, 'Weights', w); m = removeTerms (mw, 'x2'); assert_equal (m.NumCoefficients, 2); assert_equal (m.NumEstimatedCoefficients, 2); assert_equal (m.DFE, 18); assert_equal (m.NumObservations, 20); assert_equal (m.Coefficients.Estimate(1), 6.29263960898714, -1e-8); assert_equal (m.Coefficients.Estimate(2), -21.5708976231287, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.SSE, 1.41763159723151, -1e-8); assert_equal (size (m.CoefficientCovariance), [2, 2]); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1 + x1'); assert_equal (m.ObservationInfo.Weights, w, 1e-15); assert_equal (sum (m.ObservationInfo.Weights), 1, 1e-12); assert_equal (height (m.Diagnostics), 20); assert_equal (sum (m.Diagnostics.Leverage), 2, 1e-10); assert_equal (m.SSE != removeTerms (mdl, 'x2').SSE, true); ***** test ## excluded rows are preserved and reduce effective sample size me = fitlm (X, y, 'Exclude', [1, 3]); m = removeTerms (me, 'x2'); assert_equal (m.NumObservations, 18); assert_equal (m.DFE, 16); assert_equal (m.NumCoefficients, 2); assert_equal (m.NumEstimatedCoefficients, 2); assert_equal (m.Coefficients.Estimate(1), 4.96609542902066, -1e-8); assert_equal (m.Coefficients.Estimate(2), -19.5618050042778, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (size (m.CoefficientCovariance), [2, 2]); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.Formula.LinearPredictor, '1 + x1'); assert_equal (m.ObservationInfo.Excluded(1), true); assert_equal (m.ObservationInfo.Excluded(3), true); assert_equal (m.ObservationInfo.Excluded(2), false); assert_equal (m.ObservationInfo.Missing(1), false); assert_equal (height (m.Diagnostics), 20); assert_equal (isnan (m.Fitted(1)), true); assert_equal (isnan (m.Fitted(3)), true); assert_equal (isfinite (m.Fitted(2)), true); ***** test ## removing x2 from a no-intercept model gives one slope term mni = fitlm (X, y, 'Intercept', false); m = removeTerms (mni, 'x2'); assert_equal (m.NumCoefficients, 1); assert_equal (m.NumEstimatedCoefficients, 1); assert_equal (m.DFE, 19); assert_equal (m.NumObservations, 20); assert_equal (m.Formula.HasIntercept, false); assert_equal (m.Formula.LinearPredictor, 'x1'); assert_equal (m.Coefficients.Estimate(1), -12.362156731928, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.SSE, 112.371951585499, -1e-8); assert_equal (size (m.CoefficientCovariance), [1, 1]); assert_equal (m.CoefficientCovariance(1,1) > 0, true); assert_equal (m.CoefficientNames{1}, 'x1'); assert_equal (! any (strcmp (m.CoefficientNames, '(Intercept)')), true); assert_equal (height (m.Diagnostics), 20); assert_equal (all (isfinite (m.Fitted)), true); assert_equal (sum (m.Diagnostics.Leverage), 1, 1e-10); ***** test ## removing the interaction term recovers the plain linear model mi = fitlm (X, y, 'interactions'); m = removeTerms (mi, 'x1:x2'); assert_equal (m.NumCoefficients, 3); assert_equal (m.NumEstimatedCoefficients, 3); assert_equal (m.DFE, 17); assert_equal (m.NumObservations, 20); assert_equal (m.Coefficients.Estimate(1), 0.116188677790207, -1e-8); assert_equal (m.Coefficients.Estimate(2), 2.508451490570863, -1e-8); assert_equal (m.Coefficients.Estimate(3), -0.978835329825186, -1e-8); assert_equal (m.Coefficients.SE(1), 0.112185831, -1e-7); assert_equal (m.Coefficients.SE(2), 0.4920818186, -1e-7); assert_equal (m.Coefficients.SE(3), 0.02276108523, -1e-7); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.Coefficients.tStat(1), 1.035680502, -1e-6); assert_equal (m.Coefficients.tStat(2), 5.097630913, -1e-6); assert_equal (m.Coefficients.tStat(3), -43.00477415, -1e-6); assert_equal (m.SSE, 0.386545331386823, -1e-8); assert_equal (size (m.CoefficientCovariance), [3, 3]); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.CoefficientNames{3}, 'x2'); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1 + x1 + x2'); assert_equal (height (m.Diagnostics), 20); assert_equal (sum (m.Diagnostics.Leverage), 3, 1e-10); ***** test ## removing a quadratic term refits on the remaining terms mq = fitlm (X, y, 'quadratic'); m = removeTerms (mq, 'x2^2'); assert_equal (m.NumEstimatedCoefficients, 4); assert_equal (m.DFE, 16); assert_equal (m.SSE, 0.383859187927621, -1e-8); assert_equal (size (m.CoefficientCovariance, 1), m.NumCoefficients); assert_equal (size (m.CoefficientCovariance, 2), m.NumCoefficients); assert_equal (m.Formula.HasIntercept, true); assert_equal (height (m.Diagnostics), 20); assert_equal (sum (m.Diagnostics.Leverage), 4, 1e-10); assert_equal (m.SSE >= mq.SSE, true); assert_equal (! any (strcmp (m.CoefficientNames, 'x2^2')), true); ***** test ## star notation removes main effects and interaction in one call mi = fitlm (X, y, 'interactions'); m = removeTerms (mi, 'x1*x2'); assert_equal (m.NumCoefficients, 1); assert_equal (m.NumEstimatedCoefficients, 1); assert_equal (m.DFE, 19); assert_equal (m.NumObservations, 20); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1'); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.Coefficients.Estimate(1), -5.5900177811558, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.SSE, 583.910420002346, -1e-8); assert_equal (m.SST, 583.910420002346, -1e-8); assert_equal (m.SSR, 0, 1e-20); assert_equal (size (m.CoefficientCovariance), [1, 1]); assert_equal (height (m.Diagnostics), 20); assert_equal (sum (m.Diagnostics.Leverage), 1, 1e-10); ***** test ## 3-predictor model: removing one term matches a direct two-predictor fit X3 = [X, sin((1:n)' * pi / n)]; y3 = X3 * [3; -1; 2] + 0.1 * cos ((1:n)' * pi / 7); m = removeTerms (fitlm (X3, y3), 'x3'); r = fitlm (X, y3); assert_equal (m.NumCoefficients, 3); assert_equal (m.NumEstimatedCoefficients, 3); assert_equal (m.DFE, 17); assert_equal (m.NumObservations, 20); assert_equal (m.Coefficients.Estimate, r.Coefficients.Estimate, 1e-10); assert_equal (m.Coefficients.SE, r.Coefficients.SE, 1e-10); assert_equal (m.Coefficients.tStat, r.Coefficients.tStat, 1e-10); assert_equal (m.Coefficients.pValue, r.Coefficients.pValue, 1e-10); assert_equal (m.SSE, r.SSE, 1e-12); assert_equal (m.SSR, r.SSR, 1e-12); assert_equal (m.SST, r.SST, 1e-12); assert_equal (m.MSE, r.MSE, 1e-12); assert_equal (m.RMSE, r.RMSE, 1e-12); assert_equal (m.Rsquared.Ordinary, r.Rsquared.Ordinary, 1e-12); assert_equal (m.Rsquared.Adjusted, r.Rsquared.Adjusted, 1e-12); assert_equal (m.CoefficientCovariance, r.CoefficientCovariance, 1e-12); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.CoefficientNames{3}, 'x2'); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1 + x1 + x2'); assert_equal (height (m.Diagnostics), 20); assert_equal (sum (m.Diagnostics.Leverage), 3, 1e-10); ***** test ## 3-predictor model: removing two terms matches a direct one-predictor fit X3 = [X, sin((1:n)' * pi / n)]; y3 = X3 * [3; -1; 2] + 0.1 * cos ((1:n)' * pi / 7); m = removeTerms (fitlm (X3, y3), 'x2 + x3'); r = fitlm (X(:,1), y3); assert_equal (m.NumCoefficients, 2); assert_equal (m.NumEstimatedCoefficients, 2); assert_equal (m.DFE, 18); assert_equal (m.NumObservations, 20); assert_equal (m.Coefficients.Estimate, r.Coefficients.Estimate, 1e-10); assert_equal (m.Coefficients.SE, r.Coefficients.SE, 1e-10); assert_equal (m.Coefficients.tStat, r.Coefficients.tStat, 1e-10); assert_equal (m.Coefficients.pValue, r.Coefficients.pValue, 1e-10); assert_equal (m.SSE, r.SSE, 1e-12); assert_equal (m.SST, r.SST, 1e-12); assert_equal (m.MSE, r.MSE, 1e-12); assert_equal (m.RMSE, r.RMSE, 1e-12); assert_equal (m.Rsquared.Ordinary, r.Rsquared.Ordinary, 1e-12); assert_equal (m.Rsquared.Adjusted, r.Rsquared.Adjusted, 1e-12); assert_equal (m.CoefficientCovariance, r.CoefficientCovariance, 1e-12); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1 + x1'); assert_equal (height (m.Diagnostics), 20); assert_equal (sum (m.Diagnostics.Leverage), 2, 1e-10); ***** test Xh = [7 26 6 60; 1 29 15 52; 11 56 8 20; 11 31 8 47; 7 52 6 33; ... 11 55 9 22; 3 71 17 6; 1 31 22 44; 2 54 18 22; 21 47 4 26; ... 1 40 23 34; 11 66 9 12; 10 68 8 12]; yh = [78.5;74.3;104.3;87.6;95.9;109.2;102.7;72.5;93.1;115.9;83.8;113.3;109.4]; m = removeTerms (fitlm (Xh, yh), 'x3 + x4'); r = removeTerms (removeTerms (fitlm (Xh, yh), 'x4'), 'x3'); assert_equal (r.NumCoefficients, 3); assert_equal (r.DFE, 10); assert_equal (r.SSE, m.SSE, 1e-12); assert_equal (r.SSR, m.SSR, 1e-12); assert_equal (r.SST, m.SST, 1e-12); assert_equal (r.RMSE, m.RMSE, 1e-12); assert_equal (r.Coefficients.Estimate, m.Coefficients.Estimate, 1e-10); assert_equal (r.Coefficients.SE, m.Coefficients.SE, 1e-10); assert_equal (r.Coefficients.tStat, m.Coefficients.tStat, 1e-10); assert_equal (r.Coefficients.pValue, m.Coefficients.pValue, 1e-10); assert_equal (r.CoefficientCovariance, m.CoefficientCovariance, 1e-12); assert_equal (isequal (r.CoefficientNames, m.CoefficientNames), true); assert_equal (r.Rsquared.Ordinary, m.Rsquared.Ordinary, 1e-12); assert_equal (r.Rsquared.Adjusted, m.Rsquared.Adjusted, 1e-12); assert_equal (r.Formula.LinearPredictor, m.Formula.LinearPredictor); ***** test m = removeTerms (mdl, [0 0 0]); r = removeTerms (mdl, '1'); assert_equal (m.NumCoefficients, 2); assert_equal (m.Formula.HasIntercept, false); assert_equal (m.Formula.LinearPredictor, 'x1 + x2'); assert_equal (m.Coefficients.Estimate(1), 2.96142161317611, -1e-8); assert_equal (m.Coefficients.Estimate(2), -0.997248749443286, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.SSE, r.SSE, 1e-15); assert_equal (m.SSR, r.SSR, 1e-15); assert_equal (m.SST, r.SST, 1e-15); assert_equal (m.Coefficients.Estimate, r.Coefficients.Estimate, 1e-15); assert_equal (m.Coefficients.SE, r.Coefficients.SE, 1e-15); assert_equal (m.CoefficientCovariance, r.CoefficientCovariance, 1e-15); assert_equal (isequal (m.CoefficientNames, r.CoefficientNames), true); assert_equal (height (m.Diagnostics), 20); assert_equal (sum (m.Diagnostics.Leverage), 2, 1e-10); ***** test ## removing a categorical predictor drops all its indicator variables at once Xc = [1;1;1;2;2;2;3;3;3]; yc = [2.1;2.3;1.9; 4.1;3.9;4.2; 6.3;5.8;6.1]; mc = fitlm (Xc, yc, 'linear', 'CategoricalVars', 1); m = removeTerms (mc, 'x1'); assert_equal (m.NumCoefficients, 1); assert_equal (m.NumEstimatedCoefficients, 1); assert_equal (m.DFE, 8); assert_equal (m.NumObservations, 9); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1'); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.Coefficients.Estimate(1), 4.07777777777778, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.SSR, 0, 1e-20); assert_equal (size (m.CoefficientCovariance), [1, 1]); assert_equal (height (m.Diagnostics), 9); assert_equal (all (isfinite (m.Fitted)), true); assert_equal (sum (m.Diagnostics.Leverage), 1, 1e-10); assert_equal (m.Residuals.Raw, yc - m.Fitted, 1e-10); ***** test ## matrix row removes x4 from hald leaving intercept plus x1 x2 x3 Xh = [7 26 6 60; 1 29 15 52; 11 56 8 20; 11 31 8 47; 7 52 6 33; ... 11 55 9 22; 3 71 17 6; 1 31 22 44; 2 54 18 22; 21 47 4 26; ... 1 40 23 34; 11 66 9 12; 10 68 8 12]; yh = [78.5;74.3;104.3;87.6;95.9;109.2;102.7;72.5;93.1;115.9;83.8;113.3;109.4]; m = removeTerms (fitlm (Xh, yh), [0 0 0 1 0]); assert_equal (m.NumCoefficients, 4); assert_equal (m.NumEstimatedCoefficients, 4); assert_equal (m.DFE, 9); assert_equal (m.NumObservations, 13); assert_equal (m.Coefficients.Estimate(1), 48.1936343180437, -1e-8); assert_equal (m.Coefficients.Estimate(2), 1.69589016748479, -1e-8); assert_equal (m.Coefficients.Estimate(3), 0.656914878270554, -1e-8); assert_equal (m.Coefficients.Estimate(4), 0.250017606680009, -1e-8); assert_equal (m.Coefficients.tStat, m.Coefficients.Estimate ./ m.Coefficients.SE, 1e-10); assert_equal (m.SSE, 48.1106140726532, -1e-8); assert_equal (size (m.CoefficientCovariance), [4, 4]); assert_equal (m.CoefficientNames{1}, '(Intercept)'); assert_equal (m.CoefficientNames{2}, 'x1'); assert_equal (m.CoefficientNames{3}, 'x2'); assert_equal (m.CoefficientNames{4}, 'x3'); assert_equal (m.Formula.HasIntercept, true); assert_equal (m.Formula.LinearPredictor, '1 + x1 + x2 + x3'); assert_equal (height (m.Diagnostics), 13); assert_equal (all (isfinite (m.Fitted)), true); assert_equal (sum (m.Diagnostics.Leverage), 4, 1e-10); assert_equal (m.Residuals.Raw, yh - m.Fitted, 1e-10); ***** test ## default call creates a histogram with correct bin count and density fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, mdl); xd = get (h(1), 'XData'); yd = get (h(1), 'YData'); r = mdl.Residuals.Raw(! isnan (mdl.Residuals.Raw)); bw = xd(3,1) - xd(1,1); assert_equal (numel (h), 1); assert_equal (get (h(1), 'type'), 'patch'); assert_equal (size (xd, 2) > 0, true); assert_equal (sum (yd(2,:)) * bw, 1, 1e-10); assert_equal (all (yd(1,:) == 0) && all (yd(4,:) == 0), true); assert_equal (get (get (ax, 'xlabel'), 'string'), 'Residuals'); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Probability density'); assert_equal (get (get (ax, 'title'), 'string'), 'Histogram of residuals'); close (fig); ***** test ## histogram bar color changes when FaceColor is passed fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, mdl, 'histogram', 'FaceColor', [0 1 0]); assert_equal (get (h(1), 'FaceColor'), [0 1 0], 1e-10); close (fig); ***** test ## fitted plot shows residuals against fitted values with a zero reference line fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, mdl, 'fitted'); assert_equal (numel (h), 2); assert_equal (get (h(1), 'XData'), mdl.Fitted', 1e-15); assert_equal (get (h(1), 'YData'), mdl.Residuals.Raw', 1e-15); assert_equal (get (h(1), 'LineStyle'), 'none'); assert_equal (get (h(1), 'Marker'), 'x'); assert_equal (get (h(2), 'YData'), [0 0]); assert_equal (get (h(2), 'LineStyle'), ':'); assert_equal (get (get (ax, 'xlabel'), 'string'), 'Fitted values'); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Residuals'); assert_equal (get (get (ax, 'title'), 'string'), 'Plot of residuals vs. fitted values'); close (fig); ***** test ## custom color applies to data points but leaves the reference line unchanged fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, mdl, 'fitted', 'Color', [1 0 0]); assert_equal (get (h(1), 'Color'), [1 0 0], 1e-10); assert_equal (get (h(2), 'Color'), [0.8510 0.8510 0.8510], 1e-4); assert_equal (get (h(2), 'LineStyle'), ':'); close (fig); ***** test ## excluded rows appear as gaps in the fitted plot me = fitlm (X, y, 'Exclude', [3, 8]); fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, me, 'fitted'); yd = get (h(1), 'YData'); assert_equal (numel (yd), 20); assert_equal (isnan (yd(3)), true); assert_equal (isnan (yd(8)), true); assert_equal (! isnan (yd(1)), true); close (fig); ***** test ## case order plot covers all rows and shows gaps where rows were excluded me = fitlm (X, y, 'Exclude', [2, 5]); fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, me, 'caseorder'); xd = get (h(1), 'XData'); yd = get (h(1), 'YData'); assert_equal (xd, 1:20); assert_equal (isnan (yd(2)), true); assert_equal (isnan (yd(5)), true); assert_equal (! isnan (yd(1)), true); assert_equal (get (h(2), 'YData'), [0 0]); assert_equal (get (get (ax, 'xlabel'), 'string'), 'Row number'); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Residuals'); assert_equal (get (get (ax, 'title'), 'string'), 'Case order plot of residuals'); close (fig); ***** test ## lagged plot shows each residual against the previous one with two reference lines fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, mdl, 'lagged'); r = mdl.Residuals.Raw; assert_equal (numel (h), 3); assert_equal (get (h(1), 'XData'), r(1:end-1)', 1e-15); assert_equal (get (h(1), 'YData'), r(2:end)', 1e-15); assert_equal (get (h(2), 'YData'), [0 0]); assert_equal (get (h(3), 'XData'), [0 0]); assert_equal (get (h(2), 'LineStyle'), ':'); assert_equal (get (get (ax, 'xlabel'), 'string'), 'Residual(t-1)'); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Residual(t)'); assert_equal (get (get (ax, 'title'), 'string'), 'Plot of residuals vs. lagged residuals'); close (fig); ***** test ## probability plot uses sorted active residuals as its data fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, mdl, 'probability'); r_s = sort (mdl.Residuals.Raw(! isnan (mdl.Residuals.Raw))); assert_equal (get (h(1), 'XData'), r_s', 1e-15); assert_equal (get (get (ax, 'xlabel'), 'string'), 'Residuals'); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Probability'); assert_equal (get (get (ax, 'title'), 'string'), 'Normal probability plot of residuals'); close (fig); ***** test ## observed plot connects each point to the reference line with a vertical segment fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, mdl, 'observed'); obs = mdl.Variables{:, mdl.ResponseName}; assert_equal (numel (h), 3); assert_equal (get (h(1), 'XData'), mdl.Fitted', 1e-15); assert_equal (get (h(1), 'YData'), obs', 1e-15); assert_equal (isequal (get (h(2), 'XData'), get (h(2), 'YData')), true); xd3 = get (h(3), 'XData'); assert_equal (numel (xd3), 3 * mdl.NumObservations); assert_equal (sum (isnan (xd3)), mdl.NumObservations); assert_equal (get (get (ax, 'xlabel'), 'string'), 'Fitted values'); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Observed response values'); assert_equal (get (get (ax, 'title'), 'string'), 'Plot of observed vs. fitted values'); close (fig); ***** test ## symmetry plot measures distance from median in both tails fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, mdl, 'symmetry'); r_s = sort (mdl.Residuals.Raw(! isnan (mdl.Residuals.Raw))); med = median (r_s); m = floor (numel (r_s) / 2); x_sym = sort (med - r_s(1:m)); y_sym = sort (r_s(end-m+1:end) - med); assert_equal (numel (h), 2); assert_equal (get (h(1), 'XData'), x_sym', 1e-15); assert_equal (get (h(1), 'YData'), y_sym', 1e-15); assert_equal (isequal (get (h(2), 'XData'), get (h(2), 'YData')), true); assert_equal (get (h(2), 'LineStyle'), ':'); assert_equal (get (get (ax, 'xlabel'), 'string'), 'Lower tail'); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Upper tail'); close (fig); ***** test ## switching to pearson residuals changes plotted values but not x positions fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, mdl, 'fitted', 'ResidualType', 'pearson'); assert_equal (get (h(1), 'YData'), mdl.Residuals.Pearson', 1e-15); assert_equal (get (h(1), 'XData'), mdl.Fitted', 1e-15); assert_equal (! isequal (get (h(1), 'YData'), mdl.Residuals.Raw'), true); close (fig); ***** test ## standardized and studentized residuals produce different values fig = figure ('visible', 'off'); ax = axes (fig); h1 = plotResiduals (ax, mdl, 'caseorder', 'ResidualType', 'standardized'); h2 = plotResiduals (ax, mdl, 'caseorder', 'ResidualType', 'studentized'); assert_equal (get (h1(1), 'YData'), mdl.Residuals.Standardized', 1e-15); assert_equal (get (h2(1), 'YData'), mdl.Residuals.Studentized', 1e-15); assert_equal (! isequal (get (h1(1), 'YData'), get (h2(1), 'YData')), true); close (fig); ***** test ## marker style and size apply to data points but not to the reference line fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, mdl, 'fitted', 'Marker', 's', 'MarkerSize', 10); assert_equal (get (h(1), 'Marker'), 's'); assert_equal (get (h(1), 'MarkerSize'), 10); assert_equal (get (h(2), 'Marker'), 'none'); close (fig); ***** test ## weighted model residuals differ from unweighted residuals in the fitted plot mw = fitlm (X, y, 'Weights', (1:n)' / sum (1:n)); fig = figure ('visible', 'off'); ax = axes (fig); h = plotResiduals (ax, mw, 'fitted'); assert_equal (get (h(1), 'YData'), mw.Residuals.Raw', 1e-15); assert_equal (! isequal (get (h(1), 'YData'), mdl.Residuals.Raw'), true); close (fig); ***** test ## calling without an axes handle plots into the current axes fig = figure ('visible', 'off'); h = plotResiduals (mdl, 'fitted'); assert_equal (isgraphics (get (h(1), 'Parent'), 'axes'), true); assert_equal (isequal (get (h(1), 'Parent'), gca ()), true); close (fig); ***** test fig = figure ('visible', 'off'); ax = axes (fig); h = plotDiagnostics (ax, mdl); yd = get (h(1), 'YData'); assert_equal (numel (h), 2); assert_equal (get (h(1), 'XData'), 1:n); assert_equal (yd(1), 0.370779220779221, -1e-10); assert_equal (yd(2), 0.245283663704716, -1e-10); assert_equal (yd(3), 0.164718614718615, -1e-10); assert_equal (yd(4), 0.118147641831852, -1e-10); assert_equal (yd(5), 0.0960013670539986, -1e-10); assert_equal (yd(6), 0.0900774663932558, -1e-10); assert_equal (yd(7), 0.0935406698564593, -1e-10); assert_equal (yd(8), 0.100922761449077, -1e-10); assert_equal (yd(9), 0.108122579175211, -1e-10); assert_equal (yd(10), 0.112406015037594, -1e-10); assert_equal (yd(11), 0.112406015037594, -1e-10); assert_equal (yd(12), 0.108122579175211, -1e-10); assert_equal (yd(13), 0.100922761449077, -1e-10); assert_equal (yd(14), 0.0935406698564592, -1e-10); assert_equal (yd(15), 0.0900774663932559, -1e-10); assert_equal (yd(16), 0.0960013670539986, -1e-10); assert_equal (yd(17), 0.118147641831852, -1e-10); assert_equal (yd(18), 0.164718614718615, -1e-10); assert_equal (yd(19), 0.245283663704716, -1e-10); assert_equal (yd(20), 0.370779220779221, -1e-10); assert_equal (get (h(2), 'YData'), [0.3, 0.3], 1e-12); assert_equal (get (h(2), 'XData'), [0, n]); assert_equal (get (h(2), 'LineStyle'), ':'); assert_equal (get (get (ax, 'xlabel'), 'string'), 'Row number'); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Leverage'); assert_equal (get (get (ax, 'title'), 'string'), 'Case order plot of leverage'); close (fig); ***** test fig = figure ('visible', 'off'); ax = axes (fig); h = plotDiagnostics (ax, mdl, 'leverage', 'Color', [1 0 0]); assert_equal (get (h(1), 'Color'), [1 0 0], 1e-10); assert_equal (get (h(2), 'Color'), [0.8510 0.8510 0.8660], 1e-4); assert_equal (get (h(2), 'LineStyle'), ':'); close (fig); ***** test fig = figure ('visible', 'off'); ax = axes (fig); h = plotDiagnostics (ax, mdl, 'cookd'); yd = get (h(1), 'YData'); assert_equal (numel (h), 2); assert_equal (yd(1), 0.078517048682575, -1e-8); assert_equal (yd(2), 0.077211407930332, -1e-8); assert_equal (yd(3), 0.001953301452841, -1e-7); assert_equal (get (h(2), 'YData'), [0.1668641787, 0.1668641787], -1e-8); assert_equal (get (h(2), 'XData'), [0, n]); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Cook''s distance'); assert_equal (get (get (ax, 'title'), 'string'), 'Case order plot of Cook''s distance'); close (fig); ***** test fig = figure ('visible', 'off'); ax = axes (fig); h = plotDiagnostics (ax, mdl, 'covratio'); yd = get (h(1), 'YData'); yv = get (h(2), 'YData'); xv = get (h(2), 'XData'); assert_equal (numel (h), 2); assert_equal (yd(1), 1.774933177, -1e-8); assert_equal (yd(2), 1.397661919, -1e-8); assert_equal (yd(3), 1.428481535, -1e-8); assert_equal (numel (xv), 5); assert_equal (sum (isnan (xv)), 1); assert_equal (yv(1), 0.55, 1e-12); assert_equal (yv(2), 0.55, 1e-12); assert_equal (yv(4), 1.45, 1e-12); assert_equal (yv(5), 1.45, 1e-12); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Covariance ratio'); assert_equal (get (get (ax, 'title'), 'string'), 'Case order plot of covariance ratio'); close (fig); ***** test fig = figure ('visible', 'off'); ax = axes (fig); h = plotDiagnostics (ax, mdl, 'dfbetas'); p = mdl.NumCoefficients; yv = get (h(p+1), 'YData'); xv = get (h(p+1), 'XData'); assert_equal (numel (h), p + 1); assert_equal (numel (get (h(1), 'YData')), n); assert_equal (numel (get (h(2), 'YData')), n); assert_equal (numel (get (h(3), 'YData')), n); assert_equal (numel (xv), 5); assert_equal (sum (isnan (xv)), 1); assert_equal (yv(1), -0.6708203932, -1e-8); assert_equal (yv(end), 0.6708203932, -1e-8); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Scaled change in coefficients'); assert_equal (get (get (ax, 'title'), 'string'), 'Case order plot of scaled change in coefficients'); close (fig); ***** test fig = figure ('visible', 'off'); ax = axes (fig); h = plotDiagnostics (ax, mdl, 'dfbetas', 'Color', [1 0 0]); p = mdl.NumCoefficients; for k = 1:p assert_equal (get (h(k), 'Color'), [1 0 0], 1e-10); endfor assert_equal (get (h(p+1), 'Color'), [0.8510 0.8510 0.8660], 1e-4); close (fig); ***** test fig = figure ('visible', 'off'); ax = axes (fig); h = plotDiagnostics (ax, mdl, 'dffits'); yd = get (h(1), 'YData'); yv = get (h(2), 'YData'); xv = get (h(2), 'XData'); assert_equal (numel (h), 2); assert_equal (yd(1), 0.476480465355394, -1e-8); assert_equal (yd(2), 0.477020506700835, -1e-8); assert_equal (yd(3), -0.074329411030064, -1e-7); assert_equal (sum (isnan (xv)), 1); assert_equal (yv(1), -0.7745966692, -1e-8); assert_equal (yv(end), 0.7745966692, -1e-8); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Scaled change in fit'); assert_equal (get (get (ax, 'title'), 'string'), 'Case order plot of scaled change in fit'); close (fig); ***** test fig = figure ('visible', 'off'); ax = axes (fig); h = plotDiagnostics (ax, mdl, 's2_i'); yd = get (h(1), 'YData'); assert_equal (numel (h), 2); assert_equal (yd(1), 0.02359100986, -1e-8); assert_equal (yd(2), 0.02314622330, -1e-8); assert_equal (yd(3), 0.02411685408, -1e-8); assert_equal (get (h(2), 'YData'), [0.02273796067, 0.02273796067], -1e-8); assert_equal (get (h(2), 'XData'), [0, n]); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Leave-one-out variance'); assert_equal (get (get (ax, 'title'), 'string'), 'Case order plot of leave-one-out variance'); close (fig); ***** test fig = figure ('visible', 'off'); ax = axes (fig); h = plotDiagnostics (ax, mdl, 'contour'); yd = get (h(1), 'YData'); xd = get (h(1), 'XData'); assert_equal (numel (h), 2); assert_equal (xd(1), 0.3707792208, -1e-8); assert_equal (xd(2), 0.2452836637, -1e-8); assert_equal (yd(1), 0.07562471113, -1e-8); assert_equal (yd(2), 0.11059272450, -1e-8); assert_equal (get (h(1), 'LineStyle'), 'none'); assert_equal (get (h(1), 'Marker'), 'x'); assert_equal (isgraphics (h(2)), true); assert_equal (get (get (ax, 'xlabel'), 'string'), 'Leverage'); assert_equal (get (get (ax, 'ylabel'), 'string'), 'Residual'); assert_equal (get (get (ax, 'title'), 'string'), 'Cook''s distance factorization'); close (fig); ***** test me = fitlm (X, y, 'Exclude', [2, 7]); fig = figure ('visible', 'off'); ax = axes (fig); h_ex = plotDiagnostics (ax, me, 'cookd'); h_un = plotDiagnostics (ax, mdl, 'cookd'); ref_ex = get (h_ex(2), 'YData'); ref_un = get (h_un(2), 'YData'); assert_equal (! isequal (ref_ex, ref_un), true); assert_equal (ref_ex(1), 3 * mean (me.Diagnostics.CooksDistance, 'omitnan'), 1e-12); close (fig); ***** test mw = fitlm (X, y, 'Weights', (1:n)' / sum (1:n)); fig = figure ('visible', 'off'); ax = axes (fig); hw = plotDiagnostics (ax, mw, 'leverage'); hu = plotDiagnostics (ax, mdl, 'leverage'); ydw = get (hw(1), 'YData'); ydu = get (hu(1), 'YData'); assert_equal (ydw(1) != ydu(1), true); assert_equal (! isequal (ydw, ydu), true); close (fig); ***** test fig = figure ('visible', 'off'); h = plotDiagnostics (mdl); assert_equal (isequal (get (h(1), 'Parent'), gca ()), true); close (fig); ***** test fig = figure ('visible', 'off'); ax = axes (fig); h = plotEffects (ax, mdl); xd1 = get (h(1), 'XData'); yd1 = get (h(1), 'YData'); xd2 = get (h(2), 'XData'); yd2 = get (h(2), 'YData'); xd3 = get (h(3), 'XData'); yd3 = get (h(3), 'YData'); ytl = get (ax, 'YTickLabel'); assert_equal (numel (h), 3); assert_equal (xd1(1), 2.38302891604232, -1e-10); assert_equal (xd1(2), -19.5277648300125, -1e-10); assert_equal (yd1, [1 2]); assert_equal (xd2(1), 1.39673712385796, -1e-10); assert_equal (xd2(2), 3.36932070822668, -1e-10); assert_equal (yd2, [1 1]); assert_equal (xd3(1), -20.4857975891918, -1e-10); assert_equal (xd3(2), -18.5697320708331, -1e-10); assert_equal (yd3, [2 2]); assert_equal (get (h(1), 'Color'), [0.1490 0.5490 0.8660], 1e-4); assert_equal (get (h(2), 'Color'), [0.1490 0.5490 0.8660], 1e-4); assert_equal (get (h(3), 'Color'), [0.1490 0.5490 0.8660], 1e-4); assert_equal (get (h(1), 'Marker'), 'o'); assert_equal (get (h(1), 'LineStyle'), 'none'); assert_equal (get (h(2), 'LineStyle'), '-'); assert_equal (get (h(2), 'Marker'), 'none'); assert_equal (get (h(3), 'LineStyle'), '-'); assert_equal (get (h(3), 'Marker'), 'none'); assert_equal (mean (xd2), xd1(1), 1e-10); assert_equal (mean (xd3), xd1(2), 1e-10); assert_equal (get (get (ax, 'xlabel'), 'string'), 'Main Effect'); assert_equal (get (get (ax, 'ylabel'), 'string'), ''); assert_equal (get (get (ax, 'title'), 'string'), 'Main Effects Plot'); assert_equal (get (ax, 'YTick'), [1 2]); assert_equal (ytl{1}, 'x1: 0.05 to 1'); assert_equal (ytl{2}, 'x2: 0.05 to 20'); close (fig); ***** test ## 3-predictor model X3 = [X, sin((1:n)' * pi / n)]; y3 = X3 * [3; -1; 2] + 0.1 * cos ((1:n)' * pi / 7); m3 = fitlm (X3, y3); fig = figure ('visible', 'off'); ax = axes (fig); h = plotEffects (ax, m3); xd1 = get (h(1), 'XData'); yd1 = get (h(1), 'YData'); xd2 = get (h(2), 'XData'); yd2 = get (h(2), 'YData'); xd3 = get (h(3), 'XData'); yd3 = get (h(3), 'YData'); xd4 = get (h(4), 'XData'); yd4 = get (h(4), 'YData'); ytl = get (ax, 'YTickLabel'); assert_equal (numel (h), 4); assert_equal (xd1(1), 8.10687671732127, -1e-10); assert_equal (xd1(2), -25.4487243632125, -1e-10); assert_equal (xd1(3), 0.661302203942261, -1e-10); assert_equal (yd1, [1 2 3]); assert_equal (xd2(1), 0.565266595687836, -1e-10); assert_equal (xd2(2), 15.6484868389547, -1e-10); assert_equal (yd2, [1 1]); assert_equal (xd3(1), -33.3368582824351, -1e-10); assert_equal (xd3(2), -17.5605904439899, -1e-10); assert_equal (yd3, [2 2]); assert_equal (xd4(1), -1.25582490831999, -1e-10); assert_equal (xd4(2), 2.57842931620451, -1e-10); assert_equal (yd4, [3 3]); assert_equal (get (ax, 'YTick'), [1 2 3]); assert_equal (ytl{1}, 'x1: 0.05 to 1'); assert_equal (ytl{2}, 'x2: 0.05 to 20'); assert_equal (ytl{3}, 'x3: 1.22465e-16 to 1'); assert_equal (mean (xd2), xd1(1), 1e-10); assert_equal (mean (xd3), xd1(2), 1e-10); assert_equal (mean (xd4), xd1(3), 1e-10); close (fig); ***** test me = fitlm (X, y, 'Exclude', [2, 7]); fig = figure ('visible', 'off'); ax = axes (fig); h = plotEffects (ax, me); xd1 = get (h(1), 'XData'); yd1 = get (h(1), 'YData'); xd2 = get (h(2), 'XData'); yd2 = get (h(2), 'YData'); xd3 = get (h(3), 'XData'); yd3 = get (h(3), 'YData'); ytl = get (ax, 'YTickLabel'); assert_equal (numel (h), 3); assert_equal (xd1(1), 2.50035744908398, -1e-10); assert_equal (xd1(2), -19.5912988214488, -1e-10); assert_equal (yd1, [1 2]); assert_equal (xd2(1), 1.40421088339552, -1e-10); assert_equal (xd2(2), 3.59650401477245, -1e-10); assert_equal (yd2, [1 1]); assert_equal (xd3(1), -20.6333076647782, -1e-10); assert_equal (xd3(2), -18.5492899781194, -1e-10); assert_equal (yd3, [2 2]); assert_equal (ytl{1}, 'x1: 0.05 to 1'); assert_equal (ytl{2}, 'x2: 0.05 to 20'); assert_equal (mean (xd2), xd1(1), 1e-10); assert_equal (mean (xd3), xd1(2), 1e-10); close (fig); ***** test mw = fitlm (X, y, 'Weights', (1:n)' / sum (1:n)); fig = figure ('visible', 'off'); ax = axes (fig); h = plotEffects (ax, mw); xd1 = get (h(1), 'XData'); yd1 = get (h(1), 'YData'); xd2 = get (h(2), 'XData'); yd2 = get (h(2), 'YData'); xd3 = get (h(3), 'XData'); yd3 = get (h(3), 'YData'); ytl = get (ax, 'YTickLabel'); assert_equal (numel (h), 3); assert_equal (xd1(1), 2.51587141860715, -1e-10); assert_equal (xd1(2), -19.6411669663483, -1e-10); assert_equal (yd1, [1 2]); assert_equal (xd2(1), 1.08491557053384, -1e-10); assert_equal (xd2(2), 3.94682726668046, -1e-10); assert_equal (yd2, [1 1]); assert_equal (xd3(1), -20.8383905241664, -1e-10); assert_equal (xd3(2), -18.4439434085302, -1e-10); assert_equal (yd3, [2 2]); assert_equal (ytl{1}, 'x1: 0.05 to 1'); assert_equal (ytl{2}, 'x2: 0.05 to 20'); assert_equal (mean (xd2), xd1(1), 1e-10); assert_equal (mean (xd3), xd1(2), 1e-10); close (fig); ***** test mni = fitlm (X, y, 'Intercept', false); fig = figure ('visible', 'off'); ax = axes (fig); h = plotEffects (ax, mni); xd1 = get (h(1), 'XData'); yd1 = get (h(1), 'YData'); xd2 = get (h(2), 'XData'); yd2 = get (h(2), 'YData'); xd3 = get (h(3), 'XData'); yd3 = get (h(3), 'YData'); ytl = get (ax, 'YTickLabel'); assert_equal (numel (h), 3); assert_equal (xd1(1), 2.81335053251731, -1e-10); assert_equal (xd1(2), -19.8951125513936, -1e-10); assert_equal (yd1, [1 2]); assert_equal (xd2(1), 2.36234515544211, -1e-10); assert_equal (xd2(2), 3.26435590959250, -1e-10); assert_equal (yd2, [1 1]); assert_equal (xd3(1), -20.4919734818287, -1e-10); assert_equal (xd3(2), -19.2982516209584, -1e-10); assert_equal (yd3, [2 2]); assert_equal (ytl{1}, 'x1: 0.05 to 1'); assert_equal (ytl{2}, 'x2: 0.05 to 20'); assert_equal (mean (xd2), xd1(1), 1e-10); assert_equal (mean (xd3), xd1(2), 1e-10); close (fig); ***** test fig = figure ('visible', 'off'); ax = axes (fig); h = plotEffects (ax, mdl); assert_equal (isequal (get (h(1), 'Parent'), ax), true); assert_equal (get (h(1), 'XData'), [2.38302891604232, -19.5277648300125], -1e-10); close (fig); ***** test fig = figure ('visible', 'off'); h = plotEffects (mdl); assert_equal (isequal (get (h(1), 'Parent'), gca ()), true); assert_equal (get (h(1), 'XData'), [2.38302891604232, -19.5277648300125], -1e-10); close (fig); ***** test ## numeric predictor adjusted data fig = figure ('visible', 'off'); h = plotAdjustedResponse (mdl, 'x1'); assert_equal (get (h(1), 'XData'), X(:,1)', 1e-10); assert_equal (get (h(1), 'YData'), ... [-6.70590752804287, -6.54551694016554, -6.5544435914624, -6.59143572669715, ... -6.49138418414686, -6.21712299745016, -5.89359961368025, -5.69299878673044, ... -5.67643670865536, -5.73777106454765, -5.70118778736348, -5.48284370035446, ... -5.16795154710756, -4.93243578806991, -4.88118846293094, -4.95163193306634, ... -4.97125247389768, -4.81620859768203, -4.52519034621851, -4.26384784484646], 1e-8); xf = get (h(2), 'XData'); yf = get (h(2), 'YData'); assert_equal (numel (xf), 100); assert_equal (xf(1:5), ... [0.05, 0.0595959595959596, 0.0691919191919192, 0.0787878787878788, 0.0883838383838384], 1e-10); assert_equal (yf(1:5), ... [-6.78153223917696, -6.75746124002502, -6.73339024087308, -6.70931924172113, -6.68524824256919], 1e-8); assert_equal (xf(end-4:end), ... [0.961616161616162, 0.971212121212121, 0.980808080808081, 0.99040404040404, 1], 1e-10); assert_equal (yf(end-4:end), ... [-4.49478731974241, -4.47071632059047, -4.44664532143853, -4.42257432228658, -4.39850332313464], 1e-8); close (fig); ***** test ## title and axis labels follow the standard convention fig = figure ('visible', 'off'); plotAdjustedResponse (mdl, 'x1'); assert_equal (get (get (gca, 'Title'), 'String'), 'Adjusted Response Plot'); assert_equal (get (get (gca, 'XLabel'), 'String'), 'x1'); assert_equal (get (get (gca, 'YLabel'), 'String'), 'Adjusted y'); close (fig); ***** test ## ax routing and a second predictor fig = figure ('visible', 'off'); ax = axes (fig); h = plotAdjustedResponse (ax, mdl, 'x2'); assert_equal (isequal (get (h(1), 'Parent'), ax), true); assert_equal (get (h(1), 'XData'), X(:,2)', 1e-8); assert_equal (get (h(1), 'YData'), ... [1.45980865498274, 1.34795136885775, 0.968893310576047, 0.463886235373945, ... -0.00196069502564064, -0.391481514261341, -0.829623669406342, -1.48857191435397, ... -2.42944244115883, -3.5460929349136, -4.66270932857441, -5.6954484453929, ... -6.72952302895603, -7.94085753971093, -9.43434401734702, -11.14740482324, ... -12.9075262328114, -14.5908667583184, -16.23611644156, -18.0089254078756], 1e-7); close (fig); ***** test ## name-value arguments style the data points only fig = figure ('visible', 'off'); h = plotAdjustedResponse (mdl, 'x1', 'Marker', 's', 'MarkerSize', 10, 'Color', 'r'); assert_equal (get (h(1), 'Marker'), 's'); assert_equal (get (h(1), 'MarkerSize'), 10); assert_equal (get (h(1), 'Color'), [1 0 0]); assert_equal (get (h(2), 'Marker'), 'none'); close (fig); ***** test yn = y; yn(3) = NaN; mn = fitlm (X, yn); fig = figure ('visible', 'off'); h = plotAdjustedResponse (mn, 'x1'); xd = get (h(1), 'XData'); yd = get (h(1), 'YData'); assert_equal (isnan (xd(3)), true); assert_equal (isnan (yd(3)), true); assert_equal (yd([1 2 4]), [-7.04679028889336, -6.88651148335619, -6.93287739924846], 1e-8); close (fig); ***** test w = mod ((1:n)', 3) + 1; mw = fitlm (X, y, 'Weights', w); fig = figure ('visible', 'off'); h = plotAdjustedResponse (mw, 'x1'); assert_equal (get (h(1), 'YData'), ... [-6.66184168801736, -6.5023788020353, -6.51285162315763, -6.55200839614801, ... -6.45473995928354, -6.18388034620285, -5.86437700397912, -5.66841468650568, ... -5.65710958583715, -5.72431938706618, -5.69423002314892, -5.482998317337, ... -5.17583701321739, -4.9486705712372, -4.90639103108588, -4.98642075413911, ... -5.01624601581846, -4.87202532838101, -4.59244873362587, -4.34316635689238], 1e-7); close (fig); ***** test ## robust regression mr = fitlm (X, y, 'RobustOpts', 'on'); fig = figure ('visible', 'off'); h = plotAdjustedResponse (mr, 'x1'); assert_equal (get (h(1), 'YData'), ... [-6.69986109212516, -6.53959779763556, -6.54873660457867, -6.58602575771814, ... -6.48635609533107, -6.2125616510561, -5.88958987196639, -5.68962551195529, ... -5.67378476307741, -5.7359253104254, -5.70023308695542, -5.48286491591908, ... -5.16903354090336, -4.93466342235539, -4.88464659996458, -4.95640543510664, ... -4.97742620320314, -4.82386741651113, -4.53441911682976, -4.27473142949835], 1e-7); close (fig); ***** test ## numeric predictor averaged over a categorical predictor wt = [3504;3693;3436;3433;3449;3672;3705;3288;3092;2500;2700;3100]; yr = categorical ([70;70;70;70;70;76;76;76;82;82;82;82]); mg = [18;15;18;16;17;20;22;24;30;32;28;26]; tc = table (mg, wt, yr, 'VariableNames', {'MPG','Weight','Year'}); mc = fitlm (tc, 'MPG ~ Year + Weight'); fig = figure ('visible', 'off'); h = plotAdjustedResponse (mc, 'Weight'); assert_equal (get (h(1), 'XData'), wt', 1e-10); assert_equal (get (h(1), 'YData'), ... [22.1247351073949, 19.1247351073949, 22.1247351073949, 20.1247351073949, ... 21.1247351073949, 18.6102199722546, 20.6102199722546, 22.6102199722546, ... 25.8864161365654, 27.8864161365654, 23.8864161365654, 21.8864161365654], 1e-8); xf = get (h(2), 'XData'); yf = get (h(2), 'YData'); assert_equal (xf(1:5), ... [2500, 2512.17171717172, 2524.34343434343, 2536.51515151515, 2548.68686868687], 1e-8); assert_equal (yf(1:5), ... [26.9912481948118, 26.9176291703666, 26.8440101459214, 26.7703911214761, 26.6967720970309], 1e-8); close (fig); ***** test ## categorical predictor evaluated per level wt = [3504;3693;3436;3433;3449;3672;3705;3288;3092;2500;2700;3100]; yr = categorical ([70;70;70;70;70;76;76;76;82;82;82;82]); mg = [18;15;18;16;17;20;22;24;30;32;28;26]; tc = table (mg, wt, yr, 'VariableNames', {'MPG','Weight','Year'}); mc = fitlm (tc, 'MPG ~ Year + Weight'); fig = figure ('visible', 'off'); h = plotAdjustedResponse (mc, 'Year'); assert_equal (get (h(1), 'XData'), [1 1 1 1 1 2 2 2 3 3 3 3]); assert_equal (get (h(1), 'YData'), ... [19.2479799272553, 17.3911214761304, 18.8366909043795, 16.8185458004291, ... 17.9153196881646, 22.2641057484776, 24.463701891932, 23.9415324428265, ... 28.7560523180671, 27.1754184718549, 24.3850920685482, 24.8044392619348], 1e-7); assert_equal (get (h(2), 'XData'), [1 2 3]); assert_equal (get (h(2), 'YData'), [18.0419315592718, 23.5564466944121, 26.2802505301012], 1e-8); assert_equal (get (gca, 'XTickLabel'), {'70'; '76'; '82'}); close (fig); ***** test ## added variable plot for the whole model fig = figure ('visible', 'off'); h = plotAdded (mdl); assert_equal (get (get (gca, 'Title'), 'String'), 'Added Variable Plot for Whole Model'); assert_equal (get (get (gca, 'XLabel'), 'String'), 'Adjusted Whole Model'); assert_equal (get (h(1), 'XData'), ... [0.0284033824838481, 0.0204548552857604, -0.0238455815942649, -0.104497928156226, ... -0.221502184400124, -0.374858350325959, -0.564566425933731, -0.79062641122344, ... -1.05303830619508, -1.35180211084867, -1.68691782518418, -2.05838544920164, ... -2.46620498290103, -2.91037642628236, -3.39089977934563, -3.90777504209083, ... -4.46100221451797, -5.05058129662704, -5.67651228841805, -6.338795189891], 1e-7); assert_equal (get (h(1), 'YData'), ... [0.268294196961578, 0.281859485365135, 0.0282240016119717, -0.351360499061586, ... -0.691784854932629, -0.955883099639786, -1.26860268025624, -1.80212835067532, ... -2.61757630295165, -3.60880422217788, -4.59999804131014, -5.50731458360009, ... -6.41596659263467, -7.50187852886103, -8.86994243196858, -10.457580663333, ... -12.0922794983759, -13.6501974493543, -15.1700245580674, -16.8174109498545], 1e-7); assert_equal (get (h(2), 'DisplayName'), 'Fit: y = 2.69267*x'); close (fig); ***** test ## added variable plot for just the intercept term fig = figure ('visible', 'off'); h = plotAdded (mdl, 1); assert_equal (get (get (gca, 'Title'), 'String'), 'Added Variable Plot for (Intercept)'); assert_equal (get (h(1), 'YData'), ... [-5.41993222738086, -5.40485070721962, -5.55724508427077, -5.73586360329798, ... -5.77559710257835, -5.63927961575051, -5.45185858988763, -5.38551877888305, ... -5.50137637479139, -5.6932890627053, -5.78544277558092, -5.6939943366699, ... -5.50415648955918, -5.3918536946959, -5.4619779917695, -5.65195174215564, ... -5.78926122127593, -5.75006494138741, -5.57305294428921, -5.42387535532067], 1e-7); assert_equal (get (h(2), 'DisplayName'), 'Fit: y = 0.116189*x'); close (fig); ***** test ## added variable plot for one predictor picked by index fig = figure ('visible', 'off'); h = plotAdded (mdl, 2); assert_equal (get (get (gca, 'Title'), 'String'), 'Added Variable Plot for x1'); assert_equal (get (h(1), 'YData'), ... [-5.90289714234183, -5.75941203626873, -5.79651449057265, -5.87295275001727, ... -5.82361765287968, -5.6113432327985, -5.36107693684693, -5.24500351891828, ... -5.32423917106718, -5.49264157838629, -5.57439667383173, -5.48566128065516, ... -5.31164814244354, -5.22828171964398, -5.34045405194592, -5.58558750072505, ... -5.79116834140295, -5.83335508623668, -5.75083777702536, -5.70926653910833], 1e-7); assert_equal (get (h(2), 'DisplayName'), 'Fit: y = 2.50845*x'); xf = get (h(2), 'XData'); yf = get (h(2), 'YData'); assert_equal (xf(1:3), [0.370121951219512, 0.372449462532903, 0.374776973846294], 1e-9); assert_equal (yf(1:3), [-5.97852185347592, -5.97268340425253, -5.96684495502913], 1e-7); close (fig); ***** test ## added variable plot for the other predictor, a negative slope this time fig = figure ('visible', 'off'); h = plotAdded (mdl, 3); assert_equal (get (get (gca, 'Title'), 'String'), 'Added Variable Plot for x2'); assert_equal (get (h(1), 'YData'), ... [-8.3040737600235, -7.38815394983204, -6.7394349117973, -6.21666489068295, ... -5.65473472476609, -5.01647844768535, -4.4268435065139, -4.05801465514508, ... -3.9711080856335, -4.05998148307182, -4.14882078041619, -4.15378280091823, ... -4.16008028816491, -4.34363770260337, -4.80934708392301, -5.49463079349955, ... -6.22697510675454, -6.88253853594507, -7.50001112287024, -8.2450429928694], 1e-7); assert_equal (get (h(2), 'DisplayName'), 'Fit: y = -0.978835*x'); close (fig); ***** test ## ax argument sends the plot to that axes fig = figure ('visible', 'off'); ax = axes (fig); h = plotAdded (ax, mdl, 2); assert_equal (isequal (get (h(1), 'Parent'), ax), true); close (fig); ***** test ## name-value styling only changes the data points, not the fit line fig = figure ('visible', 'off'); h = plotAdded (mdl, 2, 'Marker', 's', 'MarkerSize', 10, 'Color', 'r'); assert_equal (get (h(1), 'Marker'), 's'); assert_equal (get (h(1), 'MarkerSize'), 10); assert_equal (get (h(1), 'Color'), [1 0 0]); assert_equal (get (h(2), 'Marker'), 'none'); close (fig); ***** test ## a missing observation leaves a gap in the adjusted data yn = y; yn(3) = NaN; mn = fitlm (X, yn); fig = figure ('visible', 'off'); h = plotAdded (mn, 2); xd = get (h(1), 'XData'); yd = get (h(1), 'YData'); assert_equal (isnan (xd(3)), true); assert_equal (isnan (yd(3)), true); close (fig); ***** test ## weighted fit still gives a proper added variable plot w = mod ((1:n)', 3) + 1; mw = fitlm (X, y, 'Weights', w); fig = figure ('visible', 'off'); h = plotAdded (mw, 2); assert_equal (get (h(1), 'YData'), ... [-6.04899282212585, -5.90562605001686, -5.9429257275943, -6.01964009962184, ... -5.97066000437658, -5.75881947549715, -5.50906596005672, -5.39358421194863, ... -5.4734904232275, -5.64264227898597, -5.7252257121802, -5.63739754606181, ... -5.46437052421778, -5.38206910709522, -5.49538533438357, -5.74174156745852, ... -5.94862408174164, -5.99219138949, -5.91113353250271, -5.87110063611913], 1e-7); assert_equal (get (h(2), 'DisplayName'), 'Fit: y = 2.38836*x'); close (fig); ***** test ## robust fit still gives a proper added variable plot mr = fitlm (X, y, 'RobustOpts', 'on'); fig = figure ('visible', 'off'); h = plotAdded (mr, 2); assert_equal (get (h(1), 'YData'), ... [-5.89409568732029, -5.75060102429134, -5.78768755033552, -5.86410351021651, ... -5.81473974221138, -5.60243027995878, -5.35212257053188, -5.23600136782402, ... -5.31518286388981, -5.4835247438219, -5.56521294057644, -5.47640427740507, ... -5.30231149789475, -5.2188590624926, -5.33093901088806, -5.5759737044568, ... -5.78144941862042, -5.82352466563597, -5.74088948730258, -5.69919400895959], 1e-7); assert_equal (get (h(2), 'DisplayName'), 'Fit: y = 2.48815*x'); close (fig); ***** test ## added variable plot for the whole model load carsmall Year = categorical (Model_Year); tbl = table (MPG, Weight, Year); mdl1 = fitlm (tbl, 'MPG ~ Year + Weight^2'); fig = figure ('visible', 'off'); h = plotAdded (mdl1); assert_equal (get (get (gca, 'Title'), 'String'), 'Added Variable Plot for Whole Model'); assert_equal (get (get (gca, 'XLabel'), 'String'), 'Adjusted Whole Model'); xd = get (h(1), 'XData'); yd = get (h(1), 'YData'); assert_equal (xd(1:5), ... [-4.54006581304461, -4.65629283432076, -4.49502736854252, ... -4.49300111649177, -4.50376945388336], 1e-7); assert_equal (yd(1:5), [18, 15, 18, 16, 17], 1e-8); assert_equal (get (h(2), 'DisplayName'), 'Fit: y = 8.44866*x'); xf = get (h(2), 'XData'); yf = get (h(2), 'YData'); assert_equal (xf(1:3), [-5.06005142297709, -5.03050027197254, -5.000949120968], 1e-7); assert_equal (yf(1:3), [11.4556384009199, 11.7053059986795, 11.9549735964392], 1e-7); close (fig); ***** test ## added variable plot for the weight terms picked as a pair load carsmall Year = categorical (Model_Year); tbl = table (MPG, Weight, Year); mdl1 = fitlm (tbl, 'MPG ~ Year + Weight^2'); fig = figure ('visible', 'off'); h = plotAdded (mdl1, [2 5]); assert_equal (get (get (gca, 'Title'), 'String'), 'Added Variable Plot for Specified Terms'); assert_equal (get (get (gca, 'XLabel'), 'String'), 'Adjusted Specified Terms'); xd = get (h(1), 'XData'); yd = get (h(1), 'YData'); assert_equal (xd(1:5), ... [-2181.48546848357, -2241.34798193195, -2158.28850051435, ... -2157.24488312395, -2162.79109548355], 1e-6); assert_equal (yd(1:5), ... [24.0284299339692, 21.0284299339692, 24.0284299339692, ... 22.0284299339692, 23.0284299339692], 1e-7); assert_equal (get (h(2), 'DisplayName'), 'Fit: y = 0.0164036*x'); close (fig); ***** test load hald Xh = ingredients; yh = heat; mdlh = fitlm (Xh, yh); assert_equal (mdlh.Coefficients.Estimate, ... [62.405369299918; 1.55110264750845; 0.510167579684912; ... 0.101909403579662; -0.144061029071018], 1e-9); assert_equal (mdlh.Coefficients.SE, ... [70.0709592085362; 0.744769867130993; 0.72378800183518; ... 0.754709045051309; 0.70905206344651], 1e-9); assert_equal (mdlh.Coefficients.tStat, ... [0.890602469336764; 2.0826603169159; 0.704857746178952; ... 0.135031379639465; -0.203174120065001], 1e-8); assert_equal (mdlh.Coefficients.pValue, ... [0.399133563385561; 0.0708216874297252; 0.500901103474289; ... 0.895922690510107; 0.844071473291884], 1e-8); assert_equal (mdlh.CoefficientNames, {'(Intercept)', 'x1', 'x2', 'x3', 'x4'}); assert_equal (mdlh.NumCoefficients, 5); assert_equal (mdlh.NumEstimatedCoefficients, 5); assert_equal (mdlh.DFE, 8); assert_equal (mdlh.SSE, 47.863639350499, 1e-8); assert_equal (mdlh.SSR, 2667.89943757258, 1e-6); assert_equal (mdlh.SST, 2715.76307692308, 1e-6); assert_equal (mdlh.MSE, 5.98295491881254, 1e-9); assert_equal (mdlh.RMSE, 2.44600795559061, 1e-9); assert_equal (mdlh.Rsquared.Ordinary, 0.98237562040768, 1e-9); assert_equal (mdlh.Rsquared.Adjusted, 0.97356343061152, 1e-9); assert_equal (mdlh.LogLikelihood, -26.918344895826, 1e-8); assert_equal (mdlh.ModelCriterion.AIC, 63.8366897916521, 1e-7); assert_equal (mdlh.ModelCriterion.AICc, 72.4081183630806, 1e-7); assert_equal (mdlh.ModelCriterion.BIC, 66.6614365789598, 1e-7); assert_equal (mdlh.ModelCriterion.CAIC, 71.6614365789598, 1e-7); assert_equal (mdlh.Fitted(1:5), ... [78.4952395815018; 72.7887993002909; 105.970937532083; ... 89.3271002550427; 95.649244438227], 1e-8); assert_equal (mdlh.Residuals.Raw(1:5), ... [0.00476041849822195; 1.51120069970906; -1.67093753208295; ... -1.72710025504266; 0.250755561773033], 1e-8); assert_equal (mdlh.Residuals.Pearson(1:5), ... [0.00194619910672879; 0.617823297040002; -0.683128412670876; ... -0.706089385807266; 0.102516249466771], 1e-8); assert_equal (mdlh.Residuals.Studentized(1:5), ... [0.00271470565323249; 0.734526653667679; -1.05809320265782; ... -0.824036396702643; 0.119767490249399], 1e-8); assert_equal (mdlh.Residuals.Standardized(1:5), ... [0.00290214088954622; 0.756624558354514; -1.05027405557414; ... -0.841081414787206; 0.127905848829164], 1e-8); assert_equal (mdlh.Diagnostics.Leverage(1:5), ... [0.550284813713987; 0.333242829857405; 0.576942476415795; ... 0.29523667959374; 0.357601364034465], 1e-8); assert_equal (mdlh.Diagnostics.CooksDistance(1:5), ... [2.06118491039641e-06; 0.0572247602223712; 0.300862709270433; ... 0.0592697490074745; 0.00182140011900327], 1e-8); assert_equal (mdlh.Diagnostics.Dffits(1:5), ... [0.00300294746488125; 0.519283016757055; -1.23563576459509; ... -0.533347058289184; 0.0893585735072963], 1e-7); assert_equal (mdlh.Diagnostics.S2_i(1:5), ... [6.83765556564705; 6.34835899957971; 5.89485540180634; ... 6.23302709557492; 6.82367982420565], 1e-7); assert_equal (mdlh.Diagnostics.CovRatio(1:5), ... [4.33530738335252; 2.01725612858557; 2.19476339013102; ... 1.74129811023362; 3.00406926806094], 1e-6); assert_equal (coefCI (mdlh), ... [-99.178552392689 223.989290992525; -0.166339745871082 3.26854504088797; ... -1.15889054555817 2.179225704928; -1.63845277518465 1.84227158234397; ... -1.77913801945372 1.49101596131168], 1e-7); assert_equal (coefCI (mdlh, 0.1), ... [-67.8949453842232 192.705683984059; 0.166167302672858 2.93603799234403; ... -0.835750978716108 1.85608613808593; -1.30150832005232 1.50532712721164; ... -1.46257740216021 1.17445534401817], 1e-7); [p, F, r] = coefTest (mdlh); assert_equal (p, 4.75618174559791e-07, 1e-12); assert_equal (F, 111.479171821258, 1e-6); assert_equal (r, 4); [dw, pdw] = dwtest (mdlh); assert_equal (dw, 0.842123108585363, 1e-9); assert_equal (pdw, 2.05259693286049, 1e-8); ***** test load hald Xq = ingredients; yq = heat; mdlq = fitlm (Xq, yq, 'purequadratic'); assert_equal (mdlq.Coefficients.Estimate, ... [-210.864812527187; 4.01775196981369; 5.27927179495849; 4.98703005469684; ... 1.18967556414545; -0.00475259718542981; -0.0278555063988026; ... -0.0885225308739459; 0.0125632231921875], 1e-8); assert_equal (mdlq.Coefficients.SE, ... [62.2492955088454; 0.709968572684776; 0.928573133899706; 1.15325562045609; ... 0.559753134550446; 0.0119258668009245; 0.00570193167405062; ... 0.0224063172978396; 0.0040139580330777], 1e-8); assert_equal (mdlq.Coefficients.tStat, ... [-3.38742488253901; 5.6590560827508; 5.68535918413584; 4.3243058748108; ... 2.12535757410437; -0.398511677579811; -4.88527537528597; ... -3.95078449069724; 3.12988404180068], 1e-7); assert_equal (mdlq.Coefficients.pValue, ... [0.0275955163014823; 0.00480588842249351; 0.00472567672152044; ... 0.0124052274432915; 0.100732674864514; 0.710609610173011; ... 0.00812965117162355; 0.0168069450605605; 0.0351891921636521], 1e-7); assert_equal (mdlq.CoefficientNames, ... {'(Intercept)', 'x1', 'x2', 'x3', 'x4', 'x1^2', 'x2^2', 'x3^2', 'x4^2'}); assert_equal (mdlq.NumCoefficients, 9); assert_equal (mdlq.DFE, 4); assert_equal (mdlq.Rsquared.Ordinary, 0.998060528051984, 1e-9); assert_equal (mdlq.Rsquared.Adjusted, 0.994181584155951, 1e-9); assert_equal (mdlq.SSE, 5.26714630515049, 1e-7); assert_equal (mdlq.SSR, 2710.49593061793, 1e-6); assert_equal (mdlq.SST, 2715.76307692308, 1e-6); Xnewq = mean (Xq, 1); [ypredq, yciq] = predict (mdlq, Xnewq); assert_equal (ypredq, 101.90428629036, 1e-7); assert_equal (yciq, [97.996264336243, 105.812308244477], 1e-6); [ypredq2, yciq2] = predict (mdlq, Xnewq, 'Alpha', 0.01); assert_equal (ypredq2, 101.90428629036, 1e-7); assert_equal (yciq2, [95.4237317847484, 108.384840795971], 1e-6); yfeq = feval (mdlq, Xnewq(1), Xnewq(2), Xnewq(3), Xnewq(4)); assert_equal (yfeq, 101.90428629036, 1e-7); ysimq = random (mdlq, Xnewq); assert_equal (isscalar (ysimq), true); assert_equal (isnumeric (ysimq), true); mdlq2 = removeTerms (mdlq, 'x1^2'); assert_equal (mdlq2.Coefficients.Estimate, ... [180.815670525319; 0.228012666917658; -2.0654020024496; -1.90840414992816; ... -0.0108001957000414; 0.0257318558607856; 0.00699693273966028], 1e-8); assert_equal (mdlq2.CoefficientNames, ... {'(Intercept)', 'x2', 'x3', 'x4', 'x2^2', 'x3^2', 'x4^2'}); assert_equal (mdlq2.NumCoefficients, 7); mdlq3 = addTerms (mdlq2, 'x1^2'); assert_equal (mdlq3.Coefficients.Estimate, mdlq.Coefficients.Estimate, 1e-8); assert_equal (mdlq3.CoefficientNames, mdlq.CoefficientNames); assert_equal (mdlq3.SSE, 5.26714630515049, 1e-7); ***** test load hald Xr = ingredients; yr = heat; mdlr = fitlm (Xr, yr, 'RobustOpts', 'bisquare'); assert_equal (mdlr.Coefficients.Estimate, ... [60.0897358816096; 1.57529551556915; 0.532199192097796; ... 0.133455378556458; -0.120521170556001], 1e-8); assert_equal (mdlr.Coefficients.SE, ... [75.8175597390933; 0.805849306629754; 0.783146694256936; ... 0.816603608044244; 0.767202244491812], 1e-8); assert_equal (mdlr.Coefficients.tStat, ... [0.792556976093573; 1.95482642053437; 0.679565138945976; ... 0.163427368238162; -0.157091785668371], 1e-7); assert_equal (mdlr.Coefficients.pValue, ... [0.450897370203866; 0.0863457969332376; 0.515957116726031; ... 0.874235088124976; 0.879064839096153], 1e-7); assert_equal (mdlr.CoefficientNames, {'(Intercept)', 'x1', 'x2', 'x3', 'x4'}); assert_equal (is_function_handle (mdlr.Robust.RobustWgtFun), true); assert_equal (mdlr.Robust.Tune, 4.685, 1e-10); assert_equal (size (mdlr.Robust.Weights), [13, 1]); assert_equal (isnumeric (mdlr.Robust.Weights), true); assert_equal (mdlr.SSE, 56.0362670671825, 1e-6); assert_equal (mdlr.MSE, 7.00453338339782, 1e-8); assert_equal (mdlr.RMSE, 2.64660790133291, 1e-8); assert_equal (mdlr.Rsquared.Ordinary, 0.97929734395902, 1e-9); assert_equal (mdlr.Rsquared.Adjusted, 0.96894601593853, 1e-9); assert_equal (mdlr.DFE, 8); H = [0 1 -1 0 0]; [p1, F1, r1] = coefTest (mdlr, H); assert_equal (p1, 0.00308748318894346, 1e-11); assert_equal (F1, 17.4568343157849, 1e-7); assert_equal (r1, 1); [pd1, dw1] = dwtest (mdlr, 'exact', 'both'); assert_equal (pd1, 0.844119247360191, 1e-9); assert_equal (dw1, 2.05387711905232, 1e-8); [pd2, dw2] = dwtest (mdlr, 'approximate', 'right'); assert_equal (pd2, 0.425180546504485, 1e-9); assert_equal (dw2, 2.05387711905232, 1e-8); Xnewr = mean (Xr, 1); [ypredr, ycir] = predict (mdlr, Xnewr, 'Simultaneous', true); assert_equal (ypredr, 95.4263340097424, 1e-7); assert_equal (ycir, [92.2744598719279, 98.5782081475569], 1e-6); [ypredr2, ycir2] = predict (mdlr, Xnewr, 'Simultaneous', true, 'Alpha', 0.1); assert_equal (ypredr2, 95.4263340097424, 1e-7); assert_equal (ycir2, [92.7161333049321, 98.1365347145527], 1e-6); ***** warning ... m = addTerms (mdl, 'x1'); ***** warning ... m = removeTerms (mdl, 'x1:x2'); ***** error fitlm (X, y, 'NotAKey', 1) ***** error fitlm (X, y, 'VarNames', {'a','b','c','d'}) ***** error fitlm (X, y, [1 2 3 4; 5 6 7 8]) ***** error fitlm (X, y, [1 2 1; 0 1 1]) ***** error fitlm (NaN (5, 2), NaN (5, 1)) ***** error fitlm (NaN (3, 2), [1; 2; 3]) ***** error fitlm ([1 2; 3 4; 5 6], NaN (3, 1)) ***** error fitlm (X, y, 'Exclude', (1:n)') ***** error fitlm () ***** error fitlm ('hello', y) ***** error fitlm ({'a';'b'}, [1; 2]) ***** error fitlm (X) ***** error fitlm (X, 'Weights', [1;1;1]) ***** error fitlm (X, [1; 2]) ***** error fitlm (X, [1 2]) ***** error mdl(1) ***** error mdl {1} ***** error predict (mdl, [0.5 0.25], 'BadOption', 1) ***** error predict (mdl, [0.5 0.25], 'Alpha', -0.1) ***** error predict (mdl, [0.5 0.25], 'Alpha', 1.5) ***** error predict (mdl, [0.5 0.25], 'Alpha', [0.01 0.05]) ***** error predict (mdl, [0.5 0.25], 'Prediction', 'bad') ***** error predict (mdl, ones (3, 5)) ***** error predict (mdl, ones (3, 1)) ***** error predict (mdl, table ([1;2], 'VariableNames', {'z'})) ***** error random (mdl) ***** error random (mdl, [0.5, 0.25], 'extra') ***** error random (mdl, ones (3, 5)) ***** error random (mdl, []) ***** error feval (mdl) ***** error feval (mdl, [0.5; 1.0], [0.25; 1.0], [0.1; 0.2]) ***** error feval (mdl, ones (3, 1)) ***** error feval (mdl, [0.5; 1.0; 0.2], [0.25; 1.0]) ***** error feval (mdl, table ([1; 2], 'VariableNames', {'z'})) ***** error feval (mdl, []) ***** error coefCI (mdl, 0.05, 'extra') ***** error coefCI (mdl, 1.5) ***** error coefCI (mdl, -0.1) ***** error coefCI (mdl, [0.01 0.05]) ***** error coefCI (mdl, NaN) ***** error coefCI (mdl, 'abc') ***** error coefTest (mdl, [1 0]) ***** error coefTest (mdl, 'abc') ***** error coefTest (mdl, [0 1 0], 'abc') ***** error coefTest (mdl, [0 1 0; 0 0 1], [1]) ***** error coefTest (mdl, [0 NaN 0]) ***** error coefTest (mdl, [0 1 0], 0, 'extra') ***** error [a, b, c, d] = coefTest (mdl) ***** error dwtest (mdl, 'badmethod', 'both') ***** error dwtest (mdl, 123, 'both') ***** error dwtest (mdl, 'exact', 'both', 'extra') ***** error [a, b, c] = dwtest (mdl) ***** error addTerms (mdl) ***** error addTerms (mdl, 'x1:x2', 'extra') ***** error addTerms (mdl, 'z') ***** error addTerms (mdl, 'X1') ***** error addTerms (mdl, 'x1:z') ***** error addTerms (mdl, 'x1*z') ***** error addTerms (mdl, [1, 1, 1, 0]) ***** error addTerms (mdl, []) ***** error addTerms (mdl, {}) ***** error removeTerms (mdl) ***** error removeTerms (mdl, 'x1', 'extra') ***** error removeTerms (mdl, 'z1') ***** error removeTerms (mdl, [0 1 0 0]) ***** error removeTerms (mdl, []) ***** error removeTerms (mdl, {'x1'}) ***** error plotResiduals (mdl, 'badtype') ***** error plotResiduals (mdl, 'fitted', 'ResidualType', 'bad') ***** error plotDiagnostics (mdl, 'badtype') ***** error plotDiagnostics (mdl, 'leverage', 'BadProp', 1) ***** error plotEffects (mdl, 'extra') ***** error plotEffects (mdl, 'a', 'b') ***** error plotEffects (fitlm (X(:,1), y, 'constant')) ***** error fitlm (X, y, 'RobustOpts', 'notarealfunction') ***** error fitlm (X, y, 'RobustOpts', 42) ***** error plotAdjustedResponse (mdl) ***** error plotAdjustedResponse (mdl, 'z') ***** error plotAdjustedResponse (mdl, 3) ***** error plotAdjustedResponse (mdl, 99) ***** error plotAdjustedResponse (mdl, 1.5) ***** error plotAdjustedResponse (mdl, 'x1', 'BadOption', 5) ***** error plotAdded (mdl, 99) ***** error plotAdded (mdl, 'NotACoef') ***** error plotAdded (mdl, 2, 'BadOpt', 5) ***** error mdl0 = fitlm (ones (n, 1), y, 'Intercept', false); plotAdded (mdl0) 279 tests, 279 passed, 0 known failure, 0 skipped [inst/qrandn.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/qrandn.m ***** demo z = qrandn (-5, 5e6); [c x] = hist (z,linspace (-1.5,1.5,200),1); figure (1) plot (x,c,'r.'); axis tight; axis ([-1.5,1.5]); z = qrandn (-0.14286, 5e6); [c x] = hist (z,linspace (-2,2,200),1); figure (2) plot (x,c,'r.'); axis tight; axis ([-2,2]); z = qrandn (2.75, 5e6); [c x] = hist (z,linspace (-1e3,1e3,1e3),1); figure (3) semilogy (x,c,'r.'); axis tight; axis ([-100,100]); # --------- # Figures from the reference paper. ***** error qrandn ([1 2], 1) ***** error qrandn (4, 1) ***** error qrandn (3, 1) ***** error qrandn (2.5, 1, 2, 3) ***** error qrandn (2.5) ***** test q = 1.5; s = [2, 3]; z = qrandn (q, s); assert_equal (isnumeric (z) && isequal (size (z), s), true); 6 tests, 6 passed, 0 known failure, 0 skipped [inst/kruskalwallis.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/kruskalwallis.m ***** demo x = meshgrid (1:6); x = x + normrnd (0, 1, 6, 6); kruskalwallis (x, [], 'off'); ***** demo x = meshgrid (1:6); x = x + normrnd (0, 1, 6, 6); [p, atab] = kruskalwallis (x); ***** demo x = ones (30, 4) .* [-2, 0, 1, 5]; x = x + normrnd (0, 2, 30, 4); group = {'A', 'B', 'C', 'D'}; kruskalwallis (x, group); ***** test data = [1.006, 0.996, 0.998, 1.000, 0.992, 0.993, 1.002, 0.999, 0.994, 1.000, ... 0.998, 1.006, 1.000, 1.002, 0.997, 0.998, 0.996, 1.000, 1.006, 0.988, ... 0.991, 0.987, 0.997, 0.999, 0.995, 0.994, 1.000, 0.999, 0.996, 0.996, ... 1.005, 1.002, 0.994, 1.000, 0.995, 0.994, 0.998, 0.996, 1.002, 0.996, ... 0.998, 0.998, 0.982, 0.990, 1.002, 0.984, 0.996, 0.993, 0.980, 0.996, ... 1.009, 1.013, 1.009, 0.997, 0.988, 1.002, 0.995, 0.998, 0.981, 0.996, ... 0.990, 1.004, 0.996, 1.001, 0.998, 1.000, 1.018, 1.010, 0.996, 1.002, ... 0.998, 1.000, 1.006, 1.000, 1.002, 0.996, 0.998, 0.996, 1.002, 1.006, ... 1.002, 0.998, 0.996, 0.995, 0.996, 1.004, 1.004, 0.998, 0.999, 0.991, ... 0.991, 0.995, 0.984, 0.994, 0.997, 0.997, 0.991, 0.998, 1.004, 0.997]; group = [1:10] .* ones (10,10); group = group(:); [p, tbl] = kruskalwallis (data, group, 'off'); assert_equal (p, 0.048229, 1e-6); assert_equal (tbl{2,5}, 17.03124, 1e-5); assert_equal (tbl{2,3}, 9, 0); assert_equal (tbl{4,2}, 82655.5, 1e-16); data = reshape (data, 10, 10); [p, tbl, stats] = kruskalwallis (data, [], 'off'); assert_equal (p, 0.048229, 1e-6); assert_equal (tbl{2,5}, 17.03124, 1e-5); assert_equal (tbl{2,3}, 9, 0); assert_equal (tbl{4,2}, 82655.5, 1e-16); means = [51.85, 60.45, 37.6, 51.1, 29.5, 54.25, 64.55, 66.7, 53.65, 35.35]; N = 10 * ones (1, 10); assert_equal (stats.meanranks, means, 1e-6); assert_equal (length (stats.gnames), 10, 0); assert_equal (stats.n, N, 0); 1 test, 1 passed, 0 known failure, 0 skipped [inst/dendrogram.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dendrogram.m ***** demo ## simple dendrogram y = [4, 5; 2, 6; 3, 7; 8, 9; 1, 10]; y(:,3) = 1:5; dendrogram (y); title ('simple dendrogram'); ***** demo ## another simple dendrogram v = 2 * rand (30, 1) - 1; d = abs (bsxfun (@minus, v(:, 1), v(:, 1)')); y = linkage (squareform (d, 'tovector')); dendrogram (y); title ('another simple dendrogram'); ***** demo ## collapsed tree, find all the leaves of node 5 X = randn (60, 2); D = pdist (X); y = linkage (D, 'average'); subplot (2, 1, 1); title ('original tree'); dendrogram (y, 0); subplot (2, 1, 2); title ('collapsed tree'); [~, t] = dendrogram (y, 20); find (t == 5) ***** demo ## optimal leaf order X = randn (30, 2); D = pdist (X); y = linkage (D, 'average'); order = optimalleaforder (y, D); subplot (2, 1, 1); title ('original leaf order'); dendrogram (y); subplot (2, 1, 2); title ('optimal leaf order'); dendrogram (y, 'Reorder', order); ***** demo ## horizontal orientation and labels X = randn (8, 2); D = pdist (X); L = ['Snow White'; 'Doc'; 'Grumpy'; 'Happy'; 'Sleepy'; 'Bashful'; ... 'Sneezy'; 'Dopey']; y = linkage (D, 'average'); dendrogram (y, 'Orientation', 'left', 'Labels', L); title ('horizontal orientation and labels'); ***** shared visibility_setting visibility_setting = get (0, 'DefaultFigureVisible'); ***** test hf = figure ('visible', 'off'); unwind_protect y = [4, 5; 2, 6; 3, 7; 8, 9; 1, 10]; y(:,3) = 1:5; dendrogram (y); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect y = [4, 5; 2, 6; 3, 7; 8, 9; 1, 10]; y(:,3) = 1:5; dendrogram (y); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect v = 2 * rand (30, 1) - 1; d = abs (bsxfun (@minus, v(:, 1), v(:, 1)')); y = linkage (squareform (d, 'tovector')); dendrogram (y); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect X = randn (30, 2); D = pdist (X); y = linkage (D, 'average'); order = optimalleaforder (y, D); subplot (2, 1, 1); title ('original leaf order'); dendrogram (y); subplot (2, 1, 2); title ('optimal leaf order'); dendrogram (y, 'Reorder', order); unwind_protect_cleanup close (hf); end_unwind_protect ***** error dendrogram (); ***** error dendrogram (ones (2, 2), 1); ***** error dendrogram ([1 2 1], 1, 'xxx', 'xxx'); ***** error dendrogram ([1 2 1], 'Reorder', 'xxx'); ***** error dendrogram ([1 2 1], 'Reorder', [1 2 3 4]); fail ('dendrogram ([1 2 1], "Orientation", "north")', 'invalid orientation .*') 9 tests, 9 passed, 0 known failure, 0 skipped [inst/pdist.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/pdist.m ***** shared xy, t, eucl, x xy = [0 1; 0 2; 7 6; 5 6]; t = 1e-3; eucl = @(v,m) sqrt (sumsq (repmat (v,rows (m),1)-m,2)); x = [1 2 3; 4 5 6; 7 8 9; 3 2 1]; ***** assert_equal (pdist (xy), [1.000 8.602 7.071 8.062 6.403 2.000], t); ***** assert_equal (pdist (xy, eucl), [1.000 8.602 7.071 8.062 6.403 2.000], t); ***** assert_equal (pdist (xy, 'euclidean'), [1.000 8.602 7.071 8.062 6.403 2.000], t); ***** assert_equal (pdist (xy, 'seuclidean'), [0.380 2.735 2.363 2.486 2.070 0.561], t); ***** assert_equal (pdist (xy, 'mahalanobis'), [1.384 1.967 2.446 2.384 1.535 2.045], t); ***** assert_equal (pdist (xy, 'cityblock'), [1.000 12.00 10.00 11.00 9.000 2.000], t); ***** assert_equal (pdist (xy, 'minkowski'), [1.000 8.602 7.071 8.062 6.403 2.000], t); ***** assert_equal (pdist (xy, 'minkowski', 3), [1.000 7.763 6.299 7.410 5.738 2.000], t); ***** assert_equal (pdist (xy, 'cosine'), [0.000 0.349 0.231 0.349 0.231 0.013], t); ***** assert_equal (pdist (xy, 'correlation'), [0.000 2.000 0.000 2.000 0.000 2.000], t); ***** assert_equal (pdist (xy, 'spearman'), [0.000 2.000 0.000 2.000 0.000 2.000], t); ***** assert_equal (pdist (xy, 'hamming'), [0.500 1.000 1.000 1.000 1.000 0.500], t); ***** assert_equal (pdist (xy, 'jaccard'), [1.000 1.000 1.000 1.000 1.000 0.500], t); ***** assert_equal (pdist (xy, 'chebychev'), [1.000 7.000 5.000 7.000 5.000 2.000], t); ***** assert_equal (pdist (x), [5.1962, 10.3923, 2.8284, 5.1962, 5.9161, 10.7703], 1e-4); ***** assert_equal (pdist (x, 'euclidean'), ... [5.1962, 10.3923, 2.8284, 5.1962, 5.9161, 10.7703], 1e-4); ***** assert_equal (pdist (x, eucl), ... [5.1962, 10.3923, 2.8284, 5.1962, 5.9161, 10.7703], 1e-4); ***** assert_equal (pdist (x, 'squaredeuclidean'), [27, 108, 8, 27, 35, 116]); ***** assert_equal (pdist (x, 'seuclidean'), ... [1.8071, 3.6142, 0.9831, 1.8071, 1.8143, 3.4854], 1e-4); ***** warning ... pdist (x, 'mahalanobis'); ***** assert_equal (pdist (x, 'cityblock'), [9, 18, 4, 9, 9, 18]); ***** assert_equal (pdist (x, 'minkowski'), ... [5.1962, 10.3923, 2.8284, 5.1962, 5.9161, 10.7703], 1e-4); ***** assert_equal (pdist (x, 'minkowski', 3), ... [4.3267, 8.6535, 2.5198, 4.3267, 5.3485, 9.2521], 1e-4); ***** assert_equal (pdist (x, 'cosine'), ... [0.0254, 0.0406, 0.2857, 0.0018, 0.1472, 0.1173], 1e-4); ***** assert_equal (pdist (x, 'correlation'), [0, 0, 2, 0, 2, 2], 1e-14); ***** assert_equal (pdist (x, 'spearman'), [0, 0, 2, 0, 2, 2], 1e-14); ***** assert_equal (pdist (x, 'hamming'), [1, 1, 2/3, 1, 1, 1]); ***** assert_equal (pdist (x, 'jaccard'), [1, 1, 2/3, 1, 1, 1]); ***** assert_equal (pdist (x, 'chebychev'), [3, 6, 2, 3, 5, 8]); 29 tests, 29 passed, 0 known failure, 0 skipped [inst/grpstats.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/grpstats.m ***** demo load carsmall; [m, p, g] = grpstats (Weight, Model_Year, {'mean', 'predci', 'gname'}) n = length (m); errorbar ((1:n)',m,p(:,2)-m); set (gca, 'xtick', 1:n, 'xticklabel', g); title ('95% prediction intervals for mean weight by year'); ***** demo load carsmall; [m, p, g] = grpstats ([Acceleration,Weight/1000],Cylinders, ... {'mean', 'meanci', 'gname'}, 0.05) [c, r] = size (m); errorbar ((1:c)'.*ones (c,r),m,p(:,[(1:r)])-m); set (gca, 'xtick', 1:c, 'xticklabel', g); title ('95% prediction intervals for mean weight by year'); ***** demo ## Plot mean and 95% CI for a single grouping variable load carsmall; grpstats (Weight, Model_Year, 0.05); title ('Mean Weight by Model Year'); ***** demo ## Plot mean and 95% CI for two grouping variables load carsmall; grpstats (Weight, {Origin, Cylinders}, 0.05); title ('Mean Weight by Origin and Number of Cylinders'); ***** test load carsmall means = grpstats (Acceleration, Origin); assert_equal (means, [14.4377; 18.0500; 15.8867; 16.3778; 16.6000; 15.5000], 0.001); ***** test load carsmall [grpMin, grpMax, grp] = grpstats (Acceleration, Origin, {'min', 'max', ... 'gname'}); assert_equal (grpMin, [8.0; 15.3; 13.9; 12.2; 15.7; 15.5]); assert_equal (grpMax, [22.2; 21.9; 18.2; 24.6; 17.5; 15.5]); ***** test load carsmall [grpMin, grpMax, grp] = grpstats (Acceleration, Origin, {'min', 'max', ... 'gname'}); assert_equal (grp', {'USA', 'France', 'Japan', 'Germany', 'Sweden', 'Italy'}); ***** test load carsmall [m, p, g] = grpstats ([Acceleration, Weight/1000], Cylinders, ... {'mean', 'meanci', 'gname'}, 0.05); ## check meanci lower bounds (first slice) with tolerance expected_lower = [15.9163; 15.6622; 10.7968]; expected_upper = [17.4249; 17.2907; 12.4845]; assert_equal (abs (p(:,1,1)), expected_lower, 1e-3); assert_equal (abs (p(:,1,2)), expected_upper, 1e-3); ***** test [mC, g] = grpstats ([], []); assert_equal (isempty (mC), true); assert_equal (isempty (g), true); ***** test ## column vector, no group x = [1; 2; 3; 4; 5]; m = grpstats (x); expected = 3; assert_equal (m, expected); ***** test ## row vector, no group x = [1 2 3 4 5]; m = grpstats (x); expected = 3; assert_equal (m, expected); ***** test ## matrix, no group x = [1 2; 3 4; 5 6]; m = grpstats (x); expected = [3 4]; assert_equal (m, expected); ***** test ## vector, numeric groups x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; m = grpstats (x, g); expected = [15; 35; 55]; assert_equal (m, expected); ***** test ## vector, cellstr groups x = [10; 20; 30; 40; 50; 60]; g = {'A'; 'A'; 'B'; 'B'; 'C'; 'C'}; m = grpstats (x, g); expected = [15; 35; 55]; assert_equal (m, expected); ***** test ## matrix, numeric groups x = [1 10; 2 20; 3 30; 4 40; 5 50; 6 60]; g = [1; 1; 2; 2; 3; 3]; m = grpstats (x, g); expected = [1.5 15; 3.5 35; 5.5 55]; assert_equal (m, expected); ***** test ## NaN handling x = [1; NaN; 3; 4; NaN; 6]; g = [1; 1; 2; 2; 3; 3]; m = grpstats (x, g); expected = [1; 3.5; 6]; assert_equal (m, expected); ***** test ## single group x = [1; 2; 3; 4; 5]; g = ones (5, 1); m = grpstats (x, g); expected = 3; assert_equal (m, expected); ***** test ## single statistic x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; m = grpstats (x, g, 'mean'); expected = [15; 35; 55]; assert_equal (m, expected); ***** test ## single statistic x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; m = grpstats (x, g, 'median'); expected = [15; 35; 55]; assert_equal (m, expected); ***** test ## single statistic x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; s = grpstats (x, g, 'std'); expected = [7.07106781186548; 7.07106781186548; 7.07106781186548]; assert_equal (s, expected, 1e-14); ***** test ## single statistic x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; v = grpstats (x, g, 'var'); expected = [50; 50; 50]; assert_equal (v, expected); ***** test ## single statistic x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; s = grpstats (x, g, 'sem'); expected = [5; 5; 5]; assert_equal (s, expected); ***** test ## single statistic x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; mn = grpstats (x, g, 'min'); expected = [10; 30; 50]; assert_equal (mn, expected); ***** test ## single statistic x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; mx = grpstats (x, g, 'max'); expected = [20; 40; 60]; assert_equal (mx, expected); ***** test ## single statistic x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; r = grpstats (x, g, 'range'); expected = [10; 10; 10]; assert_equal (r, expected); ***** test ## single statistic x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; n = grpstats (x, g, 'numel'); expected = [2; 2; 2]; assert_equal (n, expected); ***** test ## single statistic x = [10; 20; 30; 40; 50; 60]; g = {'A'; 'A'; 'B'; 'B'; 'C'; 'C'}; names = grpstats (x, g, 'gname'); expected = {'A'; 'B'; 'C'}; assert_equal (names, expected); ***** test ## single statistic (default alpha) x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; ci = grpstats (x, g, 'meanci'); expected = [-48.5310236808735 78.5310236808735; -28.5310236808735 ... 98.5310236808735; -8.53102368087348 118.531023680873]; assert_equal (ci, expected, 1e-12); ***** test ## single statistic (default alpha) x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; ci = grpstats (x, g, 'predci'); expected = [-95.0389608721344 125.038960872134; -75.0389608721344 ... 145.038960872134; -55.0389608721344 165.038960872134]; assert_equal (ci, expected, 1e-12); ***** test ## mean + std x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; [m, s] = grpstats (x, g, {'mean', 'std'}); expected_m = [15; 35; 55]; expected_s = [7.07106781186548; 7.07106781186548; 7.07106781186548]; assert_equal (m, expected_m, 1e-14); assert_equal (s, expected_s, 1e-14); ***** test ## min + max + range x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; [mn, mx, r] = grpstats (x, g, {'min', 'max', 'range'}); expected_mn = [10; 30; 50]; expected_mx = [20; 40; 60]; expected_r = [10; 10; 10]; assert_equal (mn, expected_mn); assert_equal (mx, expected_mx); assert_equal (r, expected_r); ***** test ## mean + median + numel + gname x = [10; 20; 30; 40; 50; 60]; g = {'A'; 'A'; 'B'; 'B'; 'C'; 'C'}; [m, med, n, names] = grpstats (x, g, {'mean', 'median', 'numel', 'gname'}); expected_m = [15; 35; 55]; expected_med = [15; 35; 55]; expected_n = [2; 2; 2]; expected_names = {'A'; 'B'; 'C'}; assert_equal (m, expected_m); assert_equal (med, expected_med); assert_equal (n, expected_n); assert_equal (names, expected_names); ***** test ## all basic statistics x = [10; 20; 30; 40; 50; 60; 70; 80]; g = [1; 1; 2; 2; 2; 2; 3; 3]; [m, med, s, v, se, mn, mx, r, n] = grpstats (x, g, {'mean', 'median', ... 'std', 'var', 'sem', ... 'min', 'max', 'range', ... 'numel'}); expected_m = [15; 45; 75]; expected_med = [15; 45; 75]; expected_s = [7.07106781186548; 12.9099444873581; 7.07106781186548]; expected_v = [50; 166.666666666667; 50]; expected_se = [5; 6.45497224367903; 5]; expected_mn = [10; 30; 70]; expected_mx = [20; 60; 80]; expected_r = [10; 30; 10]; expected_n = [2; 4; 2]; assert_equal (m, expected_m); assert_equal (med, expected_med); assert_equal (s, expected_s, 1e-13); assert_equal (v, expected_v, 1e-12); assert_equal (se, expected_se, 1e-14); assert_equal (mn, expected_mn); assert_equal (mx, expected_mx); assert_equal (r, expected_r); assert_equal (n, expected_n); ***** test ## meanci-alpha-0.1 x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; ci = grpstats (x, g, 'meanci', 0.1); expected = [-16.5687575733752 46.5687575733752; 3.4312424266248 ... 66.5687575733752; 23.4312424266248 86.5687575733752]; assert_equal (ci, expected, 1e-13); ***** test ## predci-alpha-0.1 x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; ci = grpstats (x, g, 'predci', 0.1); expected = [-39.6786920489106 69.6786920489106; -19.6786920489106 ... 89.6786920489106; 0.321307951089366 109.678692048911]; assert_equal (ci, expected, 1e-12); ***** test ## meanci-alpha-0.01 x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; ci = grpstats (x, g, 'meanci', 0.01); expected = [-303.283705814358 333.283705814358; -283.283705814358 ... 353.283705814358; -263.283705814358 373.283705814358]; assert_equal (ci, expected, 3e-8); ***** test ## predci-alpha-0.01 x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; ci = grpstats (x, g, 'predci', 0.01); expected = [-536.283549691775 566.283549691775; -516.283549691775 ... 586.283549691775; -496.283549691775 606.283549691775]; assert_equal (ci, expected, 3e-8); ***** test ## meanci-alpha-0.2 x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; ci = grpstats (x, g, 'meanci', 0.2); expected = [-0.388417685876263 30.3884176858763; 19.6115823141237 ... 50.3884176858763; 39.6115823141237 70.3884176858763]; assert_equal (ci, expected, 1e-13); ***** test ## predci-alpha-0.2 x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; ci = grpstats (x, g, 'predci', 0.2); expected = [-11.6535212800292 41.6535212800292; 8.34647871997083 ... 61.6535212800292; 28.3464787199708 81.6535212800292]; assert_equal (ci, expected, 1e-13); ***** test ## meanci, name-value alpha=0.2 x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; ci = grpstats (x, g, 'meanci', 'alpha', 0.2); expected = [-0.388417685876263 30.3884176858763; 19.6115823141237 ... 50.3884176858763; 39.6115823141237 70.3884176858763]; assert_equal (ci, expected, 1e-13); ***** test ## meanci + predci, alpha=0.01 x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 2; 2; 3; 3]; [ci_m, ci_p] = grpstats (x, g, {'meanci', 'predci'}, 0.01); expected_m = [-303.283705814358 333.283705814358; -283.283705814358 ... 353.283705814358; -263.283705814358 373.283705814358]; expected_p = [-536.283549691775 566.283549691775; -516.283549691775 ... 586.283549691775; -496.283549691775 606.283549691775]; assert_equal (ci_m, expected_m, 3e-8); assert_equal (ci_p, expected_p, 3e-8); ***** test ## matrix, mean+std+numel x = [1 10; 2 20; 3 30; 4 40; 5 50; 6 60]; g = [1; 1; 2; 2; 3; 3]; [m, s, n] = grpstats (x, g, {'mean', 'std', 'numel'}); expected_m = [1.5 15; 3.5 35; 5.5 55]; expected_s = [0.707106781186548 7.07106781186548; 0.707106781186548 ... 7.07106781186548; 0.707106781186548 7.07106781186548]; expected_n = [2 2; 2 2; 2 2]; assert_equal (m, expected_m); assert_equal (s, expected_s, 1e-14); assert_equal (n, expected_n); ***** test ## matrix with NaN, mean+numel x = [1 10; NaN 20; 3 NaN; 4 40; 5 50; 6 60]; g = [1; 1; 2; 2; 3; 3]; [m, n] = grpstats (x, g, {'mean', 'numel'}); expected_m = [1 15; 3.5 40; 5.5 55]; expected_n = [1 2; 2 1; 2 2]; assert_equal (m, expected_m); assert_equal (n, expected_n); ***** test ## 3-column matrix, mean+min+max x = [1 100 1000; 2 200 2000; 3 300 3000; 4 400 4000]; g = [1; 1; 2; 2]; [m, mn, mx] = grpstats (x, g, {'mean', 'min', 'max'}); expected_m = [1.5 150 1500; 3.5 350 3500]; expected_mn = [1 100 1000; 3 300 3000]; expected_mx = [2 200 2000; 4 400 4000]; assert_equal (m, expected_m); assert_equal (mn, expected_mn); assert_equal (mx, expected_mx); ***** test ## one element per group x = [1; 2; 3]; g = [1; 2; 3]; [m, s, n] = grpstats (x, g, {'mean', 'std', 'numel'}); expected_m = [1; 2; 3]; expected_s = [0; 0; 0]; expected_n = [1; 1; 1]; assert_equal (m, expected_m); assert_equal (s, expected_s); assert_equal (n, expected_n); ***** test ## group with all NaN x = [1; 2; NaN; NaN; 5; 6]; g = [1; 1; 2; 2; 3; 3]; [m, s, n] = grpstats (x, g, {'mean', 'std', 'numel'}); expected_m = [1.5; NaN; 5.5]; expected_s = [0.707106781186548; NaN; 0.707106781186548]; expected_n = [2; 0; 2]; assert_equal (m, expected_m); assert_equal (s, expected_s, 1e-14); assert_equal (n, expected_n); ***** test ## unequal group sizes x = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]; g = [1; 1; 1; 1; 2; 2; 2; 3; 3; 3]; [m, v, n] = grpstats (x, g, {'mean', 'var', 'numel'}); expected_m = [2.5; 6; 9]; expected_v = [1.66666666666667; 1; 1]; expected_n = [4; 3; 3]; assert_equal (m, expected_m); assert_equal (v, expected_v, 1e-14); assert_equal (n, expected_n); ***** test ## non-consecutive numeric groups x = [10; 20; 30; 40; 50; 60]; g = [1; 1; 5; 5; 10; 10]; [m, names] = grpstats (x, g, {'mean', 'gname'}); expected_m = [15; 35; 55]; expected_names = {'1'; '5'; '10'}; assert_equal (m, expected_m); assert_equal (names, expected_names); ***** test ## unsorted string groups x = [30; 10; 40; 20; 60; 50]; g = {'C'; 'A'; 'C'; 'A'; 'B'; 'B'}; [m, names] = grpstats (x, g, {'mean', 'gname'}); expected_m = [35; 15; 55]; expected_names = {'C'; 'A'; 'B'}; assert_equal (m, expected_m); assert_equal (names, expected_names); ***** test ## 20 groups, one element each x = (1:20)'; g = (1:20)'; [m, n] = grpstats (x, g, {'mean', 'numel'}); expected_m = (1:20)'; expected_n = ones (20, 1); assert_equal (m, expected_m); assert_equal (n, expected_n); ***** test ## large sample meanci x = (1:50)'; g = [ones(25, 1); 2 * ones(25, 1)]; ci = grpstats (x, g, 'meanci'); expected = [9.96202357522388 16.0379764247761; 34.9620235752239 ... 41.0379764247761]; assert_equal (ci, expected, 1e-13); ***** test ## large sample predci x = (1:50)'; g = [ones(25, 1); 2 * ones(25, 1)]; ci = grpstats (x, g, 'predci'); expected = [-2.49070107176829 28.4907010717683; 22.5092989282317 ... 53.4907010717683]; assert_equal (ci, expected, 2e-14); ***** test Y = [5; 6; 7; 4; 9; 8]; X = [1; 2; 3; 4; 5; 6]; Group = categorical ({'A'; 'A'; 'B'; 'B'; 'C'; 'C'}); tbl = table (Y, X, Group); stats_tbl = grpstats (tbl, 'Group', {'mean', 'numel'}); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y', 'numel_Y', ... 'mean_X', 'numel_X'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_Y, [5.5; 5.5; 8.5]); assert_equal (stats_tbl.numel_Y, [2; 2; 2]); assert_equal (stats_tbl.mean_X, [1.5; 3.5; 5.5]); assert_equal (stats_tbl.numel_X, [2; 2; 2]); ***** test Y = [5; 6; 7; 4; 9; 8]; Group = categorical ({'A'; 'A'; 'B'; 'B'; 'C'; 'C'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_Y, [5.5; 5.5; 8.5]); ***** test Y = [10; 20; 30; 40]; X = [100; 200; 300; 400]; Z = [1000; 2000; 3000; 4000]; Group = categorical ({'A'; 'A'; 'B'; 'B'}); tbl = table (Y, X, Z, Group); stats_tbl = grpstats (tbl, 'Group', {'mean', 'numel'}); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y', 'numel_Y', 'mean_X', 'numel_X', 'mean_Z', 'numel_Z'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'}); assert_equal (stats_tbl.GroupCount, [2; 2]); assert_equal (stats_tbl.mean_Y, [15; 35]); assert_equal (stats_tbl.numel_Y, [2; 2]); assert_equal (stats_tbl.mean_X, [150; 350]); assert_equal (stats_tbl.numel_X, [2; 2]); assert_equal (stats_tbl.mean_Z, [1500; 3500]); assert_equal (stats_tbl.numel_Z, [2; 2]); ***** test Y = [1; 2; 3; 4; 5; 6; 7; 8]; Group = categorical ({'A'; 'A'; 'A'; 'A'; 'B'; 'B'; 'B'; 'B'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'}); assert_equal (stats_tbl.GroupCount, [4; 4]); assert_equal (stats_tbl.mean_Y, [2.5; 6.5]); ***** test Y = [1; 2; 3; 4; 5; 6; 7]; Group = categorical ({'A'; 'A'; 'A'; 'A'; 'A'; 'B'; 'B'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', {'mean', 'numel'}); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y', 'numel_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'}); assert_equal (stats_tbl.GroupCount, [5; 2]); assert_equal (stats_tbl.mean_Y, [3; 6.5]); assert_equal (stats_tbl.numel_Y, [5; 2]); ***** test Y = [10; 20; 30]; Group = categorical ({'A'; 'B'; 'C'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'}); assert_equal (stats_tbl.GroupCount, [1; 1; 1]); assert_equal (stats_tbl.mean_Y, [10; 20; 30]); ***** test Y = [5; 5; 5; 5]; Group = categorical ({'A'; 'A'; 'B'; 'B'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'}); assert_equal (stats_tbl.GroupCount, [2; 2]); assert_equal (stats_tbl.mean_Y, [5; 5]); ***** test Y = [1; NaN; 3; 4; NaN; 6]; X = [10; 20; NaN; 40; 50; NaN]; Group = categorical ({'A'; 'A'; 'B'; 'B'; 'C'; 'C'}); tbl = table (Y, X, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y', 'mean_X'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_Y, [1; 3.5; 6]); assert_equal (stats_tbl.mean_X, [15; 40; 50]); ***** test Y = [1; NaN; 3; 4; 5; 6]; Group = categorical ({'A'; 'A'; 'B'; 'B'; 'C'; 'C'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', {'mean', 'numel'}); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y', 'numel_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_Y, [1; 3.5; 5.5]); assert_equal (stats_tbl.numel_Y, [1; 2; 2]); ***** test Y = [100; 200; 300; 400; 500; 600]; Group = categorical ({'Group1'; 'Group1'; 'Group2'; 'Group2'; ... 'Group3'; 'Group3'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'Group1'; 'Group2'; 'Group3'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_Y, [150; 350; 550]); ***** test Var1 = [1; 2; 3; 4]; Var2 = [10; 20; 30; 40]; Var3 = [100; 200; 300; 400]; Var4 = [1000; 2000; 3000; 4000]; Group = categorical ({'A'; 'A'; 'B'; 'B'}); tbl = table (Var1, Var2, Var3, Var4, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Var1', 'mean_Var2', 'mean_Var3', 'mean_Var4'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'}); assert_equal (stats_tbl.GroupCount, [2; 2]); assert_equal (stats_tbl.mean_Var1, [1.5; 3.5]); assert_equal (stats_tbl.mean_Var2, [15; 35]); assert_equal (stats_tbl.mean_Var3, [150; 350]); assert_equal (stats_tbl.mean_Var4, [1500; 3500]); ***** test Y = [1.5; 2.5; 3.5; 4.5; 5.5; 6.5]; Group = categorical ({'A'; 'A'; 'B'; 'B'; 'C'; 'C'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_Y, [2; 4; 6]); ***** test Y = [-10; -20; 30; 40; 50; 60]; Group = categorical ({'A'; 'A'; 'B'; 'B'; 'C'; 'C'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_Y, [-15; 35; 55]); ***** test Y = [0; 0; 0; 0; 0; 0]; Group = categorical ({'A'; 'A'; 'B'; 'B'; 'C'; 'C'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_Y, [0; 0; 0]); ***** test Y = [1e6; 2e6; 3e6; 4e6; 5e6; 6e6]; Group = categorical ({'A'; 'A'; 'B'; 'B'; 'C'; 'C'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_Y, [1.5e6; 3.5e6; 5.5e6]); ***** test Y = (1:10)'; Group = categorical (repmat ({'A'; 'B'}, 5, 1)); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', {'mean', 'numel'}); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, ... {'Group', 'GroupCount', 'mean_Y', 'numel_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'}); assert_equal (stats_tbl.GroupCount, [5; 5]); assert_equal (stats_tbl.mean_Y, [5; 6]); assert_equal (stats_tbl.numel_Y, [5; 5]); ***** test Y = (1:20)'; Group = categorical (repmat ({'A'; 'B'; 'C'; 'D'}, 5, 1)); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'; 'D'}); assert_equal (stats_tbl.GroupCount, [5; 5; 5; 5]); assert_equal (stats_tbl.mean_Y, [9; 10; 11; 12]); ***** test Y = [1; 2; 3; 4; 5]; Group = categorical ({'A'; 'B'; 'C'; 'D'; 'E'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'; 'D'; 'E'}); assert_equal (stats_tbl.GroupCount, [1; 1; 1; 1; 1]); assert_equal (stats_tbl.mean_Y, [1; 2; 3; 4; 5]); ***** test Score1 = [85; 90; 78; 92; 88; 76]; Score2 = [82; 88; 75; 90; 85; 73]; Group = categorical ({'High'; 'High'; 'Med'; 'Med'; 'Low'; 'Low'}); tbl = table (Score1, Score2, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Score1', 'mean_Score2'}); assert_equal (stats_tbl.Properties.RowNames, {'High'; 'Low'; 'Med'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_Score1, [87.5; 82; 85]); assert_equal (stats_tbl.mean_Score2, [85; 79; 82.5]); ***** test Height = [170; 175; 165; 180; 160; 185]; Weight = [70; 75; 65; 80; 60; 85]; Category = categorical ({'M'; 'M'; 'F'; 'F'; 'M'; 'M'}); tbl = table (Height, Weight, Category); stats_tbl = grpstats (tbl, 'Category', {'mean', 'numel'}); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Category', 'GroupCount', ... 'mean_Height', 'numel_Height', 'mean_Weight', 'numel_Weight'}); assert_equal (stats_tbl.Properties.RowNames, {'F'; 'M'}); assert_equal (stats_tbl.GroupCount, [2; 4]); assert_equal (stats_tbl.mean_Height, [172.5; 172.5]); assert_equal (stats_tbl.numel_Height, [2; 4]); assert_equal (stats_tbl.mean_Weight, [72.5; 72.5]); assert_equal (stats_tbl.numel_Weight, [2; 4]); ***** test Value = [10.5; 11.2; 9.8; 10.1; 11.5; 10.8]; Type = categorical ({'A'; 'A'; 'A'; 'B'; 'B'; 'B'}); tbl = table (Value, Type); stats_tbl = grpstats (tbl, 'Type', 'numel'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Type', 'GroupCount', ... 'numel_Value'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'}); assert_equal (stats_tbl.GroupCount, [3; 3]); assert_equal (stats_tbl.numel_Value, [3; 3]); ***** test Data = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]; Label = categorical ({'A'; 'A'; 'A'; 'A'; 'A'; 'B'; 'B'; 'B'; 'B'; 'B'}); tbl = table (Data, Label); stats_tbl = grpstats (tbl, 'Label', {'mean', 'numel'}); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Label', 'GroupCount', ... 'mean_Data', 'numel_Data'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'}); assert_equal (stats_tbl.GroupCount, [5; 5]); assert_equal (stats_tbl.mean_Data, [3; 8]); assert_equal (stats_tbl.numel_Data, [5; 5]); ***** test X1 = [1; 2; 3; 4]; X2 = [5; 6; 7; 8]; G = categorical ({'A'; 'A'; 'B'; 'B'}); tbl = table (X1, X2, G); stats_tbl = grpstats (tbl, 'G', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'G', 'GroupCount', ... 'mean_X1', 'mean_X2'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'}); assert_equal (stats_tbl.GroupCount, [2; 2]); assert_equal (stats_tbl.mean_X1, [1.5; 3.5]); assert_equal (stats_tbl.mean_X2, [5.5; 7.5]); ***** test Measurement = [100; 150; 200; 250; 300; 350]; GroupVar = categorical ({'Control'; 'Control'; 'Treatment'; 'Treatment'; ... 'Placebo'; 'Placebo'}); tbl = table (Measurement, GroupVar); stats_tbl = grpstats (tbl, 'GroupVar', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'GroupVar', 'GroupCount', ... 'mean_Measurement'}); assert_equal (stats_tbl.Properties.RowNames, {'Control'; 'Placebo'; 'Treatment'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_Measurement, [125; 325; 225]); ***** test Y = [NaN; NaN; 3; 4; 5; 6]; Group = categorical ({'A'; 'A'; 'B'; 'B'; 'C'; 'C'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', 'mean'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (isequaln (stats_tbl.mean_Y, [NaN; 3.5; 5.5]), true); ***** test Y = [1; 2; NaN; NaN; NaN; NaN]; Group = categorical ({'A'; 'A'; 'B'; 'B'; 'C'; 'C'}); tbl = table (Y, Group); stats_tbl = grpstats (tbl, 'Group', {'mean', 'numel'}); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Group', 'GroupCount', ... 'mean_Y', 'numel_Y'}); assert_equal (stats_tbl.Properties.RowNames, {'A'; 'B'; 'C'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (isequaln (stats_tbl.mean_Y, [1.5; NaN; NaN]), true); assert_equal (stats_tbl.numel_Y, [2; 0; 0]); ***** test Val = [5.5; 6.5; 7.5; 8.5]; Cat = categorical ({'X'; 'X'; 'Y'; 'Y'}); tbl = table (Val, Cat); stats_tbl = grpstats (tbl, 'Cat', 'numel'); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Cat', 'GroupCount', ... 'numel_Val'}); assert_equal (stats_tbl.Properties.RowNames, {'X'; 'Y'}); assert_equal (stats_tbl.GroupCount, [2; 2]); assert_equal (stats_tbl.numel_Val, [2; 2]); ***** test A = [1; 2; 3; 4; 5; 6]; B = [10; 20; 30; 40; 50; 60]; C = [100; 200; 300; 400; 500; 600]; Grp = categorical ({'G1'; 'G1'; 'G2'; 'G2'; 'G3'; 'G3'}); tbl = table (A, B, C, Grp); stats_tbl = grpstats (tbl, 'Grp', {'mean', 'numel'}); assert_equal (istable (stats_tbl), true); assert_equal (stats_tbl.Properties.VariableNames, {'Grp', 'GroupCount', ... 'mean_A', 'numel_A', 'mean_B', 'numel_B', 'mean_C', 'numel_C'}); assert_equal (stats_tbl.Properties.RowNames, {'G1'; 'G2'; 'G3'}); assert_equal (stats_tbl.GroupCount, [2; 2; 2]); assert_equal (stats_tbl.mean_A, [1.5; 3.5; 5.5]); assert_equal (stats_tbl.numel_A, [2; 2; 2]); assert_equal (stats_tbl.mean_B, [15; 35; 55]); assert_equal (stats_tbl.numel_B, [2; 2; 2]); assert_equal (stats_tbl.mean_C, [150; 350; 550]); assert_equal (stats_tbl.numel_C, [2; 2; 2]); ***** test x = [1; NaN; 3; 4]; g = [1; 1; 2; 2]; muci = grpstats (x, g, 'meanci'); assert_equal (muci, [NaN, NaN; -2.8531, 9.8531], 1e-4); ***** test x = [1; NaN; 3; 4; 5; 6]; g = [1; 1; 1; 2; 2; 2]; predci = grpstats (x, g, 'predci'); assert_equal (predci, [-20.0078, 24.0078; 0.0317, 9.9683], 1e-4); ***** error grpstats (ones (2, 2, 2)) ***** error ... [a, b] = grpstats (table (1)) ***** error ... grpstats (ones (6, 2), [1; 1; 1; 2; 2; 2], {'mean', 1.5}) ***** error ... grpstats (ones (6, 2), [1; 1; 1; 2; 2; 2], 1.5) ***** error ... grpstats (ones (6, 2), [1; 1; 1; 2; 2; 2], 'some_function') ***** error ... grpstats (ones (6, 2), [1; 1; 1; 2; 2; 2], 'mean', 35) ***** error ... grpstats ([1:4]', {'A'; 'B'; 'A'; 'B'}, 'predci', 'somename', -0.1); ***** error ... grpstats (ones (6, 2), [1; 1; 1; 2; 2; 2], 'mean', 'VarNames', 3) ***** error ... grpstats ({ones(6, 2)}, [], 0.05) ***** error ... grpstats ([1:4]', {'A'; 'B'; 'A'; 'B'}, 'predci', 'alpha', -0.1); ***** error ... grpstats (table ([1:5]'), {'Var_5'}) ***** error ... grpstats (table ([1:5]'), {'Var1'}, [], 'DataVars', 'Var5') ***** error ... grpstats (table ([1:5]', [1:5]'), {'Var1'}, [], 'VarNames', {'A', 'B'}) ***** error ... grpstats ([1:5]', {'A'; 'B'; 'A'; 'B'}) ***** error ... m = grpstats ([1:4]', {'A'; 'B'; 'A'; 'B'}, {'mean', 'std'}) 93 tests, 93 passed, 0 known failure, 0 skipped [inst/linkage.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/linkage.m ***** shared x, t x = reshape (mod (magic (6),5), [], 3); t = 1e-6; ***** assert_equal (cond (linkage (pdist (x))), 34.119045, t); ***** assert_equal (cond (linkage (pdist (x), 'complete')), 21.793345, t); ***** assert_equal (cond (linkage (pdist (x), 'average')), 27.045012, t); ***** assert_equal (cond (linkage (pdist (x), 'weighted')), 27.412889, t); lastwarn (); # Clear last warning before the test ***** warning linkage (pdist (x), 'centroid'); ***** test warning off Octave:clustering assert_equal (cond (linkage (pdist (x), 'centroid')), 27.457477, t); warning on Octave:clustering ***** warning linkage (pdist (x), 'median'); ***** test warning off Octave:clustering assert_equal (cond (linkage (pdist (x), 'median')), 27.683325, t); warning on Octave:clustering ***** assert_equal (cond (linkage (pdist (x), 'ward')), 17.195198, t); ***** assert_equal (cond (linkage (x, 'ward', 'euclidean')), 17.195198, t); ***** assert_equal (cond (linkage (x, 'ward', {'euclidean'})), 17.195198, t); ***** assert_equal (cond (linkage (x, 'ward', {'minkowski', 2})), 17.195198, t); ***** test y = [1 2; 3 5; 4 6; 7 8; 9 11]; L = linkage (y, 'single', 'cityblock'); assert_equal (size (L), [4, 3]); assert_equal (all ((L(:,3) >= 0)(:)), true); # distances non-negative ***** test y = [1 2; 3 5; 4 6; 7 8; 9 11]; L = linkage (y, 'complete', 'cityblock'); assert_equal (size (L), [4, 3]); assert_equal (all ((all (diff (L(:,3)) >= -eps))(:)), true); # monotonically increasing ***** test y = [1 2; 3 5; 4 6; 7 8; 9 11]; L = linkage (y, 'average', 'chebychev'); assert_equal (size (L), [4, 3]); assert_equal (all ((L(:,3) >= 0)(:)), true); ***** test y = [1 2 3; 4 5 6; 7 8 9; 10 11 12]; L = linkage (y, 'weighted', {'minkowski', 3}); assert_equal (size (L), [3, 3]); assert_equal (all ((L(:,3) >= 0)(:)), true); ***** test y = [1 0 1; 0 1 1; 1 1 0; 0 0 1]; L = linkage (y, 'single', 'cosine'); assert_equal (size (L), [3, 3]); assert_equal (all ((L(:,3) >= 0)(:)), true); ***** test y = [1 2 3; 2 3 4; 5 6 7]; L = linkage (y, 'complete', 'correlation'); assert_equal (size (L), [2, 3]); assert_equal (all ((L(:,3) >= 0)(:)), true); ***** test y = [1 2; 3 4]; L = linkage (y, 'single', 'euclidean'); assert_equal (size (L), [1, 3]); assert_equal (L(1,1:2), [1, 2]); ***** test y = rand (6, 3); L = linkage (y, 'average', 'euclidean'); assert_equal (all ((all (L(:,1) >= 1 & L(:,1) <= 11))(:)), true); # valid cluster refs assert_equal (all ((all (L(:,2) >= 1 & L(:,2) <= 11))(:)), true); assert_equal (all ((all (L(:,1) < L(:,2)))(:)), true); # sorted within rows 20 tests, 20 passed, 0 known failure, 0 skipped [inst/datasample.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/datasample.m ***** error datasample (); ***** error datasample (1); ***** error datasample ({1, 2, 3}, 1); ***** error datasample ([1 2], -1); ***** error datasample ([1 2], 1.5); ***** error datasample ([1 2], [1 1]); ***** error datasample ([1 2], 'g', [1 1]); ***** error datasample ([1 2], 1, -1); ***** error datasample ([1 2], 1, 1.5); ***** error datasample ([1 2], 1, [1 1]); ***** error datasample ([1 2], 1, 1, 'Replace', -2); ***** error datasample ([1 2], 1, 1, 'Weights', 'abc'); ***** error datasample ([1 2], 1, 1, 'Weights', [1 -2 3]); ***** error datasample ([1 2], 1, 1, 'Weights', ones (2)); ***** error datasample ([1 2], 1, 1, 'Weights', [1 2 3]); ***** error ... data = 1:5; weights = [0.077846, 0.103765, 0.703748, 0.840937, 0.422901]; sampled = datasample (data, 8, 'Weights', weights, 'Replace', false); ***** error ... data = 1:5; weights = [1, 0, 1, 0, 0]; sampled = datasample (data, 3, 'Weights', weights, 'Replace', false); ***** test dat = randn (10, 4); assert_equal (size (datasample (dat, 3, 1)), [3 4]); ***** test dat = randn (10, 4); assert_equal (size (datasample (dat, 3, 2)), [10 3]); 19 tests, 19 passed, 0 known failure, 0 skipped [inst/kstest2.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/kstest2.m ***** error kstest2 ([1,2,3,4,5,5]) ***** error kstest2 (ones (2,4), [1,2,3,4,5,5]) ***** error kstest2 ([2,3,5,7,3+3i], [1,2,3,4,5,5]) ***** error kstest2 ([2,3,4,5,6],[3;5;7;8;7;6;5],'tail') ***** error kstest2 ([2,3,4,5,6],[3;5;7;8;7;6;5],'tail', 'whatever') ***** error kstest2 ([2,3,4,5,6],[3;5;7;8;7;6;5],'badoption', 0.51) ***** error kstest2 ([2,3,4,5,6],[3;5;7;8;7;6;5],'tail', 0) ***** error kstest2 ([2,3,4,5,6],[3;5;7;8;7;6;5],'alpha', 0) ***** error kstest2 ([2,3,4,5,6],[3;5;7;8;7;6;5],'alpha', NaN) ***** error kstest2 ([NaN,NaN,NaN,NaN,NaN],[3;5;7;8;7;6;5],'tail', 'unequal') ***** test load examgrades [h, p] = kstest2 (grades(:,1), grades(:,2)); assert_equal (h, false); assert_equal (p, 0.1222791870137312, 1e-14); ***** test load examgrades [h, p] = kstest2 (grades(:,1), grades(:,2), 'tail', 'larger'); assert_equal (h, false); assert_equal (p, 0.1844421391011258, 1e-14); ***** test load examgrades [h, p] = kstest2 (grades(:,1), grades(:,2), 'tail', 'smaller'); assert_equal (h, false); assert_equal (p, 0.06115357930171663, 1e-14); ***** test load examgrades [h, p] = kstest2 (grades(:,1), grades(:,2), 'tail', 'smaller', 'alpha', 0.1); assert_equal (h, true); assert_equal (p, 0.06115357930171663, 1e-14); 14 tests, 14 passed, 0 known failure, 0 skipped [inst/combnk.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/combnk.m ***** demo c = combnk (1:5, 2); disp ('All pairs of integers between 1 and 5:'); disp (c); ***** test c = combnk (1:3, 2); assert_equal (c, [1, 2; 1, 3; 2, 3]); ***** test c = combnk (1:3, 6); assert_equal (isempty (c), true); ***** test c = combnk ({1, 2, 3}, 2); assert_equal (c, {1, 2; 1, 3; 2, 3}); ***** test c = combnk ('hello', 2); assert_equal (c, ['lo'; 'lo'; 'll'; 'eo'; 'el'; 'el'; 'ho'; 'hl'; 'hl'; 'he']); 4 tests, 4 passed, 0 known failure, 0 skipped [inst/anova.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/anova.m ***** demo ## One-way ANOVA with a formatted summary y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; a = anova (g, y, 'SumOfSquaresType', 'two'); summary (a); ***** demo ## Post-hoc multiple comparisons y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; a = anova (g, y, 'SumOfSquaresType', 'two'); C = multcompare (a, 'display', 'off') ***** demo ## Diagnostic plots for an anovan-backed fit y = [10; 12; 11; 14; 16; 15; 9; 8; 10]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; a = anova (g, y, 'SumOfSquaresType', 'two'); plotDiagnostics (a); ***** test y = [1; 2; 3; 4; 5; 6]; g = [1; 1; 2; 2; 3; 3]; a = anova (g, y); assert_equal (class (a), 'anova'); assert_equal (a.Y, y); assert_equal (a.GROUP, g); ***** test y = magic (4); a = anova (y); assert_equal (class (a), 'anova'); assert_equal (a.Y, y); assert_equal (a.GROUP, []); ***** test y = (1:12)'; g1 = repmat ([1;2;3], 4, 1); g2 = repmat ([1;1;2;2], 3, 1); a = anova ({g1, g2}, y); assert_equal (class (a), 'anova'); assert_equal (a.NumFactors, 2); ***** test a = anova ([1;1;2;2], [1;2;3;4]); assert_equal (a.ModelSpecification, 'linear'); assert_equal (a.SumOfSquaresType, 'three'); assert_equal (a.ResponseName, 'Y'); assert_equal (a.FactorNames, {'X1'}); assert_equal (a.RandomFactors, []); assert_equal (a.CategoricalFactors, 'all'); assert_equal (a.NumFactors, 1); assert_equal (a.NumObservations, 4); ***** test a = anova ([1;1;2;2], [1;2;3;4]); assert (! isempty (a.AnovaTable)); assert (! isempty (a.DFE)); assert (! isempty (a.MSE)); assert_equal (a.Coefficients, []); assert_equal (a.Residuals, []); assert_equal (a.FittedValues, []); assert_equal (a.DesignMatrix, []); ***** test y = (1:12)'; g1 = repmat ([1;2;3], 4, 1); g2 = repmat ([1;1;2;2], 3, 1); a = anova ({g1, g2}, y, 'SumOfSquaresType', 'two', ... 'ModelSpecification', 'full', 'FactorNames', {'A', 'B'}); assert_equal (a.SumOfSquaresType, 'two'); assert_equal (a.ModelSpecification, 'full'); assert_equal (a.FactorNames, {'A', 'B'}); ***** test a = anova ([1;1;2;2], [1;2;3;4], 'SumOfSquaresType', 'one', ... 'displayopt', 'on'); assert_equal (a.SumOfSquaresType, 'one'); MODEL FORMULA (based on Wilkinson's notation): Y ~ 1 + X1 ANOVA TABLE (Type I sums-of-squares): Source Sum Sq. d.f. Mean Sq. R Sq. F Prob>F -------------------------------------------------------------------------------- X1 4 1 4 0.800 8.00 .106 Error 1 2 0.5 Total 5 3 ***** test a = anova ([1;1;2;2;3;3], [1;2;3;4;5;6]); assert (! isempty (strfind (evalc ('disp (a)'), '1-way anova'))); ***** test a = anova (magic (4)); str = evalc ('disp (a)'); assert (! isempty (strfind (str, '1-way anova'))); ***** test y = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; a = anova (y, [], 'reps', 3); assert (! isempty (strfind (evalc ('disp (a)'), '2-way anova'))); ***** test y = (1:12)'; g1 = repmat ([1;2;3], 4, 1); g2 = repmat ([1;1;2;2], 3, 1); a = anova ({g1, g2}, y); str = evalc ('disp (a)'); assert (! isempty (strfind (str, '2-way anova'))); ***** test y = (1:24)'; g1 = repmat ([1;2], 12, 1); g2 = repmat ([1;1;2;2], 6, 1); g3 = repmat ([1;1;1;1;2;2;2;2], 3, 1); a = anova ({g1, g2, g3}, y); str = evalc ('disp (a)'); assert (! isempty (strfind (str, '3-way anova'))); ***** test a = anova ([1;1;2;2;3;3], [1;2;3;4;5;6], 'SumOfSquaresType', 'two'); assert (! isempty (strfind (evalc ('disp (a)'), 'Type II'))); ***** test y = (1:12)'; g1 = repmat ([1;2;3], 4, 1); g2 = (1:12)'; ## continuous a = anova ({g1, g2}, y, 'CategoricalFactors', 1); assert_equal (a.CategoricalFactors, 1); ***** test y = [1; 2; 3; NaN; 5; 6; 7; 8]; g1 = [1; 2; 1; 2; 1; 2; 1; 2]; g2 = [1; 1; 2; 2; 1; 1; 2; 2]; a = anova ({g1, g2}, y); assert_equal (a.NumFactors, 2); ***** test a = anova ([1;1;2;2;3;3], [1;2;3;4;5;6], 'Weights', ones (6, 1)); assert (! isempty (stats (a))); ***** test y = [1; 2; 3; 4; 5; 6]; g = [1; 1; 2; 2; 3; 3]; a = anova (g, y); a.fit (); assert (! isempty (a.AnovaTable)); assert (isstruct (a.Stats)); assert (! isempty (a.DFE)); assert (! isempty (a.MSE)); ***** test popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; a = anova (popcorn, [], 'reps', 3); assert (! isempty (strfind (evalc ('disp (a)'), '2-way anova'))); a.fit (); assert (! isempty (a.AnovaTable)); assert (isfield (a.Stats, 'sigmasq')); assert_equal (a.MSE, a.Stats.sigmasq); ***** test y = (1:24)'; g1 = repmat ([1;2], 12, 1); g2 = repmat ([1;1;2;2], 6, 1); g3 = repmat ([1;1;1;1;2;2;2;2], 3, 1); a = anova ({g1, g2, g3}, y); assert_equal (a.NumFactors, 3); a.fit (); assert (! isempty (a.AnovaTable)); assert (! isempty (a.Coefficients)); assert (! isempty (a.Residuals)); assert (! isempty (a.DesignMatrix)); assert_equal (rows (a.Residuals), numel (y)); ***** test y = [10; 12; 11; 14; 16; 15; 9; 8; 10]; g = [1;1;1;2;2;2;3;3;3]; a = anova (g, y, 'SumOfSquaresType', 'two'); a.fit (); assert_equal (numel (a.FittedValues), numel (y)); assert_equal (a.FittedValues + a.Residuals.Raw, y, 1e-9); ***** test a = anova ([1;1;1;2;2;2;3;3;3], (1:9)'); a.fit (); first_table = a.AnovaTable; a.fit (); assert_equal (a.AnovaTable, first_table); ***** test y = (1:12)'; g = repmat ([1;2;3], 4, 1); a = anova ({g}, y, 'SumOfSquaresType', 'two', 'Alpha', 0.10); a.fit (); assert_equal (a.SumOfSquaresType, 'two'); assert_equal (a.Stats.alpha, 0.10, 1e-12); ***** test y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; a = anova (g, y, 'SumOfSquaresType', 'two'); a.fit (); T = a.AnovaTable; assert_equal (T{2, 2}, 126, 1e-12); # group SS assert_equal (T{3, 2}, 6, 1e-12); # error SS assert_equal (T{4, 2}, 132, 1e-12); # total SS assert_equal (T{2, 3}, 2); assert_equal (T{3, 3}, 6); assert_equal (T{2, 4}, 63, 1e-12); assert_equal (T{3, 4}, 1, 1e-12); assert_equal (T{2, 6}, 63, 1e-12); assert_equal (T{2, 7}, 9.3914e-05, 1e-9); assert_equal (a.MSE, 1, 1e-12); assert_equal (a.DFE, 6); ***** test y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; a = anova (g, y, 'SumOfSquaresType', 'two'); assert_equal (predict (a), [2; 2; 2; 5; 5; 5; 11; 11; 11], 1e-12); assert_equal (a.Residuals.Raw, [-1; 0; 1; -1; 0; 1; -1; 0; 1], 1e-12); ***** test y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; es = getEffectSizes (anova (g, y, 'SumOfSquaresType', 'two')); assert_equal (es.Source, {'X1'}); assert_equal (es.EtaSquared, 126 / 132, 1e-12); assert_equal (es.PartialEtaSquared, 126 / (126 + 6), 1e-12); assert_equal (es.OmegaSquared, 124 / 133, 1e-12); ***** test popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; a = anova (popcorn, [], 'reps', 3); a.fit (); T = a.AnovaTable; assert_equal (T{2, 2}, 15.75, 1e-12); assert_equal (T{3, 2}, 4.5, 1e-12); assert_equal (T{4, 2}, 1.75, 1e-12); assert_equal (T{5, 2}, 22, 1e-12); assert_equal (T{2, 5}, 63, 1e-12); assert_equal (T{3, 5}, 36, 1e-12); assert_equal (a.MSE, 0.125, 1e-12); ***** test y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; a = anova (g, y, 'SumOfSquaresType', 'two'); C = multcompare (a, 'display', 'off'); assert_equal (C(:, 1:2), [1 2; 1 3; 2 3]); assert_equal (C(:, 4), [-3; -9; -6], 1e-12); assert_equal (C(1, 6), 0.010402, 1e-6); assert_equal (C(2, 6), 9.9474e-05, 1e-9); assert_equal (C(3, 6), 0.00064995, 1e-8); ***** test a = anova ([1;1;1;2;2;2;3;3;3], (1:9)', 'SumOfSquaresType', 'two'); str = evalc ('summary (a)'); assert (! isempty (strfind (str, 'ANOVA TABLE'))); assert (! isempty (strfind (str, 'backend = anovan'))); ***** test a = anova ([1;1;1;2;2;2;3;3;3], (1:9)', 'SumOfSquaresType', 'two', ... 'Alpha', 0.10); str = evalc ('summary (a)'); assert (! isempty (strfind (str, 'Alpha: 0.1'))); ***** test a = anova ([1;1;1;2;2;2;3;3;3], (1:9)', 'SumOfSquaresType', 'two'); str = evalc ('disp (a)'); assert (! isempty (strfind (str, '1-way anova'))); assert (! isempty (strfind (str, 'Type II'))); assert (! isempty (strfind (str, 'Properties, Methods'))); ***** test a1 = anova ([1;1;1;2;2;2;3;3;3], (1:9)', 'SumOfSquaresType', 'one'); a2 = anova ([1;1;1;2;2;2;3;3;3], (1:9)', 'SumOfSquaresType', 'two'); assert (! isempty (strfind (evalc ('summary (a1)'), 'Type I sums'))); assert (! isempty (strfind (evalc ('summary (a2)'), 'Type II sums'))); ***** test y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; a = anova (g, y, 'SumOfSquaresType', 'two'); C = multcompare (a, 'display', 'off'); assert (! isempty (C)); assert_equal (size (C, 1), 3); ## 3 pairwise comparisons for 3 groups assert (size (C, 2) >= 6); ## at least i,j,diff,lo,hi,p ***** test popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; a = anova (popcorn, [], 'reps', 3); C = multcompare (a, 'display', 'off', 'estimate', 'column'); assert (! isempty (C)); assert (size (C, 2) >= 6); ***** test a = anova ([1;1;2;2;3;3], (1:6)', 'SumOfSquaresType', 'two'); C = multcompare (a, 'display', 'off'); assert (! isempty (C)); ***** test y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; a = anova (g, y, 'FactorNames', {'Brand'}, ... 'ResponseName', 'Yield', 'SumOfSquaresType', 'two'); assert_equal (a.Formula, 'Yield ~ 1 + Brand'); assert_equal (a.Factors.Brand, g); assert_equal (a.Y, y); assert_equal (a.FactorNames, {'Brand'}); assert_equal (a.SumOfSquaresType, 'two'); assert (! any (strcmp (methods ('anova'), 'predict'))); T = stats (a); M = groupmeans (a); V = varianceComponent (a); assert_equal (T{2, 2}, 126, 1e-12); assert_equal (M.Mean, [2; 5; 11], 1e-12); assert_equal (V.VarianceComponent, 1, 1e-12); ***** test a = anova ([1;1;1;2;2;2;3;3;3], (1:9)'); assert_equal (sort (properties (a)), sort ({'Y'; 'Factors'; 'Formula'; ... 'FactorNames'; 'ExpandedFactorNames'; 'SumOfSquaresType'; ... 'RandomFactors'; 'CategoricalFactors'; 'ResponseName'; ... 'NumObservations'; 'Coefficients'; 'Residuals'; 'Metrics'})); ***** test y = (1:12)'; g1 = repmat ([1;2;3], 4, 1); g2 = repmat ([1;1;2;2], 3, 1); a = anova ({g1, g2}, y, 'FactorNames', {'A', 'B'}); assert (istable (a.Factors)); assert_equal (a.Factors.A, g1); assert_equal (a.Factors.B, g2); ***** test y = [10; 12; 11; 14; 16; 15; 9; 8; 10]; g = [1;1;1;2;2;2;3;3;3]; a = anova (g, y, 'SumOfSquaresType', 'two'); a.fit (); assert (istable (a.Residuals)); assert_equal (a.Residuals.Properties.VariableNames, {'Raw', 'Pearson'}); assert_equal (a.Residuals.Pearson, a.Residuals.Raw ./ sqrt (a.MSE), 1e-12); ***** test y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; a = anova (g, y, 'SumOfSquaresType', 'two'); a.fit (); M = a.Metrics; assert_equal (M.Properties.VariableNames, {'MSE', 'RMSE', 'SSE', 'SSR', ... 'SST', 'RSquared', 'AdjustedRSquared'}); assert_equal (M.SSE, 6, 1e-12); assert_equal (M.SST, 132, 1e-12); assert_equal (M.RSquared, 126 / 132, 1e-12); ***** test y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; a = anova (g, y, 'SumOfSquaresType', 'two'); a.fit (); assert (iscellstr (a.ExpandedFactorNames)); assert (! isempty (a.ExpandedFactorNames)); ***** test y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; M = groupmeans (anova (g, y, 'SumOfSquaresType', 'two')); assert (all (M.MeanLower <= M.Mean)); assert (all (M.Mean <= M.MeanUpper)); ***** test hf = figure ('visible', 'off'); unwind_protect y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; h = boxchart (anova (g, y)); assert (! isempty (h)); unwind_protect_cleanup close (hf); end_unwind_protect | Normal Q-Q Plot |Spread-Location Plot 3 $|+$$$$$$$$$$$$$$$$$$$$$$$ 2 %|%%%%%%%%%%%%%%%%%%%%%%%% 2 $|+$$$$$$$$$$$$$$$$$$$$### 1.8 +|+ $|##$###$####$###$###### $ $|$$$$$$$$$$$$$$$$$$$$$$$$ 1 $|+$$$$$$$$$$$$ 2#$$$ 4$ 1.6 +|+##################### 0 $|+$$$$$$$$#sqrt ( | Studentized Res|duals | )############### -1 $|+ 1$### 3$$$$$$$$$$$$$ 1.2 +|+##################### $|######$####$###$###$## $ #|###################### -2 #|------------------------- 1 +|-------------------------3 -3 +-+$+$$$+$$$$+$$$+$$$+$$$+ 0.8 +-+#+###+####+###+###+## + -1.5 -1 -0.5 0 0.5 1 1.5 0.5 1 1.5 2 2.5 3 3.5 Residual-Leverage Plot Cook's Distance Stem Plot 1.5 +|+$$$$$$$$$$$$$$$$$$$$$$$ 0.7 +|+ | 0.6 +|+ 1 +|+$$$$$$$$$ 24$$$$$$$$$$ 0.5 @|@@@@ 1@@@@ 2@@@ 3@@@ 4 0.5 +|+$$$$$$$$$$$$$$$$$$$$$$$ 0.4 +|+###*######*#####*#### * #|####################Cook's distanc|####*######*#####*#### * 0 #|######################## 0.3 +|+###*######*#####*#### * -0.5 +|+$$$$$$$$$$$$$$$$$$$$$$$ 0.2 +|+###*######*#####*#### * #|------------------------- 0.1 +|------------------------- -1 +-+$$+$$$$$$$ 3$$$$+$$$$$ 0 $$$$$$$$$$$$$$$$$$$$$$$$$$ 0.45 0.5 0.55 0 1 2 3 4 Leverage Obs. number ***** test y = [1; 2; 3; 4; 5; 6; 10; 11; 12]; g = [1; 1; 1; 2; 2; 2; 3; 3; 3]; w = [1; 1; 1; 2; 2; 2; 3; 3; 3]; a = anova (g, y, 'Weights', w); a.fit (); assert_equal (a.FittedValues + a.Residuals.Raw, y, 1e-9); ***** test hf = figure ('visible', 'off'); unwind_protect y = [10; 12; 11; 14; 16; 15; 9; 8; 10]; g = [1;1;1;2;2;2;3;3;3]; a = anova (g, y, 'SumOfSquaresType', 'two'); h = plotDiagnostics (a, 'Visible', 'off'); assert (ishghandle (h)); assert_equal (numel (findall (h, 'type', 'axes')), 4); unwind_protect_cleanup close (h); close (hf); end_unwind_protect ***** test y = [10; 12; 11; 14; 16; 15; 9; 8; 10]; g = [1;1;1;2;2;2;3;3;3]; a = anova (g, y, 'SumOfSquaresType', 'two'); assert_equal (predict (a), a.FittedValues, 1e-9); ***** test y = [10; 12; 11; 14; 16; 15; 9; 8; 10]; g = [1;1;1;2;2;2;3;3;3]; a = anova (g, y, 'SumOfSquaresType', 'two'); a.fit (); assert_equal (predict (a, full (a.DesignMatrix)), a.FittedValues, 1e-9); ***** test y = [10; 12; 11; 14; 16; 15; 9; 8; 10]; g = [1;1;1;2;2;2;3;3;3]; a = anova (g, y, 'SumOfSquaresType', 'two'); es = getEffectSizes (a); assert (iscell (es.Source)); assert_equal (numel (es.EtaSquared), numel (es.Source)); assert (all (isfinite (es.PartialEtaSquared))); ***** test X = [1; 2; 3; 4; 5]; y = [2; 4; 5; 4; 5]; mdl = fitlm (X, y); a = anova (mdl); assert (! isempty (strfind (evalc ('disp (a)'), 'anova'))); assert (! isempty (a.AnovaTable)); assert_equal (predict (a), mdl.Fitted, 1e-9); es = getEffectSizes (a); assert_equal (es.Source, {'Model'}); assert_equal (es.EtaSquared, mdl.SSR / mdl.SST, 1e-9); ***** test X = [1; 2; 3; 4; 5]; y = [2; 4; 5; 4; 5]; mdl = fitlm (X, y); a = anova (mdl); h = plotDiagnostics (a, 'Visible', 'off'); unwind_protect assert (ishghandle (h)); assert_equal (numel (findall (h, 'type', 'axes')), 4); unwind_protect_cleanup close (h); end_unwind_protect ***** error anova () ***** error anova ('abc') ***** error anova ([]) ***** error ... anova ([1;1;2;2], [1;2;3;4], 'SumOfSquaresType') ***** error ... anova ([1;1;2;2], [1;2;3;4], 'bogus', 1) ***** error ... anova ([1;1;2;2], [1;2;3;4], 'SumOfSquaresType', 5) ***** error ... anova ([1;1;2;2], [1;2;3;4], 'Alpha', 2) ***** error ... anova ([1;1;2;2], [1;2;3;4], 'Display', 'maybe') ***** error ... anova ([1;1;2;2], [1;2;3;4], 1, 2) ***** error ... anova (magic (4), [], 'reps', -2) ***** error ... anova (magic (4), [], 'reps', 1.5) ***** error ... anova ([1;1;2;2], [1;2;3;4], 'ModelSpecification', 'quadratic') ***** error ... anova ([1;1;2;2], [1;2;3;4], 'Model', [1 0]) ***** error ... anova ([1;1;2], [1;2;3;4]) ***** error ... anova ({[1;1;2], [1;2;1;2]}, [1;2;3;4]) ***** error ... anova ([1;1;2;2], [1;2;3;4], 'Weights', [1;1;1]) ***** error ... anova ([1;1;2;2], [1;2;3;4], 'CategoricalFactors', 1.5) ***** error ... anova ([1;1;2;2], [1;2;3;4], 'CategoricalFactors', 2) ***** error ... anova ([1;1;2;2], [1;2;3;4], 'RandomFactors', 0) ***** error ... anova ([1;1;2;2], [1;2;3;4], 'RandomFactors', 2) ***** error ... stats (anova ([1;1;1;2;2;2;3;3;3], (1:9)'), 5) ***** error ... groupmeans (anova ([1;2;3;4;5;6])) ***** error ... varianceComponent (anova ([1;1;1;2;2;2;3;3;3], (1:9)', 'RandomFactors', 1)) ***** error popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; plotDiagnostics (anova (popcorn, [], 'reps', 3)); ***** error y = [10; 12; 11; 14; 16; 15; 9; 8; 10]; g = [1;1;1;2;2;2;3;3;3]; plotDiagnostics (anova (g, y, 'SumOfSquaresType', 'two'), 'Visible'); ***** error y = [10; 12; 11; 14; 16; 15; 9; 8; 10]; g = [1;1;1;2;2;2;3;3;3]; plotDiagnostics (anova (g, y, 'SumOfSquaresType', 'two'), 'BadOption', true); ***** error y = [10; 12; 11; 14; 16; 15; 9; 8; 10]; g = [1;1;1;2;2;2;3;3;3]; predict (anova (g, y, 'SumOfSquaresType', 'two'), ones (2, 2)); warning: test: file /build/reproducible-path/octave-statistics-1.8.4/inst/anova.m leaked file descriptors 76 tests, 76 passed, 0 known failure, 0 skipped [inst/cdfplot.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/cdfplot.m ***** demo x = randn (100,1); cdfplot (x); ***** test hf = figure ('visible', 'off'); unwind_protect x = [2, 4, 3, 2, 4, 3, 2, 5, 6, 4]; [hCDF, stats] = cdfplot (x); assert_equal (stats.min, 2); assert_equal (stats.max, 6); assert_equal (stats.median, 3.5); assert_equal (stats.std, 1.35400640077266, 1e-14); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect x = randn (100,1); cdfplot (x); unwind_protect_cleanup close (hf); end_unwind_protect ***** error cdfplot (); ***** error cdfplot ([x',x']); ***** error cdfplot ([NaN, NaN, NaN, NaN]); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/glmval.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/glmval.m ***** demo x = [210, 230, 250, 270, 290, 310, 330, 350, 370, 390, 410, 430]'; n = [48, 42, 31, 34, 31, 21, 23, 23, 21, 16, 17, 21]'; y = [1, 2, 0, 3, 8, 8, 14, 17, 19, 15, 17, 21]'; b = glmfit (x, [y n], 'binomial', 'Link', 'probit'); yfit = glmval (b, x, 'probit', 'Size', n); plot (x, y./n, 'o', x, yfit ./ n, '-') ***** error glmval () ***** error glmval (1) ***** error glmval (1, 2) ***** error ... glmval ('asd', [1; 1; 1], 'probit') ***** error ... glmval ([], [1; 1; 1], 'probit') ***** error ... glmval ([0.1; 0.3; 0.4], [], 'probit') ***** error ... glmval ([0.1; 0.3; 0.4], 'asd', 'probit') ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', {1, 2})) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', 'norminv')) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', 'some', 'Derivative', @(x)x, 'Inverse', 'normcdf')) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', 1, 'Derivative', @(x)x, 'Inverse', 'normcdf')) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', @(x) [x, x], 'Derivative', @(x)x, 'Inverse', 'normcdf')) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', 'what', 'Derivative', @(x)x, 'Inverse', 'normcdf')) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', @(x)x, 'Derivative', 'some', 'Inverse', 'normcdf')) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', @(x)x, 'Derivative', 1, 'Inverse', 'normcdf')) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', @(x)x, 'Derivative', @(x) [x, x], 'Inverse', 'normcdf')) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', @(x)x, 'Derivative', 'what', 'Inverse', 'normcdf')) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', @(x)x, 'Derivative', 'normcdf', 'Inverse', 'some')) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', @(x)x, 'Derivative', 'normcdf', 'Inverse', 1)) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', @(x)x, 'Derivative', 'normcdf', 'Inverse', @(x) [x, x])) ***** error ... glmval (rand (3,1), rand (5,2), struct ('Link', @(x)x, 'Derivative', 'normcdf', 'Inverse', 'what')) ***** error ... glmval (rand (3,1), rand (5,2), {'log'}) ***** error ... glmval (rand (3,1), rand (5,2), {'log', 'hijy'}) ***** error ... glmval (rand (3,1), rand (5,2), {1, 2, 3, 4}) ***** error ... glmval (rand (3,1), rand (5,2), {'log', 'dfv', 'dfgvd'}) ***** error ... glmval (rand (3,1), rand (5,2), {@(x) [x, x], 'dfv', 'dfgvd'}) ***** error ... glmval (rand (3,1), rand (5,2), {@(x) what (x), 'dfv', 'dfgvd'}) ***** error ... glmval (rand (3,1), rand (5,2), {@(x) x, 'dfv', 'dfgvd'}) ***** error ... glmval (rand (3,1), rand (5,2), {@(x) x, @(x) [x, x], 'dfgvd'}) ***** error ... glmval (rand (3,1), rand (5,2), {@(x) x, @(x) what (x), 'dfgvd'}) ***** error ... glmval (rand (3,1), rand (5,2), {@(x) x, @(x) x, 'dfgvd'}) ***** error ... glmval (rand (3,1), rand (5,2), {@(x) x, @(x) x, @(x) [x, x]}) ***** error ... glmval (rand (3,1), rand (5,2), {@(x) x, @(x) x, @(x) what (x)}) ***** error ... glmval (rand (3,1), rand (5,2), NaN) ***** error ... glmval (rand (3,1), rand (5,2), [1, 2]) ***** error ... glmval (rand (3,1), rand (5,2), [1i]) ***** error ... glmval (rand (3,1), rand (5,2), ['log'; 'log1']) ***** error ... glmval (rand (3,1), rand (5,2), 'somelinkfunction') ***** error ... glmval (rand (3,1), rand (5,2), true) ***** error ... glmval (rand (3,1), rand (5,2), 'probit', struct ('s', 1)) ***** error ... glmval (rand (3,1), rand (5,2), 'probit', 'confidence') ***** error ... glmval (rand (3,1), rand (5,2), 'probit', 'confidence', 0) ***** error ... glmval (rand (3,1), rand (5,2), 'probit', 'confidence', 1.2) ***** error ... glmval (rand (3,1), rand (5,2), 'probit', 'confidence', [0.9, 0.95]) ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'constant', 1) ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'constant', 'o') ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'constant', true) ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'offset', [1; 2; 3; 4]) ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'offset', 'asdfg') ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'simultaneous', 'asdfg') ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'simultaneous', [true, false]) ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'size', 'asd') ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'size', [2, 3, 4]) ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'size', [2; 3; 4]) ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'size', ones (3)) ***** error ... glmval (rand (3, 1), rand (5, 2), 'probit', 'someparam', 4) ***** error ... [y,lo,hi] = glmval (rand (3, 1), rand (5, 2), 'probit') 57 tests, 57 passed, 0 known failure, 0 skipped [inst/sampsizepwr.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/sampsizepwr.m ***** demo ## Compute the mean closest to 100 that can be determined to be ## significantly different from 100 using a t-test with a sample size ## of 60 and a power of 0.8. mu1 = sampsizepwr ('t', [100, 10], [], 0.8, 60); disp (mu1); ***** demo ## Compute the sample sizes required to distinguish mu0 = 100 from ## mu1 = 110 by a two-sample t-test with a ratio of the larger and the ## smaller sample sizes of 1.5 and a power of 0.6. [N1,N2] = sampsizepwr ('t2', [100, 10], 110, 0.6, [], 'ratio', 1.5) ***** demo ## Compute the sample size N required to distinguish p=.26 from p=.2 ## with a binomial test. The result is approximate, so make a plot to ## see if any smaller N values also have the required power of 0.6. Napprox = sampsizepwr ('p', 0.2, 0.26, 0.6); nn = 1:250; pwr = sampsizepwr ('p', 0.2, 0.26, [], nn); Nexact = min (nn(pwr >= 0.6)); plot (nn,pwr,'b-', [Napprox Nexact],pwr([Napprox Nexact]),'ro'); grid on ***** demo ## The company must test 52 bottles to detect the difference between a mean ## volume of 100 mL and 102 mL with a power of 0.80. Generate a power curve ## to visualize how the sample size affects the power of the test. nout = sampsizepwr ('t',[100 5],102,0.80); nn = 1:100; pwrout = sampsizepwr ('t',[100 5],102,[],nn); figure; plot (nn, pwrout, 'b-', nout, 0.8, 'ro') title ('Power versus Sample Size') xlabel ('Sample Size') ylabel ('Power') ***** error ... out = sampsizepwr ([], [100, 10], [], 0.8, 60); ***** error ... out = sampsizepwr (3, [100, 10], [], 0.8, 60); ***** error ... out = sampsizepwr ({'t', 't2'}, [100, 10], [], 0.8, 60); ***** error ... out = sampsizepwr ('reg', [100, 10], [], 0.8, 60); ***** error ... out = sampsizepwr ('t', ['a', 'e'], [], 0.8, 60); ***** error ... out = sampsizepwr ('z', 100, [], 0.8, 60); ***** error ... out = sampsizepwr ('t', 100, [], 0.8, 60); ***** error ... out = sampsizepwr ('t2', 60, [], 0.8, 60); ***** error ... out = sampsizepwr ('var', [100, 10], [], 0.8, 60); ***** error ... out = sampsizepwr ('p', [100, 10], [], 0.8, 60); ***** error ... out = sampsizepwr ('r', [100, 10], [], 0.8, 60); ***** error ... [out, N1] = sampsizepwr ('z', [100, 10], [], 0.8, 60); ***** error ... [out, N1] = sampsizepwr ('t', [100, 10], [], 0.8, 60); ***** error ... [out, N1] = sampsizepwr ('var', 2, [], 0.8, 60); ***** error ... [out, N1] = sampsizepwr ('p', 0.1, [], 0.8, 60); ***** error ... [out, N1] = sampsizepwr ('r', 0.5, [], 0.8, 60); ***** error ... out = sampsizepwr ('z', [100, 0], [], 0.8, 60); ***** error ... out = sampsizepwr ('z', [100, -5], [], 0.8, 60); ***** error ... out = sampsizepwr ('t', [100, 0], [], 0.8, 60); ***** error ... out = sampsizepwr ('t', [100, -5], [], 0.8, 60); ***** error ... [out, N1] = sampsizepwr ('t2', [100, 0], [], 0.8, 60); ***** error ... [out, N1] = sampsizepwr ('t2', [100, -5], [], 0.8, 60); ***** error ... out = sampsizepwr ('var', 0, [], 0.8, 60); ***** error ... out = sampsizepwr ('var', -5, [], 0.8, 60); ***** error ... out = sampsizepwr ('p', 0, [], 0.8, 60); ***** error ... out = sampsizepwr ('p', 1.2, [], 0.8, 60); ***** error ... out = sampsizepwr ('r', -1.5, [], 0.8, 60); ***** error ... out = sampsizepwr ('r', -1, [], 0.8, 60); ***** error ... out = sampsizepwr ('r', 1.2, [], 0.8, 60); ***** error ... out = sampsizepwr ('r', 0, [], 0.8, 60); ***** error ... out = sampsizepwr ('r', 0.2, [], 0.8, 60, 'alpha', -0.2); ***** error ... out = sampsizepwr ('r', 0.2, [], 0.8, 60, 'alpha', 0); ***** error ... out = sampsizepwr ('r', 0.2, [], 0.8, 60, 'alpha', 1.5); ***** error ... out = sampsizepwr ('r', 0.2, [], 0.8, 60, 'alpha', 'zero'); ***** error ... out = sampsizepwr ('r', 0.2, [], 0.8, 60, 'tail', 1.5); ***** error ... out = sampsizepwr ('r', 0.2, [], 0.8, 60, 'tail', {'both', 'left'}); ***** error ... out = sampsizepwr ('r', 0.2, [], 0.8, 60, 'tail', 'other'); ***** error ... out = sampsizepwr ('r', 0.2, [], 0.8, 60, 'ratio', 'some'); ***** error ... out = sampsizepwr ('r', 0.2, [], 0.8, 60, 'ratio', 0.5); ***** error ... out = sampsizepwr ('r', 0.2, [], 0.8, 60, 'ratio', [2, 1.3, 0.3]); ***** error ... out = sampsizepwr ('z', [100, 5], [], [], 60); ***** error ... out = sampsizepwr ('z', [100, 5], 110, [], []); ***** error ... out = sampsizepwr ('z', [100, 5], [], 0.8, []); ***** error ... out = sampsizepwr ('z', [100, 5], 110, 0.8, 60); ***** error ... out = sampsizepwr ('z', [100, 5], 'mu', [], 60); ***** error ... out = sampsizepwr ('var', 5, -1, [], 60); ***** error ... out = sampsizepwr ('p', 0.8, 1.2, [], 60, 'tail', 'right'); ***** error ... out = sampsizepwr ('r', 0.8, 1.2, [], 60); ***** error ... out = sampsizepwr ('r', 0.8, -1.2, [], 60); ***** error ... out = sampsizepwr ('z', [100, 5], 110, 1.2); ***** error ... out = sampsizepwr ('z', [100, 5], 110, 0); ***** error ... out = sampsizepwr ('z', [100, 5], 110, 0.05, [], 'alpha', 0.1); ***** error ... out = sampsizepwr ('z', [100, 5], [], [0.8, 0.7], [60, 80, 100]); ***** error ... out = sampsizepwr ('t', [100, 5], 100, 0.8, []); ***** error ... out = sampsizepwr ('t', [100, 5], 110, 0.8, [], 'tail', 'left'); ***** error ... out = sampsizepwr ('t', [100, 5], 90, 0.8, [], 'tail', 'right'); ***** warning ... Napprox = sampsizepwr ('p', 0.2, 0.26, 0.6); ***** warning ... Napprox = sampsizepwr ('p', 0.30, 0.36, 0.8); ***** test mu1 = sampsizepwr ('t', [100, 10], [], 0.8, 60); assert_equal (mu1, 103.67704316, 1e-8); ***** test [N1,N2] = sampsizepwr ('t2', [100, 10], 110, 0.6, [], 'ratio', 1.5); assert_equal (N1, 9); assert_equal (N2, 14); ***** test nn = 1:250; pwr = sampsizepwr ('p', 0.2, 0.26, [], nn); pwr_out = [0, 0.0676, 0.0176, 0.0566, 0.0181, 0.0431, 0.0802, 0.0322]; assert_equal (pwr([1:8]), pwr_out, 1e-4 * ones (1,8)); pwr_out = [0.59275, 0.6073, 0.62166, 0.6358, 0.6497, 0.6087, 0.6229, 0.6369]; assert_equal (pwr([243:end]), pwr_out, 1e-4 * ones (1,8)); ***** test nout = sampsizepwr ('t', [100, 5], 102, 0.80); assert_equal (nout, 52); ***** test power = sampsizepwr ('t', [20, 5], 25, [], 5, 'Tail', 'right'); assert_equal (power, 0.5797373588621888, 1e-14); ***** test nout = sampsizepwr ('t', [20, 5], 25, 0.99, [], 'Tail', 'right'); assert_equal (nout, 18); ***** test p1out = sampsizepwr ('t', [20, 5], [], 0.95, 10, 'Tail', 'right'); assert_equal (p1out, 25.65317979360237, 5e-14); ***** test pwr = sampsizepwr ('t2', [1.4, 0.2], 1.7, [], 5, 'Ratio', 2); assert_equal (pwr, 0.716504004686586, 1e-14); ***** test n = sampsizepwr ('t2', [1.4, 0.2], 1.7, 0.9, []); assert_equal (n, 11); ***** test [n1, n2] = sampsizepwr ('t2', [1.4, 0.2], 1.7, 0.9, [], 'Ratio', 2); assert_equal ([n1, n2], [8, 16]); 68 tests, 68 passed, 0 known failure, 0 skipped [inst/dist_obj/PiecewiseLinearDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/PiecewiseLinearDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Beta distribution with ## parameters a = 2 and b = 5 scaled to [0,10]. ## Compute empirical CDF, subsample, create PiecewiseLinearDistribution, ## and plot the PDF superimposed on a histogram of the data. randg ('seed', 2); data = betarnd (2, 5, 5000, 1) * 10; [f, x] = ecdf (data); f = f(1:5:end); x = x(1:5:end); pd = PiecewiseLinearDistribution (x, f); [counts, centers] = hist (data, 50); bin_width = centers(2) - centers(1); bar (centers, counts / (sum (counts) * bin_width), 1); hold on vals = min (data):0.1:max (data); y = pdf (pd, vals); plot (vals, y, '-r', 'LineWidth', 2) hold off title ('Piecewise Linear approximation to scaled Beta(2,5) data') legend ('Histogram', 'Piecewise PDF') ***** shared pd, t load patients [f, x] = ecdf (Weight); f = f(1:5:end); x = x(1:5:end); pd = PiecewiseLinearDistribution (x, f); t = truncate (pd, 130, 180); ***** assert_equal (cdf (pd, [120, 130, 140, 150, 200]), [0.0767, 0.25, 0.4629, 0.5190, 0.9908], 1e-4); ***** assert_equal (cdf (t, [120, 130, 140, 150, 200]), [0, 0, 0.4274, 0.5403, 1], 1e-4); ***** assert_equal (cdf (pd, [100, 250, NaN]), [0, 1, NaN], 1e-4); ***** assert_equal (cdf (t, [115, 290, NaN]), [0, 1, NaN], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [111, 127.5, 136.62, 169.67, 182.17, 202], 1e-2); ***** assert_equal (icdf (t, [0:0.2:1]), [130, 134.15, 139.26, 162.5, 173.99, 180], 1e-2); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NA, 136.62, 169.67, 182.17, 202, NA], 1e-2); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NA, 139.26, 162.5, 173.99, 180, NA], 1e-2); ***** assert_equal (iqr (pd), 50.0833, 1e-4); ***** assert_equal (iqr (t), 36.8077, 1e-4); ***** assert_equal (mean (pd), 153.61, 1e-10); ***** assert_equal (mean (t), 152.311, 1e-3); ***** assert_equal (median (pd), 142, 1e-10); ***** assert_equal (median (t), 141.9462, 1e-4); ***** assert_equal (pdf (pd, [120, 130, 140, 150, 200]), [0.0133, 0.0240, 0.0186, 0.0024, 0.0004], 6e-3); ***** assert_equal (pdf (t, [120, 130, 140, 150, 200]), [0, 0.0482, 0.0373, 0.0048, 0], 1e-4); ***** assert_equal (pdf (pd, [100, 250, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (pdf (t, [100, 250, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 130), false); ***** assert_equal (any (random (t, 1000, 1) > 180), false); ***** assert_equal (std (pd), 26.5196, 1e-4); ***** assert_equal (std (t), 18.2941, 1e-4); ***** assert_equal (var (pd), 703.2879, 1e-4); ***** assert_equal (var (t), 334.6757, 1e-4); ***** error ... PiecewiseLinearDistribution ([0, i], [0, 1]) ***** error ... PiecewiseLinearDistribution ([0, Inf], [0, 1]) ***** error ... PiecewiseLinearDistribution (['a', 'c'], [0, 1]) ***** error ... PiecewiseLinearDistribution ([NaN, 1], [0, 1]) ***** error ... PiecewiseLinearDistribution ([0, 1], [0, i]) ***** error ... PiecewiseLinearDistribution ([0, 1], [0, Inf]) ***** error ... PiecewiseLinearDistribution ([0, 1], ['a', 'c']) ***** error ... PiecewiseLinearDistribution ([0, 1], [NaN, 1]) ***** error ... PiecewiseLinearDistribution ([0, 1], [0, 0.5, 1]) ***** error ... PiecewiseLinearDistribution ([0], [1]) ***** error ... PiecewiseLinearDistribution ([0, 0.5, 1], [0, 1, 1.5]) ***** error ... cdf (PiecewiseLinearDistribution, 2, 'uper') ***** error ... cdf (PiecewiseLinearDistribution, 2, 3) ***** error ... plot (PiecewiseLinearDistribution, 'Parent') ***** error ... plot (PiecewiseLinearDistribution, 'PlotType', 12) ***** error ... plot (PiecewiseLinearDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (PiecewiseLinearDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (PiecewiseLinearDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (PiecewiseLinearDistribution, 'Discrete', [1, 0]) ***** error ... plot (PiecewiseLinearDistribution, 'Discrete', {true}) ***** error ... plot (PiecewiseLinearDistribution, 'Parent', 12) ***** error ... plot (PiecewiseLinearDistribution, 'Parent', 'hax') ***** error ... plot (PiecewiseLinearDistribution, 'invalidNAME', 'pdf') ***** error ... plot (PiecewiseLinearDistribution, 'PlotType', 'probability') ***** error ... truncate (PiecewiseLinearDistribution) ***** error ... truncate (PiecewiseLinearDistribution, 2) ***** error ... truncate (PiecewiseLinearDistribution, 4, 2) ***** shared pd pd = PiecewiseLinearDistribution (); pd(2) = PiecewiseLinearDistribution (); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 63 tests, 63 passed, 0 known failure, 0 skipped [inst/dist_obj/RicianDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/RicianDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Rician distribution with ## parameters s = 2 and sigma = 1. Fit a Rician distribution to this data and ## plot a PDF of the fitted distribution superimposed on a histogram of the data. pd_fixed = makedist ('Rician', 's', 2, 'sigma', 1) rand ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'Rician') plot (pd_fitted) msg = 'Fitted Rician distribution with s = %0.2f and sigma = %0.2f'; title (sprintf (msg, pd_fitted.s, pd_fitted.sigma)) ***** shared pd, t pd = RicianDistribution; t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.2671, 0.7310, 0.9563, 0.9971, 0.9999], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.8466, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4, NaN]), [0.5120, 0.7310, 0.9563, 0.9971, NaN], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4, NaN]), [0, 0, 0.8466, 1, NaN], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.8501, 1.2736, 1.6863, 2.2011, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.1517, 2.3296, 2.5545, 2.8868, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 1.2736, 1.6863, 2.2011, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.3296, 2.5545, 2.8868, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.0890, 1e-4); ***** assert_equal (iqr (t), 0.5928, 1e-4); ***** assert_equal (mean (pd), 1.5486, 1e-4); ***** assert_equal (mean (t), 2.5380, 1e-4); ***** assert_equal (median (pd), 1.4755, 1e-4); ***** assert_equal (median (t), 2.4341, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0, 0.4658, 0.3742, 0.0987, 0.0092, 0.0003], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 1.4063, 0.3707, 0.0346, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1.5, NaN]), [0, 0.4864, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1.5, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 0.7758, 1e-4); ***** assert_equal (std (t), 0.4294, 1e-4); ***** assert_equal (var (pd), 0.6019, 1e-4); ***** assert_equal (var (t), 0.1844, 1e-4); ***** error ... RicianDistribution (-eps, 1) ***** error ... RicianDistribution (-1, 1) ***** error ... RicianDistribution (Inf, 1) ***** error ... RicianDistribution (i, 1) ***** error ... RicianDistribution ('a', 1) ***** error ... RicianDistribution ([1, 2], 1) ***** error ... RicianDistribution (NaN, 1) ***** error ... RicianDistribution (1, 0) ***** error ... RicianDistribution (1, -1) ***** error ... RicianDistribution (1, Inf) ***** error ... RicianDistribution (1, i) ***** error ... RicianDistribution (1, 'a') ***** error ... RicianDistribution (1, [1, 2]) ***** error ... RicianDistribution (1, NaN) ***** error ... cdf (RicianDistribution, 2, 'uper') ***** error ... cdf (RicianDistribution, 2, 3) ***** shared x x = gevrnd (1, 1, 1, [1, 100]); ***** error ... paramci (RicianDistribution.fit (x), 'alpha') ***** error ... paramci (RicianDistribution.fit (x), 'alpha', 0) ***** error ... paramci (RicianDistribution.fit (x), 'alpha', 1) ***** error ... paramci (RicianDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (RicianDistribution.fit (x), 'alpha', '') ***** error ... paramci (RicianDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (RicianDistribution.fit (x), 'parameter', 's', 'alpha', {0.05}) ***** error ... paramci (RicianDistribution.fit (x), 'parameter', {'s', 'sigma', 'param'}) ***** error ... paramci (RicianDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'s', 'sigma', 'param'}) ***** error ... paramci (RicianDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (RicianDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (RicianDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (RicianDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (RicianDistribution.fit (x), 'alpha', 0.01, 'parameter', 's', ... 'NAME', 'value') ***** error ... plot (RicianDistribution, 'Parent') ***** error ... plot (RicianDistribution, 'PlotType', 12) ***** error ... plot (RicianDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (RicianDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (RicianDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (RicianDistribution, 'Discrete', [1, 0]) ***** error ... plot (RicianDistribution, 'Discrete', {true}) ***** error ... plot (RicianDistribution, 'Parent', 12) ***** error ... plot (RicianDistribution, 'Parent', 'hax') ***** error ... plot (RicianDistribution, 'invalidNAME', 'pdf') ***** error ... plot (RicianDistribution, 'PlotType', 'probability') ***** error ... proflik (RicianDistribution, 2) ***** error ... proflik (RicianDistribution.fit (x), 3) ***** error ... proflik (RicianDistribution.fit (x), [1, 2]) ***** error ... proflik (RicianDistribution.fit (x), {1}) ***** error ... proflik (RicianDistribution.fit (x), 1, ones (2)) ***** error ... proflik (RicianDistribution.fit (x), 1, 'Display') ***** error ... proflik (RicianDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (RicianDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (RicianDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (RicianDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (RicianDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (RicianDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (RicianDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (RicianDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (RicianDistribution) ***** error ... truncate (RicianDistribution, 2) ***** error ... truncate (RicianDistribution, 4, 2) ***** shared pd pd = RicianDistribution (1, 1); pd(2) = RicianDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 97 tests, 97 passed, 0 known failure, 0 skipped [inst/dist_obj/BinomialDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/BinomialDistribution.m ***** shared pd, t, t_inf pd = BinomialDistribution (5, 0.5); t = truncate (pd, 2, 4); t_inf = truncate (pd, 2, Inf); ***** assert_equal (cdf (pd, [0:5]), [0.0312, 0.1875, 0.5, 0.8125, 0.9688, 1], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0.4, 0.8, 1, 1], 1e-4); ***** assert_equal (cdf (t_inf, [0:5]), [0, 0, 0.3846, 0.7692, 0.9615, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4, NaN]), [0.1875, 0.5, 0.8125, 0.9688, NaN], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4, NaN]), [0, 0.4, 0.8, 1, NaN], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 2, 2, 3, 3, 5], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2, 2, 3, 3, 4], 1e-4); ***** assert_equal (icdf (t_inf, [0:0.2:1]), [2, 2, 3, 3, 4, 5], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 2, 3, 3, 5, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2, 3, 3, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1); ***** assert_equal (iqr (t), 1); ***** assert_equal (mean (pd), 2.5, 1e-10); ***** assert_equal (mean (t), 2.8, 1e-10); ***** assert_equal (mean (t_inf), 2.8846, 1e-4); ***** assert_equal (median (pd), 2.5); ***** assert_equal (median (t), 3); ***** assert_equal (pdf (pd, [0:5]), [0.0312, 0.1562, 0.3125, 0.3125, 0.1562, 0.0312], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 0.4, 0.4, 0.2, 0], 1e-4); ***** assert_equal (pdf (t_inf, [0:5]), [0, 0, 0.3846, 0.3846, 0.1923, 0.0385], 1e-4); ***** assert_equal (pdf (pd, [-1, 1.5, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1.5, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1.1180, 1e-4); ***** assert_equal (std (t), 0.7483, 1e-4); ***** assert_equal (std (t_inf), 0.8470, 1e-4); ***** assert_equal (var (pd), 1.2500, 1e-4); ***** assert_equal (var (t), 0.5600, 1e-4); ***** assert_equal (var (t_inf), 0.7175, 1e-4); ***** error ... BinomialDistribution (Inf, 0.5) ***** error ... BinomialDistribution (i, 0.5) ***** error ... BinomialDistribution ('a', 0.5) ***** error ... BinomialDistribution ([1, 2], 0.5) ***** error ... BinomialDistribution (NaN, 0.5) ***** error ... BinomialDistribution (1, 1.01) ***** error ... BinomialDistribution (1, -0.01) ***** error ... BinomialDistribution (1, Inf) ***** error ... BinomialDistribution (1, i) ***** error ... BinomialDistribution (1, 'a') ***** error ... BinomialDistribution (1, [1, 2]) ***** error ... BinomialDistribution (1, NaN) ***** error ... cdf (BinomialDistribution, 2, 'uper') ***** error ... cdf (BinomialDistribution, 2, 3) ***** shared x rand ('seed', 2); x = binornd (5, 0.5, [1, 100]); ***** error ... paramci (BinomialDistribution.fit (x, 6), 'alpha') ***** error ... paramci (BinomialDistribution.fit (x, 6), 'alpha', 0) ***** error ... paramci (BinomialDistribution.fit (x, 6), 'alpha', 1) ***** error ... paramci (BinomialDistribution.fit (x, 6), 'alpha', [0.5 2]) ***** error ... paramci (BinomialDistribution.fit (x, 6), 'alpha', '') ***** error ... paramci (BinomialDistribution.fit (x, 6), 'alpha', {0.05}) ***** error ... paramci (BinomialDistribution.fit (x, 6), 'parameter', 'p', ... 'alpha', {0.05}) ***** error ... paramci (BinomialDistribution.fit (x, 6), ... 'parameter', {'N', 'p', 'param'}) ***** error ... paramci (BinomialDistribution.fit (x, 6), 'alpha', 0.01, ... 'parameter', {'N', 'p', 'param'}) ***** error ... paramci (BinomialDistribution.fit (x, 6), 'parameter', 'param') ***** error ... paramci (BinomialDistribution.fit (x, 6), 'parameter', 'N') ***** error ... paramci (BinomialDistribution.fit (x, 6), 'alpha', 0.01, ... 'parameter', 'param') ***** error ... paramci (BinomialDistribution.fit (x, 6), 'NAME', 'value') ***** error ... paramci (BinomialDistribution.fit (x, 6), 'alpha', 0.01, ... 'NAME', 'value') ***** error ... paramci (BinomialDistribution.fit (x, 6), 'alpha', 0.01, ... 'parameter', 'p', 'NAME', 'value') ***** error ... plot (BinomialDistribution, 'Parent') ***** error ... plot (BinomialDistribution, 'PlotType', 12) ***** error ... plot (BinomialDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (BinomialDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (BinomialDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (BinomialDistribution, 'Discrete', [1, 0]) ***** error ... plot (BinomialDistribution, 'Discrete', {true}) ***** error ... plot (BinomialDistribution, 'Parent', 12) ***** error ... plot (BinomialDistribution, 'Parent', 'hax') ***** error ... plot (BinomialDistribution, 'invalidNAME', 'pdf') ***** error ... plot (BinomialDistribution, 'PlotType', 'probability') ***** error ... proflik (BinomialDistribution, 2) ***** error ... proflik (BinomialDistribution.fit (x, 6), 3) ***** error ... proflik (BinomialDistribution.fit (x, 6), [1, 2]) ***** error ... proflik (BinomialDistribution.fit (x, 6), {1}) ***** error ... proflik (BinomialDistribution.fit (x, 6), 2, ones (2)) ***** error ... proflik (BinomialDistribution.fit (x, 6), 2, 'Display') ***** error ... proflik (BinomialDistribution.fit (x, 6), 2, 'Display', 1) ***** error ... proflik (BinomialDistribution.fit (x, 6), 2, 'Display', {1}) ***** error ... proflik (BinomialDistribution.fit (x, 6), 2, 'Display', {'on'}) ***** error ... proflik (BinomialDistribution.fit (x, 6), 2, 'Display', ['on'; 'on']) ***** error ... proflik (BinomialDistribution.fit (x, 6), 2, 'Display', 'onnn') ***** error ... proflik (BinomialDistribution.fit (x, 6), 2, 'NAME', 'on') ***** error ... proflik (BinomialDistribution.fit (x, 6), 2, {'NAME'}, 'on') ***** error ... proflik (BinomialDistribution.fit (x, 6), 2, {[1 2 3]}, 'Display', 'on') ***** error ... truncate (BinomialDistribution) ***** error ... truncate (BinomialDistribution, 2) ***** error ... truncate (BinomialDistribution, 4, 2) ***** shared pd pd = BinomialDistribution (1, 0.5); pd(2) = BinomialDistribution (1, 0.6); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 102 tests, 102 passed, 0 known failure, 0 skipped [inst/dist_obj/LoguniformDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/LoguniformDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Log-uniform distribution with ## parameters Lower = 1 and Upper = 10. Plot a PDF of the distribution superimposed ## on a histogram of the data. pd_fixed = makedist ('Loguniform', 'Lower', 1, 'Upper', 10); rand ('seed', 2); data = random (pd_fixed, 5000, 1); plot (pd_fixed) hold on hist (data, 50) hold off msg = 'Log-uniform distribution with Lower = %0.2f and Upper = %0.2f'; title (sprintf (msg, pd_fixed.Lower, pd_fixed.Upper)) ***** shared pd, t pd = LoguniformDistribution (1, 4); t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0, 1, 2, 3, 4, 5]), [0, 0, 0.5, 0.7925, 1, 1], 1e-4); ***** assert_equal (cdf (t, [0, 1, 2, 3, 4, 5]), [0, 0, 0, 0.5850, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.2925, 0.5, 0.7925, 1], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.5850, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [1, 1.3195, 1.7411, 2.2974, 3.0314, 4], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.2974, 2.6390, 3.0314, 3.4822, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 1.7411, 2.2974, 3.0314, 4, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.6390, 3.0314, 3.4822, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.4142, 1e-4); ***** assert_equal (iqr (t), 0.9852, 1e-4); ***** assert_equal (mean (pd), 2.1640, 1e-4); ***** assert_equal (mean (t), 2.8854, 1e-4); ***** assert_equal (median (pd), 2); ***** assert_equal (median (t), 2.8284, 1e-4); ***** assert_equal (pdf (pd, [0, 1, 2, 3, 4, 5]), [0, 0.7213, 0.3607, 0.2404, 0.1803, 0], 1e-4); ***** assert_equal (pdf (t, [0, 1, 2, 3, 4, 5]), [0, 0, 0.7213, 0.4809, 0.3607, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1, 2, 3, 4, NaN]), [0, 0.7213, 0.3607, 0.2404, 0.1803, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1, 2, 3, 4, NaN]), [0, 0, 0.7213, 0.4809, 0.3607, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (pd, 1000, 1) < 1), false); ***** assert_equal (any (random (pd, 1000, 1) > 4), false); ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 0.8527, 1e-4); ***** assert_equal (std (t), 0.5751, 1e-4); ***** assert_equal (var (pd), 0.7270, 1e-4); ***** assert_equal (var (t), 0.3307, 1e-4); ***** error ... LoguniformDistribution (i, 1) ***** error ... LoguniformDistribution (Inf, 1) ***** error ... LoguniformDistribution ([1, 2], 1) ***** error ... LoguniformDistribution ('a', 1) ***** error ... LoguniformDistribution (NaN, 1) ***** error ... LoguniformDistribution (1, i) ***** error ... LoguniformDistribution (1, Inf) ***** error ... LoguniformDistribution (1, [1, 2]) ***** error ... LoguniformDistribution (1, 'a') ***** error ... LoguniformDistribution (1, NaN) ***** error ... LoguniformDistribution (2, 1) ***** error ... cdf (LoguniformDistribution, 2, 'uper') ***** error ... cdf (LoguniformDistribution, 2, 3) ***** error ... plot (LoguniformDistribution, 'Parent') ***** error ... plot (LoguniformDistribution, 'PlotType', 12) ***** error ... plot (LoguniformDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (LoguniformDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (LoguniformDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (LoguniformDistribution, 'Discrete', [1, 0]) ***** error ... plot (LoguniformDistribution, 'Discrete', {true}) ***** error ... plot (LoguniformDistribution, 'Parent', 12) ***** error ... plot (LoguniformDistribution, 'Parent', 'hax') ***** error ... plot (LoguniformDistribution, 'invalidNAME', 'pdf') ***** error ... plot (LoguniformDistribution, 'PlotType', 'probability') ***** error ... truncate (LoguniformDistribution) ***** error ... truncate (LoguniformDistribution, 2) ***** error ... truncate (LoguniformDistribution, 4, 2) ***** shared pd pd = LoguniformDistribution (1, 4); pd(2) = LoguniformDistribution (2, 5); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 65 tests, 65 passed, 0 known failure, 0 skipped [inst/dist_obj/GammaDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/GammaDistribution.m ***** shared pd, t pd = GammaDistribution (1, 1); t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.6321, 0.8647, 0.9502, 0.9817, 0.9933], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.7311, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.7769, 0.8647, 0.9502, 0.9817], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.7311, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.2231, 0.5108, 0.9163, 1.6094, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.1899, 2.4244, 2.7315, 3.1768, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.5108, 0.9163, 1.6094, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.4244, 2.7315, 3.1768, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.0986, 1e-4); ***** assert_equal (iqr (t), 0.8020, 1e-4); ***** assert_equal (mean (pd), 1); ***** assert_equal (mean (t), 2.6870, 1e-4); ***** assert_equal (median (pd), 0.6931, 1e-4); ***** assert_equal (median (t), 2.5662, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [1, 0.3679, 0.1353, 0.0498, 0.0183, 0.0067], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 1.1565, 0.4255, 0.1565, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0, 0.3679, 0.1353, 0.0498, 0.0183, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 1.1565, 0.4255, 0.1565, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1); ***** assert_equal (std (t), 0.5253, 1e-4); ***** assert_equal (var (pd), 1); ***** assert_equal (var (t), 0.2759, 1e-4); ***** error ... GammaDistribution (0, 1) ***** error ... GammaDistribution (Inf, 1) ***** error ... GammaDistribution (i, 1) ***** error ... GammaDistribution ('a', 1) ***** error ... GammaDistribution ([1, 2], 1) ***** error ... GammaDistribution (NaN, 1) ***** error ... GammaDistribution (1, 0) ***** error ... GammaDistribution (1, -1) ***** error ... GammaDistribution (1, Inf) ***** error ... GammaDistribution (1, i) ***** error ... GammaDistribution (1, 'a') ***** error ... GammaDistribution (1, [1, 2]) ***** error ... GammaDistribution (1, NaN) ***** error ... cdf (GammaDistribution, 2, 'uper') ***** error ... cdf (GammaDistribution, 2, 3) ***** shared x x = gamrnd (1, 1, [100, 1]); ***** error ... paramci (GammaDistribution.fit (x), 'alpha') ***** error ... paramci (GammaDistribution.fit (x), 'alpha', 0) ***** error ... paramci (GammaDistribution.fit (x), 'alpha', 1) ***** error ... paramci (GammaDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (GammaDistribution.fit (x), 'alpha', '') ***** error ... paramci (GammaDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (GammaDistribution.fit (x), 'parameter', 'a', 'alpha', {0.05}) ***** error ... paramci (GammaDistribution.fit (x), 'parameter', {'a', 'b', 'param'}) ***** error ... paramci (GammaDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'a', 'b', 'param'}) ***** error ... paramci (GammaDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (GammaDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (GammaDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (GammaDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (GammaDistribution.fit (x), 'alpha', 0.01, 'parameter', 'a', ... 'NAME', 'value') ***** error ... plot (GammaDistribution, 'Parent') ***** error ... plot (GammaDistribution, 'PlotType', 12) ***** error ... plot (GammaDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (GammaDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (GammaDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (GammaDistribution, 'Discrete', [1, 0]) ***** error ... plot (GammaDistribution, 'Discrete', {true}) ***** error ... plot (GammaDistribution, 'Parent', 12) ***** error ... plot (GammaDistribution, 'Parent', 'hax') ***** error ... plot (GammaDistribution, 'invalidNAME', 'pdf') ***** error ... plot (GammaDistribution, 'PlotType', 'probability') ***** error ... proflik (GammaDistribution, 2) ***** error ... proflik (GammaDistribution.fit (x), 3) ***** error ... proflik (GammaDistribution.fit (x), [1, 2]) ***** error ... proflik (GammaDistribution.fit (x), {1}) ***** error ... proflik (GammaDistribution.fit (x), 1, ones (2)) ***** error ... proflik (GammaDistribution.fit (x), 1, 'Display') ***** error ... proflik (GammaDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (GammaDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (GammaDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (GammaDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (GammaDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (GammaDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (GammaDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (GammaDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (GammaDistribution) ***** error ... truncate (GammaDistribution, 2) ***** error ... truncate (GammaDistribution, 4, 2) ***** shared pd pd = GammaDistribution (1, 1); pd(2) = GammaDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 96 tests, 96 passed, 0 known failure, 0 skipped [inst/dist_obj/LogisticDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/LogisticDistribution.m ***** shared pd, t pd = LogisticDistribution (0, 1); t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0.5, 0.7311, 0.8808, 0.9526, 0.9820, 0.9933], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.7091, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.8176, 0.8808, 0.9526, 0.9820], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.7091, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [-Inf, -1.3863, -0.4055, 0.4055, 1.3863, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.2088, 2.4599, 2.7789, 3.2252, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, -0.4055, 0.4055, 1.3863, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.4599, 2.7789, 3.2252, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 2.1972, 1e-4); ***** assert_equal (iqr (t), 0.8286, 1e-4); ***** assert_equal (mean (pd), 0, 1e-4); ***** assert_equal (mean (t), 2.7193, 1e-4); ***** assert_equal (median (pd), 0); ***** assert_equal (median (t), 2.6085, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0.25, 0.1966, 0.1050, 0.0452, 0.0177, 0.0066], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 1.0373, 0.4463, 0.1745, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0.1966, 0.1966, 0.1050, 0.0452, 0.0177, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 1.0373, 0.4463, 0.1745, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1.8138, 1e-4); ***** assert_equal (std (t), 0.5320, 1e-4); ***** assert_equal (var (pd), 3.2899, 1e-4); ***** assert_equal (var (t), 0.2830, 1e-4); ***** error ... LogisticDistribution (Inf, 1) ***** error ... LogisticDistribution (i, 1) ***** error ... LogisticDistribution ('a', 1) ***** error ... LogisticDistribution ([1, 2], 1) ***** error ... LogisticDistribution (NaN, 1) ***** error ... LogisticDistribution (1, 0) ***** error ... LogisticDistribution (1, -1) ***** error ... LogisticDistribution (1, Inf) ***** error ... LogisticDistribution (1, i) ***** error ... LogisticDistribution (1, 'a') ***** error ... LogisticDistribution (1, [1, 2]) ***** error ... LogisticDistribution (1, NaN) ***** error ... cdf (LogisticDistribution, 2, 'uper') ***** error ... cdf (LogisticDistribution, 2, 3) ***** shared x x = logirnd (1, 1, [1, 100]); ***** error ... paramci (LogisticDistribution.fit (x), 'alpha') ***** error ... paramci (LogisticDistribution.fit (x), 'alpha', 0) ***** error ... paramci (LogisticDistribution.fit (x), 'alpha', 1) ***** error ... paramci (LogisticDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (LogisticDistribution.fit (x), 'alpha', '') ***** error ... paramci (LogisticDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (LogisticDistribution.fit (x), 'parameter', 'mu', 'alpha', {0.05}) ***** error ... paramci (LogisticDistribution.fit (x), 'parameter', {'mu', 'sigma', 'param'}) ***** error ... paramci (LogisticDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'mu', 'sigma', 'param'}) ***** error ... paramci (LogisticDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (LogisticDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (LogisticDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (LogisticDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (LogisticDistribution.fit (x), 'alpha', 0.01, 'parameter', 'mu', ... 'NAME', 'value') ***** error ... plot (LogisticDistribution, 'Parent') ***** error ... plot (LogisticDistribution, 'PlotType', 12) ***** error ... plot (LogisticDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (LogisticDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (LogisticDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (LogisticDistribution, 'Discrete', [1, 0]) ***** error ... plot (LogisticDistribution, 'Discrete', {true}) ***** error ... plot (LogisticDistribution, 'Parent', 12) ***** error ... plot (LogisticDistribution, 'Parent', 'hax') ***** error ... plot (LogisticDistribution, 'invalidNAME', 'pdf') ***** error ... plot (LogisticDistribution, 'PlotType', 'probability') ***** error ... proflik (LogisticDistribution, 2) ***** error ... proflik (LogisticDistribution.fit (x), 3) ***** error ... proflik (LogisticDistribution.fit (x), [1, 2]) ***** error ... proflik (LogisticDistribution.fit (x), {1}) ***** error ... proflik (LogisticDistribution.fit (x), 1, ones (2)) ***** error ... proflik (LogisticDistribution.fit (x), 1, 'Display') ***** error ... proflik (LogisticDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (LogisticDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (LogisticDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (LogisticDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (LogisticDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (LogisticDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (LogisticDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (LogisticDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (LogisticDistribution) ***** error ... truncate (LogisticDistribution, 2) ***** error ... truncate (LogisticDistribution, 4, 2) ***** shared pd pd = LogisticDistribution (1, 1); pd(2) = LogisticDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 95 tests, 95 passed, 0 known failure, 0 skipped [inst/dist_obj/LognormalDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/LognormalDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Lognormal distribution with ## parameters mu = 0 and sigma = 1. Fit a Lognormal distribution to this data and plot ## a PDF of the fitted distribution superimposed on a histogram of the data. pd_fixed = makedist ('Lognormal', 'mu', 0, 'sigma', 1) randn ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'Lognormal') plot (pd_fitted) msg = 'Fitted Lognormal distribution with mu = %0.2f and sigma = %0.2f'; title (sprintf (msg, pd_fitted.mu, pd_fitted.sigma)) ***** shared pd, t pd = LognormalDistribution; t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.5, 0.7559, 0.8640, 0.9172, 0.9462], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.6705, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.6574, 0.7559, 0.8640, 0.9172], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.6705, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.4310, 0.7762, 1.2883, 2.3201, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.2256, 2.5015, 2.8517, 3.3199, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.7762, 1.2883, 2.3201, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.5015, 2.8517, 3.3199, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.4536, 1e-4); ***** assert_equal (iqr (t), 0.8989, 1e-4); ***** assert_equal (mean (pd), 1.6487, 1e-4); ***** assert_equal (mean (t), 2.7692, 1e-4); ***** assert_equal (median (pd), 1, 1e-4); ***** assert_equal (median (t), 2.6653, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0, 0.3989, 0.1569, 0.0727, 0.0382, 0.0219], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 0.9727, 0.4509, 0.2366, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0, 0.3989, 0.1569, 0.0727, 0.0382, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 0.9727, 0.4509, 0.2366, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 2.1612, 1e-4); ***** assert_equal (std (t), 0.5540, 1e-4); ***** assert_equal (var (pd), 4.6708, 1e-4); ***** assert_equal (var (t), 0.3069, 1e-4); ***** error ... LognormalDistribution (Inf, 1) ***** error ... LognormalDistribution (i, 1) ***** error ... LognormalDistribution ('a', 1) ***** error ... LognormalDistribution ([1, 2], 1) ***** error ... LognormalDistribution (NaN, 1) ***** error ... LognormalDistribution (1, 0) ***** error ... LognormalDistribution (1, -1) ***** error ... LognormalDistribution (1, Inf) ***** error ... LognormalDistribution (1, i) ***** error ... LognormalDistribution (1, 'a') ***** error ... LognormalDistribution (1, [1, 2]) ***** error ... LognormalDistribution (1, NaN) ***** error ... cdf (LognormalDistribution, 2, 'uper') ***** error ... cdf (LognormalDistribution, 2, 3) ***** shared x randn ('seed', 1); x = lognrnd (1, 1, [1, 100]); ***** error ... paramci (LognormalDistribution.fit (x), 'alpha') ***** error ... paramci (LognormalDistribution.fit (x), 'alpha', 0) ***** error ... paramci (LognormalDistribution.fit (x), 'alpha', 1) ***** error ... paramci (LognormalDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (LognormalDistribution.fit (x), 'alpha', '') ***** error ... paramci (LognormalDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (LognormalDistribution.fit (x), 'parameter', 'mu', 'alpha', {0.05}) ***** error ... paramci (LognormalDistribution.fit (x), 'parameter', {'mu', 'sigma', 'parm'}) ***** error ... paramci (LognormalDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'mu', 'sigma', 'param'}) ***** error ... paramci (LognormalDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (LognormalDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (LognormalDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (LognormalDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (LognormalDistribution.fit (x), 'alpha', 0.01, 'parameter', 'mu', ... 'NAME', 'value') ***** error ... plot (LognormalDistribution, 'Parent') ***** error ... plot (LognormalDistribution, 'PlotType', 12) ***** error ... plot (LognormalDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (LognormalDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (LognormalDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (LognormalDistribution, 'Discrete', [1, 0]) ***** error ... plot (LognormalDistribution, 'Discrete', {true}) ***** error ... plot (LognormalDistribution, 'Parent', 12) ***** error ... plot (LognormalDistribution, 'Parent', 'hax') ***** error ... plot (LognormalDistribution, 'invalidNAME', 'pdf') ***** error ... plot (LognormalDistribution, 'PlotType', 'probability') ***** error ... proflik (LognormalDistribution, 2) ***** error ... proflik (LognormalDistribution.fit (x), 3) ***** error ... proflik (LognormalDistribution.fit (x), [1, 2]) ***** error ... proflik (LognormalDistribution.fit (x), {1}) ***** error ... proflik (LognormalDistribution.fit (x), 1, ones (2)) ***** error ... proflik (LognormalDistribution.fit (x), 1, 'Display') ***** error ... proflik (LognormalDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (LognormalDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (LognormalDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (LognormalDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (LognormalDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (LognormalDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (LognormalDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (LognormalDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (LognormalDistribution) ***** error ... truncate (LognormalDistribution, 2) ***** error ... truncate (LognormalDistribution, 4, 2) ***** shared pd pd = LognormalDistribution (1, 1); pd(2) = LognormalDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 95 tests, 95 passed, 0 known failure, 0 skipped [inst/dist_obj/GeneralizedExtremeValueDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/GeneralizedExtremeValueDistribution.m ***** shared pd, t pd = GeneralizedExtremeValueDistribution; t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0.3679, 0.6922, 0.8734, 0.9514, 0.9819, 0.9933], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.7195, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.8, 0.8734, 0.9514, 0.9819], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.7195, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [-Inf, -0.4759, 0.0874, 0.6717, 1.4999, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.1999, 2.4433, 2.7568, 3.2028, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.0874, 0.6717, 1.4999, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.4433, 2.7568, 3.2028, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.5725, 1e-4); ***** assert_equal (iqr (t), 0.8164, 1e-4); ***** assert_equal (mean (pd), 0.5772, 1e-4); ***** assert_equal (mean (t), 2.7043, 1e-4); ***** assert_equal (median (pd), 0.3665, 1e-4); ***** assert_equal (median (t), 2.5887, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0.3679, 0.2546, 0.1182, 0.0474, 0.0180, 0.0067], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 1.0902, 0.4369, 0.1659, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0.1794, 0.2546, 0.1182, 0.0474, 0.0180, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 1.0902, 0.4369, 0.1659, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1.2825, 1e-4); ***** assert_equal (std (t), 0.5289, 1e-4); ***** assert_equal (var (pd), 1.6449, 1e-4); ***** assert_equal (var (t), 0.2798, 1e-4); ***** error ... GeneralizedExtremeValueDistribution (Inf, 1, 1) ***** error ... GeneralizedExtremeValueDistribution (i, 1, 1) ***** error ... GeneralizedExtremeValueDistribution ('a', 1, 1) ***** error ... GeneralizedExtremeValueDistribution ([1, 2], 1, 1) ***** error ... GeneralizedExtremeValueDistribution (NaN, 1, 1) ***** error ... GeneralizedExtremeValueDistribution (1, 0, 1) ***** error ... GeneralizedExtremeValueDistribution (1, -1, 1) ***** error ... GeneralizedExtremeValueDistribution (1, Inf, 1) ***** error ... GeneralizedExtremeValueDistribution (1, i, 1) ***** error ... GeneralizedExtremeValueDistribution (1, 'a', 1) ***** error ... GeneralizedExtremeValueDistribution (1, [1, 2], 1) ***** error ... GeneralizedExtremeValueDistribution (1, NaN, 1) ***** error ... GeneralizedExtremeValueDistribution (1, 1, Inf) ***** error ... GeneralizedExtremeValueDistribution (1, 1, i) ***** error ... GeneralizedExtremeValueDistribution (1, 1, 'a') ***** error ... GeneralizedExtremeValueDistribution (1, 1, [1, 2]) ***** error ... GeneralizedExtremeValueDistribution (1, 1, NaN) ***** error ... cdf (GeneralizedExtremeValueDistribution, 2, 'uper') ***** error ... cdf (GeneralizedExtremeValueDistribution, 2, 3) ***** shared x x = gevrnd (1, 1, 1, [1, 100]); ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'alpha') ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'alpha', 0) ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'alpha', 1) ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'alpha', '') ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), ... 'parameter', 'sigma', 'alpha', {0.05}) ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), ... 'parameter', {'k', 'sigma', 'mu', 'param'}) ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'k', 'sigma', 'mu', 'param'}) ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'param') ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'alpha', 0.01, ... 'NAME', 'value') ***** error ... paramci (GeneralizedExtremeValueDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'sigma', 'NAME', 'value') ***** error ... plot (GeneralizedExtremeValueDistribution, 'Parent') ***** error ... plot (GeneralizedExtremeValueDistribution, 'PlotType', 12) ***** error ... plot (GeneralizedExtremeValueDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (GeneralizedExtremeValueDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (GeneralizedExtremeValueDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (GeneralizedExtremeValueDistribution, 'Discrete', [1, 0]) ***** error ... plot (GeneralizedExtremeValueDistribution, 'Discrete', {true}) ***** error ... plot (GeneralizedExtremeValueDistribution, 'Parent', 12) ***** error ... plot (GeneralizedExtremeValueDistribution, 'Parent', 'hax') ***** error ... plot (GeneralizedExtremeValueDistribution, 'invalidNAME', 'pdf') ***** error ... plot (GeneralizedExtremeValueDistribution, 'PlotType', 'probability') ***** error ... proflik (GeneralizedExtremeValueDistribution, 2) ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), 4) ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), [1, 2]) ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), {1}) ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), 1, ones (2)) ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), 1, 'Display') ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), 1, ... 'Display', ['on'; 'on']) ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (GeneralizedExtremeValueDistribution.fit (x), 1, {[1 2 3 4]}, ... 'Display', 'on') ***** error ... truncate (GeneralizedExtremeValueDistribution) ***** error ... truncate (GeneralizedExtremeValueDistribution, 2) ***** error ... truncate (GeneralizedExtremeValueDistribution, 4, 2) ***** shared pd pd = GeneralizedExtremeValueDistribution (1, 1, 1); pd(2) = GeneralizedExtremeValueDistribution (1, 3, 1); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 100 tests, 100 passed, 0 known failure, 0 skipped [inst/dist_obj/NegativeBinomialDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/NegativeBinomialDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Negative Binomial ## distribution with parameters R = 5 and P = 0.5. Fit a Negative Binomial ## distribution to this data and plot a PDF of the fitted distribution ## superimposed on a histogram of the data. pd_fixed = makedist ('NegativeBinomial', 'R', 5, 'P', 0.5) rand ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'NegativeBinomial') plot (pd_fitted) msg = 'Fitted Negative Binomial distribution with R = %0.2f and P = %0.2f'; title (sprintf (msg, pd_fitted.R, pd_fitted.P)) ***** shared pd, t, t_inf pd = NegativeBinomialDistribution (5, 0.5); t = truncate (pd, 2, 4); t_inf = truncate (pd, 2, Inf); ***** assert_equal (cdf (pd, [0:5]), [0.0312, 0.1094, 0.2266, 0.3633, 0.5, 0.6230], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0.3, 0.65, 1, 1], 1e-4); ***** assert_equal (cdf (t_inf, [0:5]), [0, 0, 0.1316, 0.2851, 0.4386, 0.5768], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.1094, 0.2266, 0.3633, 0.5000], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0.3, 0.65, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 2, 4, 5, 7, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2, 3, 3, 4, 4], 1e-4); ***** assert_equal (icdf (t_inf, [0:0.2:1]), [2, 3, 4, 6, 8, Inf], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 4, 5, 7, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 3, 3, 4, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 4); ***** assert_equal (iqr (t), 2); ***** assert_equal (mean (pd), 5); ***** assert_equal (mean (t), 3.0500, 1e-4); ***** assert_equal (mean (t_inf), 5.5263, 1e-4); ***** assert_equal (median (pd), 4); ***** assert_equal (median (t), 3); ***** assert_equal (pdf (pd, [0:5]), [0.0312, 0.0781, 0.1172, 0.1367, 0.1367, 0.1230], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 0.3, 0.35, 0.35, 0], 1e-4); ***** assert_equal (pdf (t_inf, [0:5]), [0, 0, 0.1316, 0.1535, 0.1535, 0.1382], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0, 0.0781, 0.1172, 0.1367, 0.1367, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 0.3, 0.35, 0.35, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 3.1623, 1e-4); ***** assert_equal (std (t), 0.8047, 1e-4); ***** assert_equal (std (t_inf), 2.9445, 1e-4); ***** assert_equal (var (pd), 10); ***** assert_equal (var (t), 0.6475, 1e-4); ***** assert_equal (var (t_inf), 8.6704, 1e-4); ***** error ... NegativeBinomialDistribution (Inf, 1) ***** error ... NegativeBinomialDistribution (i, 1) ***** error ... NegativeBinomialDistribution ('a', 1) ***** error ... NegativeBinomialDistribution ([1, 2], 1) ***** error ... NegativeBinomialDistribution (NaN, 1) ***** error ... NegativeBinomialDistribution (1, 0) ***** error ... NegativeBinomialDistribution (1, -1) ***** error ... NegativeBinomialDistribution (1, Inf) ***** error ... NegativeBinomialDistribution (1, i) ***** error ... NegativeBinomialDistribution (1, 'a') ***** error ... NegativeBinomialDistribution (1, [1, 2]) ***** error ... NegativeBinomialDistribution (1, NaN) ***** error ... NegativeBinomialDistribution (1, 1.2) ***** error ... cdf (NegativeBinomialDistribution, 2, 'uper') ***** error ... cdf (NegativeBinomialDistribution, 2, 3) ***** shared x x = nbinrnd (1, 0.5, [1, 100]); ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'alpha') ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'alpha', 0) ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'alpha', 1) ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'alpha', '') ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'parameter', 'R', ... 'alpha', {0.05}) ***** error ... paramci (NegativeBinomialDistribution.fit (x), ... 'parameter', {'R', 'P', 'param'}) ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'R', 'P', 'param'}) ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'param') ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'alpha', 0.01, ... 'NAME', 'value') ***** error ... paramci (NegativeBinomialDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'R', 'NAME', 'value') ***** error ... plot (NegativeBinomialDistribution, 'Parent') ***** error ... plot (NegativeBinomialDistribution, 'PlotType', 12) ***** error ... plot (NegativeBinomialDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (NegativeBinomialDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (NegativeBinomialDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (NegativeBinomialDistribution, 'Discrete', [1, 0]) ***** error ... plot (NegativeBinomialDistribution, 'Discrete', {true}) ***** error ... plot (NegativeBinomialDistribution, 'Parent', 12) ***** error ... plot (NegativeBinomialDistribution, 'Parent', 'hax') ***** error ... plot (NegativeBinomialDistribution, 'invalidNAME', 'pdf') ***** error ... plot (NegativeBinomialDistribution, 'PlotType', 'probability') ***** error ... proflik (NegativeBinomialDistribution, 2) ***** error ... proflik (NegativeBinomialDistribution.fit (x), 3) ***** error ... proflik (NegativeBinomialDistribution.fit (x), [1, 2]) ***** error ... proflik (NegativeBinomialDistribution.fit (x), {1}) ***** error ... proflik (NegativeBinomialDistribution.fit (x), 1, ones (2)) ***** error ... proflik (NegativeBinomialDistribution.fit (x), 1, 'Display') ***** error ... proflik (NegativeBinomialDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (NegativeBinomialDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (NegativeBinomialDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (NegativeBinomialDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (NegativeBinomialDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (NegativeBinomialDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (NegativeBinomialDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (NegativeBinomialDistribution.fit (x), 1, {[1 2 3]}, 'Display', 'on') ***** error ... truncate (NegativeBinomialDistribution) ***** error ... truncate (NegativeBinomialDistribution, 2) ***** error ... truncate (NegativeBinomialDistribution, 4, 2) ***** shared pd pd = NegativeBinomialDistribution (1, 0.5); pd(2) = NegativeBinomialDistribution (1, 0.6); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 102 tests, 102 passed, 0 known failure, 0 skipped [inst/dist_obj/PoissonDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/PoissonDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Poisson distribution with ## parameter lambda = 5. Fit a Poisson distribution to this data and plot ## a PDF of the fitted distribution superimposed on a histogram of the data. pd_fixed = makedist ('Poisson', 'lambda', 5) rand ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'Poisson') plot (pd_fitted) msg = 'Fitted Poisson distribution with lambda = %0.2f'; title (sprintf (msg, pd_fitted.lambda)) ***** shared pd, t, t_inf pd = PoissonDistribution; t = truncate (pd, 2, 4); t_inf = truncate (pd, 2, Inf); ***** assert_equal (cdf (pd, [0:5]), [0.3679, 0.7358, 0.9197, 0.9810, 0.9963, 0.9994], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0.7059, 0.9412, 1, 1], 1e-4); ***** assert_equal (cdf (t_inf, [0:5]), [0, 0, 0.6961, 0.9281, 0.9861, 0.9978], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.7358, 0.9197, 0.9810, 0.9963], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0.7059, 0.9412, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0, 1, 1, 2, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2, 2, 2, 3, 4], 1e-4); ***** assert_equal (icdf (t_inf, [0:0.2:1]), [2, 2, 2, 2, 3, Inf], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 1, 1, 2, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2, 2, 3, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 2); ***** assert_equal (iqr (t), 1); ***** assert_equal (mean (pd), 1); ***** assert_equal (mean (t), 2.3529, 1e-4); ***** assert_equal (mean (t_inf), 2.3922, 1e-4); ***** assert_equal (median (pd), 1); ***** assert_equal (median (t), 2); ***** assert_equal (median (t_inf), 2); ***** assert_equal (pdf (pd, [0:5]), [0.3679, 0.3679, 0.1839, 0.0613, 0.0153, 0.0031], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 0.7059, 0.2353, 0.0588, 0], 1e-4); ***** assert_equal (pdf (t_inf, [0:5]), [0, 0, 0.6961, 0.2320, 0.0580, 0.0116], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0, 0.3679, 0.1839, 0.0613, 0.0153, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 0.7059, 0.2353, 0.0588, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1); ***** assert_equal (std (t), 0.5882, 1e-4); ***** assert_equal (std (t_inf), 0.6738, 1e-4); ***** assert_equal (var (pd), 1); ***** assert_equal (var (t), 0.3460, 1e-4); ***** assert_equal (var (t_inf), 0.4540, 1e-4); ***** error ... PoissonDistribution (0) ***** error ... PoissonDistribution (-1) ***** error ... PoissonDistribution (Inf) ***** error ... PoissonDistribution (i) ***** error ... PoissonDistribution ('a') ***** error ... PoissonDistribution ([1, 2]) ***** error ... PoissonDistribution (NaN) ***** error ... cdf (PoissonDistribution, 2, 'uper') ***** error ... cdf (PoissonDistribution, 2, 3) ***** shared x x = poissrnd (1, [1, 100]); ***** error ... paramci (PoissonDistribution.fit (x), 'alpha') ***** error ... paramci (PoissonDistribution.fit (x), 'alpha', 0) ***** error ... paramci (PoissonDistribution.fit (x), 'alpha', 1) ***** error ... paramci (PoissonDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (PoissonDistribution.fit (x), 'alpha', '') ***** error ... paramci (PoissonDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (PoissonDistribution.fit (x), 'parameter', 'lambda', 'alpha', {0.05}) ***** error ... paramci (PoissonDistribution.fit (x), 'parameter', {'lambda', 'param'}) ***** error ... paramci (PoissonDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'lambda', 'param'}) ***** error ... paramci (PoissonDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (PoissonDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (PoissonDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (PoissonDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (PoissonDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'lambda', 'NAME', 'value') ***** error ... plot (PoissonDistribution, 'Parent') ***** error ... plot (PoissonDistribution, 'PlotType', 12) ***** error ... plot (PoissonDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (PoissonDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (PoissonDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (PoissonDistribution, 'Discrete', [1, 0]) ***** error ... plot (PoissonDistribution, 'Discrete', {true}) ***** error ... plot (PoissonDistribution, 'Parent', 12) ***** error ... plot (PoissonDistribution, 'Parent', 'hax') ***** error ... plot (PoissonDistribution, 'invalidNAME', 'pdf') ***** error ... plot (PoissonDistribution, 'PlotType', 'probability') ***** error ... proflik (PoissonDistribution, 2) ***** error ... proflik (PoissonDistribution.fit (x), 3) ***** error ... proflik (PoissonDistribution.fit (x), [1, 2]) ***** error ... proflik (PoissonDistribution.fit (x), {1}) ***** error ... proflik (PoissonDistribution.fit (x), 1, ones (2)) ***** error ... proflik (PoissonDistribution.fit (x), 1, 'Display') ***** error ... proflik (PoissonDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (PoissonDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (PoissonDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (PoissonDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (PoissonDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (PoissonDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (PoissonDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (PoissonDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (PoissonDistribution) ***** error ... truncate (PoissonDistribution, 2) ***** error ... truncate (PoissonDistribution, 4, 2) ***** shared pd pd = PoissonDistribution (1); pd(2) = PoissonDistribution (3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 97 tests, 97 passed, 0 known failure, 0 skipped [inst/dist_obj/RayleighDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/RayleighDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Rayleigh distribution with ## parameter sigma = 2. Fit a Rayleigh distribution to this data and plot ## a PDF of the fitted distribution superimposed on a histogram of the data. pd_fixed = makedist ('Rayleigh', 'sigma', 2) rand ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'Rayleigh') plot (pd_fitted) msg = 'Fitted Rayleigh distribution with sigma = %0.2f'; title (sprintf (msg, pd_fitted.sigma)) ***** shared pd, t pd = RayleighDistribution; t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.3935, 0.8647, 0.9889, 0.9997, 1], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.9202, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4, NaN]), [0.6753, 0.8647, 0.9889, 0.9997, NaN], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4, NaN]), [0, 0, 0.9202, 1, NaN], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.6680, 1.0108, 1.3537, 1.7941, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.1083, 2.2402, 2.4135, 2.6831, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 1.0108, 1.3537, 1.7941, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.2402, 2.4135, 2.6831, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 0.9066, 1e-4); ***** assert_equal (iqr (t), 0.4609, 1e-4); ***** assert_equal (mean (pd), 1.2533, 1e-4); ***** assert_equal (mean (t), 2.4169, 1e-4); ***** assert_equal (median (pd), 1.1774, 1e-4); ***** assert_equal (median (t), 2.3198, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0, 0.6065, 0.2707, 0.0333, 0.0013, 0], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 2.0050, 0.2469, 0.0099, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1.5, NaN]), [0, 0.4870, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1.5, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 0.6551, 1e-4); ***** assert_equal (std (t), 0.3591, 1e-4); ***** assert_equal (var (pd), 0.4292, 1e-4); ***** assert_equal (var (t), 0.1290, 1e-4); ***** error ... RayleighDistribution (0) ***** error ... RayleighDistribution (-1) ***** error ... RayleighDistribution (Inf) ***** error ... RayleighDistribution (i) ***** error ... RayleighDistribution ('a') ***** error ... RayleighDistribution ([1, 2]) ***** error ... RayleighDistribution (NaN) ***** error ... cdf (RayleighDistribution, 2, 'uper') ***** error ... cdf (RayleighDistribution, 2, 3) ***** shared x x = raylrnd (1, [1, 100]); ***** error ... paramci (RayleighDistribution.fit (x), 'alpha') ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 0) ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 1) ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', '') ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (RayleighDistribution.fit (x), 'parameter', 'sigma', 'alpha', {0.05}) ***** error ... paramci (RayleighDistribution.fit (x), 'parameter', {'sigma', 'param'}) ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'sigma', 'param'}) ***** error ... paramci (RayleighDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (RayleighDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'sigma', 'NAME', 'value') ***** error ... plot (RayleighDistribution, 'Parent') ***** error ... plot (RayleighDistribution, 'PlotType', 12) ***** error ... plot (RayleighDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (RayleighDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (RayleighDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (RayleighDistribution, 'Discrete', [1, 0]) ***** error ... plot (RayleighDistribution, 'Discrete', {true}) ***** error ... plot (RayleighDistribution, 'Parent', 12) ***** error ... plot (RayleighDistribution, 'Parent', 'hax') ***** error ... plot (RayleighDistribution, 'invalidNAME', 'pdf') ***** error ... plot (RayleighDistribution, 'PlotType', 'probability') ***** error ... proflik (RayleighDistribution, 2) ***** error ... proflik (RayleighDistribution.fit (x), 3) ***** error ... proflik (RayleighDistribution.fit (x), [1, 2]) ***** error ... proflik (RayleighDistribution.fit (x), {1}) ***** error ... proflik (RayleighDistribution.fit (x), 1, ones (2)) ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display') ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (RayleighDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (RayleighDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (RayleighDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (RayleighDistribution) ***** error ... truncate (RayleighDistribution, 2) ***** error ... truncate (RayleighDistribution, 4, 2) ***** shared pd pd = RayleighDistribution (1); pd(2) = RayleighDistribution (3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 90 tests, 90 passed, 0 known failure, 0 skipped [inst/dist_obj/BetaDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/BetaDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Beta distribution with ## parameters a = 2 and b = 5. Fit a Beta distribution to this data and plot ## a PDF of the fitted distribution superimposed on a histogram of the data. pd_fixed = makedist ('Beta', 'a', 2, 'b', 5) randg ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'Beta') plot (pd_fitted) msg = 'Fitted Beta distribution with a = %0.2f and b = %0.2f'; title (sprintf (msg, pd_fitted.a, pd_fitted.b)) ***** shared pd, t pd = BetaDistribution; t = truncate (pd, 0.2, 0.8); ***** assert_equal (cdf (pd, [0:0.2:1]), [0, 0.2, 0.4, 0.6, 0.8, 1], 1e-4); ***** assert_equal (cdf (t, [0:0.2:1]), [0, 0, 0.3333, 0.6667, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [-1, 1, NaN]), [0, 1, NaN], 1e-4); ***** assert_equal (cdf (t, [-1, 1, NaN]), [0, 1, NaN], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.2, 0.4, 0.6, 0.8, 1], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [0.2, 0.32, 0.44, 0.56, 0.68, 0.8], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.4, 0.6, 0.8, 1, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 0.44, 0.56, 0.68, 0.8, NaN], 1e-4); ***** assert_equal (iqr (pd), 0.5, 1e-4); ***** assert_equal (iqr (t), 0.3, 1e-4); ***** assert_equal (mean (pd), 0.5); ***** assert_equal (mean (t), 0.5, 1e-6); ***** assert_equal (median (pd), 0.5); ***** assert_equal (median (t), 0.5, 1e-6); ***** assert_equal (pdf (pd, [0:0.2:1]), [1, 1, 1, 1, 1, 1], 1e-4); ***** assert_equal (pdf (t, [0:0.2:1]), [0, 1.6667, 1.6667, 1.6667, 1.6667, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1, NaN]), [0, 1, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 0.2), false); ***** assert_equal (any (random (t, 1000, 1) > 0.8), false); ***** assert_equal (std (pd), 0.2887, 1e-4); ***** assert_equal (std (t), 0.1732, 1e-4); ***** assert_equal (var (pd), 0.0833, 1e-4); ***** assert_equal (var (t), 0.0300, 1e-4); ***** error ... BetaDistribution (0, 1) ***** error ... BetaDistribution (Inf, 1) ***** error ... BetaDistribution (i, 1) ***** error ... BetaDistribution ('a', 1) ***** error ... BetaDistribution ([1, 2], 1) ***** error ... BetaDistribution (NaN, 1) ***** error ... BetaDistribution (1, 0) ***** error ... BetaDistribution (1, -1) ***** error ... BetaDistribution (1, Inf) ***** error ... BetaDistribution (1, i) ***** error ... BetaDistribution (1, 'a') ***** error ... BetaDistribution (1, [1, 2]) ***** error ... BetaDistribution (1, NaN) ***** error ... cdf (BetaDistribution, 2, 'uper') ***** error ... cdf (BetaDistribution, 2, 3) ***** shared x randg ('seed', 1); x = betarnd (1, 1, [100, 1]); ***** error ... paramci (BetaDistribution.fit (x), 'alpha') ***** error ... paramci (BetaDistribution.fit (x), 'alpha', 0) ***** error ... paramci (BetaDistribution.fit (x), 'alpha', 1) ***** error ... paramci (BetaDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (BetaDistribution.fit (x), 'alpha', '') ***** error ... paramci (BetaDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (BetaDistribution.fit (x), 'parameter', 'a', 'alpha', {0.05}) ***** error ... paramci (BetaDistribution.fit (x), 'parameter', {'a', 'b', 'param'}) ***** error ... paramci (BetaDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'a', 'b', 'param'}) ***** error ... paramci (BetaDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (BetaDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (BetaDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (BetaDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (BetaDistribution.fit (x), 'alpha', 0.01, 'parameter', 'a', ... 'NAME', 'value') ***** error ... plot (BetaDistribution, 'Parent') ***** error ... plot (BetaDistribution, 'PlotType', 12) ***** error ... plot (BetaDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (BetaDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (BetaDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (BetaDistribution, 'Discrete', [1, 0]) ***** error ... plot (BetaDistribution, 'Discrete', {true}) ***** error ... plot (BetaDistribution, 'Parent', 12) ***** error ... plot (BetaDistribution, 'Parent', 'hax') ***** error ... plot (BetaDistribution, 'invalidNAME', 'pdf') ***** error ... plot (BetaDistribution, 'PlotType', 'probability') ***** error ... proflik (BetaDistribution, 2) ***** error ... proflik (BetaDistribution.fit (x), 3) ***** error ... proflik (BetaDistribution.fit (x), [1, 2]) ***** error ... proflik (BetaDistribution.fit (x), {1}) ***** error ... proflik (BetaDistribution.fit (x), 1, ones (2)) ***** error ... proflik (BetaDistribution.fit (x), 1, 'Display') ***** error ... proflik (BetaDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (BetaDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (BetaDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (BetaDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (BetaDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (BetaDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (BetaDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (BetaDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (BetaDistribution) ***** error ... truncate (BetaDistribution, 2) ***** error ... truncate (BetaDistribution, 4, 2) ***** shared pd pd = BetaDistribution (1, 1); pd(2) = BetaDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 96 tests, 96 passed, 0 known failure, 0 skipped [inst/dist_obj/HalfNormalDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/HalfNormalDistribution.m ***** shared pd, t pd = HalfNormalDistribution (0, 1); t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.6827, 0.9545, 0.9973, 0.9999, 1], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.9420, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.8664, 0.9545, 0.9973, 0.9999], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.9420, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.2533, 0.5244, 0.8416, 1.2816, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.0923, 2.2068, 2.3607, 2.6064, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.5244, 0.8416, 1.2816, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.2068, 2.3607, 2.6064, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 0.8317, 1e-4); ***** assert_equal (iqr (t), 0.4111, 1e-4); ***** assert_equal (mean (pd), 0.7979, 1e-4); ***** assert_equal (mean (t), 2.3706, 1e-4); ***** assert_equal (median (pd), 0.6745, 1e-4); ***** assert_equal (median (t), 2.2771, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0.7979, 0.4839, 0.1080, 0.0089, 0.0003, 0], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 2.3765, 0.1951, 0.0059, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0, 0.4839, 0.1080, 0.0089, 0.0003, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 2.3765, 0.1951, 0.0059, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 0.6028, 1e-4); ***** assert_equal (std (t), 0.3310, 1e-4); ***** assert_equal (var (pd), 0.3634, 1e-4); ***** assert_equal (var (t), 0.1096, 1e-4); ***** error ... HalfNormalDistribution (Inf, 1) ***** error ... HalfNormalDistribution (i, 1) ***** error ... HalfNormalDistribution ('a', 1) ***** error ... HalfNormalDistribution ([1, 2], 1) ***** error ... HalfNormalDistribution (NaN, 1) ***** error ... HalfNormalDistribution (1, 0) ***** error ... HalfNormalDistribution (1, -1) ***** error ... HalfNormalDistribution (1, Inf) ***** error ... HalfNormalDistribution (1, i) ***** error ... HalfNormalDistribution (1, 'a') ***** error ... HalfNormalDistribution (1, [1, 2]) ***** error ... HalfNormalDistribution (1, NaN) ***** error ... cdf (HalfNormalDistribution, 2, 'uper') ***** error ... cdf (HalfNormalDistribution, 2, 3) ***** shared x x = hnrnd (1, 1, [1, 100]); ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'alpha') ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'alpha', 0) ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'alpha', 1) ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'alpha', [0.5 2]) ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'alpha', '') ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'alpha', {0.05}) ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'parameter', 'sigma', ... 'alpha', {0.05}) ***** error ... paramci (HalfNormalDistribution.fit (x, 1), ... 'parameter', {'mu', 'sigma', 'param'}) ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'alpha', 0.01, ... 'parameter', {'mu', 'sigma', 'param'}) ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'parameter', 'param') ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'alpha', 0.01, ... 'parameter', 'param') ***** error ... paramci (HalfNormalDistribution.fit (x, 1),'NAME', 'value') ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'alpha', 0.01, ... 'NAME', 'value') ***** error ... paramci (HalfNormalDistribution.fit (x, 1), 'alpha', 0.01, ... 'parameter', 'sigma', 'NAME', 'value') ***** error ... plot (HalfNormalDistribution, 'Parent') ***** error ... plot (HalfNormalDistribution, 'PlotType', 12) ***** error ... plot (HalfNormalDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (HalfNormalDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (HalfNormalDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (HalfNormalDistribution, 'Discrete', [1, 0]) ***** error ... plot (HalfNormalDistribution, 'Discrete', {true}) ***** error ... plot (HalfNormalDistribution, 'Parent', 12) ***** error ... plot (HalfNormalDistribution, 'Parent', 'hax') ***** error ... plot (HalfNormalDistribution, 'invalidNAME', 'pdf') ***** error ... plot (HalfNormalDistribution, 'PlotType', 'probability') ***** error ... proflik (HalfNormalDistribution, 2) ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 3) ***** error ... proflik (HalfNormalDistribution.fit (x, 1), [1, 2]) ***** error ... proflik (HalfNormalDistribution.fit (x, 1), {1}) ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 1) ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 2, ones (2)) ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 2, 'Display') ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 2, 'Display', 1) ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 2, 'Display', {1}) ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 2, 'Display', {'on'}) ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 2, 'Display', ['on'; 'on']) ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 2, 'Display', 'onnn') ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 2, 'NAME', 'on') ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 2, {'NAME'}, 'on') ***** error ... proflik (HalfNormalDistribution.fit (x, 1), 2, {[1 2 3 4]}, ... 'Display', 'on') ***** error ... truncate (HalfNormalDistribution) ***** error ... truncate (HalfNormalDistribution, 2) ***** error ... truncate (HalfNormalDistribution, 4, 2) ***** shared pd pd = HalfNormalDistribution (1, 1); pd(2) = HalfNormalDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 96 tests, 96 passed, 0 known failure, 0 skipped [inst/dist_obj/NakagamiDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/NakagamiDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Nakagami distribution with ## parameters mu = 1 and omega = 1. Fit a Nakagami distribution to this data and plot ## a PDF of the fitted distribution superimposed on a histogram of the data. pd_fixed = makedist ('Nakagami', 'mu', 1, 'omega', 1) rand ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'Nakagami') plot (pd_fitted) msg = 'Fitted Nakagami distribution with mu = %0.2f and omega = %0.2f'; title (sprintf (msg, pd_fitted.mu, pd_fitted.omega)) ***** shared pd, t pd = NakagamiDistribution; t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.6321, 0.9817, 0.9999, 1, 1], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.9933, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.8946, 0.9817, 0.9999, 1], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.9933, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.4724, 0.7147, 0.9572, 1.2686, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.0550, 2.1239, 2.2173, 2.3684, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.7147, 0.9572, 1.2686, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.1239, 2.2173, 2.3684, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 0.6411, 1e-4); ***** assert_equal (iqr (t), 0.2502, 1e-4); ***** assert_equal (mean (pd), 0.8862, 1e-4); ***** assert_equal (mean (t), 2.2263, 1e-4); ***** assert_equal (median (pd), 0.8326, 1e-4); ***** assert_equal (median (t), 2.1664, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0, 0.7358, 0.0733, 0.0007, 0, 0], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 4, 0.0404, 0, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0, 0.7358, 0.0733, 0.0007, 0, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 4, 0.0404, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 0.4633, 1e-4); ***** assert_equal (std (t), 0.2083, 1e-4); ***** assert_equal (var (pd), 0.2146, 1e-4); ***** assert_equal (var (t), 0.0434, 1e-4); ***** error ... NakagamiDistribution (Inf, 1) ***** error ... NakagamiDistribution (i, 1) ***** error ... NakagamiDistribution ('a', 1) ***** error ... NakagamiDistribution ([1, 2], 1) ***** error ... NakagamiDistribution (NaN, 1) ***** error ... NakagamiDistribution (1, 0) ***** error ... NakagamiDistribution (1, -1) ***** error ... NakagamiDistribution (1, Inf) ***** error ... NakagamiDistribution (1, i) ***** error ... NakagamiDistribution (1, 'a') ***** error ... NakagamiDistribution (1, [1, 2]) ***** error ... NakagamiDistribution (1, NaN) ***** error ... cdf (NakagamiDistribution, 2, 'uper') ***** error ... cdf (NakagamiDistribution, 2, 3) ***** shared x x = nakarnd (1, 0.5, [1, 100]); ***** error ... paramci (NakagamiDistribution.fit (x), 'alpha') ***** error ... paramci (NakagamiDistribution.fit (x), 'alpha', 0) ***** error ... paramci (NakagamiDistribution.fit (x), 'alpha', 1) ***** error ... paramci (NakagamiDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (NakagamiDistribution.fit (x), 'alpha', '') ***** error ... paramci (NakagamiDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (NakagamiDistribution.fit (x), 'parameter', 'mu', 'alpha', {0.05}) ***** error ... paramci (NakagamiDistribution.fit (x), 'parameter', {'mu', 'omega', 'param'}) ***** error ... paramci (NakagamiDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'mu', 'omega', 'param'}) ***** error ... paramci (NakagamiDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (NakagamiDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (NakagamiDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (NakagamiDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (NakagamiDistribution.fit (x), 'alpha', 0.01, 'parameter', 'mu', ... 'NAME', 'value') ***** error ... plot (NakagamiDistribution, 'Parent') ***** error ... plot (NakagamiDistribution, 'PlotType', 12) ***** error ... plot (NakagamiDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (NakagamiDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (NakagamiDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (NakagamiDistribution, 'Discrete', [1, 0]) ***** error ... plot (NakagamiDistribution, 'Discrete', {true}) ***** error ... plot (NakagamiDistribution, 'Parent', 12) ***** error ... plot (NakagamiDistribution, 'Parent', 'hax') ***** error ... plot (NakagamiDistribution, 'invalidNAME', 'pdf') ***** error ... plot (NakagamiDistribution, 'PlotType', 'probability') ***** error ... proflik (NakagamiDistribution, 2) ***** error ... proflik (NakagamiDistribution.fit (x), 3) ***** error ... proflik (NakagamiDistribution.fit (x), [1, 2]) ***** error ... proflik (NakagamiDistribution.fit (x), {1}) ***** error ... proflik (NakagamiDistribution.fit (x), 1, ones (2)) ***** error ... proflik (NakagamiDistribution.fit (x), 1, 'Display') ***** error ... proflik (NakagamiDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (NakagamiDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (NakagamiDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (NakagamiDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (NakagamiDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (NakagamiDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (NakagamiDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (NakagamiDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (NakagamiDistribution) ***** error ... truncate (NakagamiDistribution, 2) ***** error ... truncate (NakagamiDistribution, 4, 2) ***** shared pd pd = NakagamiDistribution (1, 0.5); pd(2) = NakagamiDistribution (1, 0.6); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 95 tests, 95 passed, 0 known failure, 0 skipped [inst/dist_obj/MultinomialDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/MultinomialDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Multinomial distribution ## with parameters Probabilities = [0.1, 0.2, 0.3, 0.2, 0.1, 0.1]. Create ## the distribution and plot the PDF superimposed on a histogram of the data. probs = [0.1, 0.2, 0.3, 0.2, 0.1, 0.1]; pd = makedist ('Multinomial', 'Probabilities', probs); rand ('seed', 2); data = random (pd, 5000, 1); hist (data, length (probs)); hold on x = 1:length (probs); y = pdf (pd, x) * 5000; stem (x, y, 'r', 'LineWidth', 2); hold off msg = 'Multinomial distribution with Probabilities = [%s]'; probs_str = num2str (probs, '%0.1f '); title (sprintf (msg, probs_str)) ***** shared pd, t pd = MultinomialDistribution ([0.1, 0.2, 0.3, 0.2, 0.1, 0.1]); t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [2, 3, 4]), [0.3, 0.6, 0.8], eps); ***** assert_equal (cdf (t, [2, 3, 4]), [0.2857, 0.7143, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.1, 0.3, 0.6, 0.8], eps); ***** assert_equal (cdf (pd, [1.5, 2-eps, 3, 4]), [0.1, 0.1, 0.6, 0.8], eps); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0.2857, 0.7143, 1], 1e-4); ***** assert_equal (cdf (t, [1.5, 2-eps, 3, 4]), [0, 0, 0.7143, 1], 1e-4); ***** assert_equal (cdf (pd, [1, 2.5, 4, 6]), [0.1, 0.3, 0.8, 1], eps); ***** assert_equal (icdf (pd, [0, 0.2857, 0.7143, 1]), [1, 2, 4, 6]); ***** assert_equal (icdf (t, [0, 0.2857, 0.7143, 1]), [2, 2, 4, 4]); ***** assert_equal (icdf (t, [0, 0.35, 0.7143, 1]), [2, 3, 4, 4]); ***** assert_equal (icdf (t, [0, 0.35, 0.7143, 1, NaN]), [2, 3, 4, 4, NaN]); ***** assert_equal (icdf (t, [-0.5, 0, 0.35, 0.7143, 1, NaN]), [NaN, 2, 3, 4, 4, NaN]); ***** assert_equal (icdf (pd, [-0.5, 0, 0.35, 0.7143, 1, NaN]), [NaN, 1, 3, 4, 6, NaN]); ***** assert_equal (iqr (pd), 2); ***** assert_equal (iqr (t), 2); ***** assert_equal (mean (pd), 3.3, 1e-14); ***** assert_equal (mean (t), 3, eps); ***** assert_equal (median (pd), 3); ***** assert_equal (median (t), 3); ***** assert_equal (pdf (pd, [-5, 1, 2.5, 4, 6, NaN, 9]), [0, 0.1, 0, 0.2, 0.1, NaN, 0]); ***** assert_equal (pdf (pd, [-5, 1, 2, 3, 4, 6, NaN, 9]), ... [0, 0.1, 0.2, 0.3, 0.2, 0.1, NaN, 0]); ***** assert_equal (pdf (t, [-5, 1, 2, 3, 4, 6, NaN, 0]), ... [0, 0, 0.2857, 0.4286, 0.2857, 0, NaN, 0], 1e-4); ***** assert_equal (pdf (t, [-5, 1, 2, 4, 6, NaN, 0]), ... [0, 0, 0.2857, 0.2857, 0, NaN, 0], 1e-4); ***** assert_equal (unique (random (pd, 1000, 5)), [1, 2, 3, 4, 5, 6]'); ***** assert_equal (unique (random (t, 1000, 5)), [2, 3, 4]'); ***** assert_equal (std (pd), 1.4177, 1e-4); ***** assert_equal (std (t), 0.7559, 1e-4); ***** assert_equal (var (pd), 2.0100, 1e-4); ***** assert_equal (var (t), 0.5714, 1e-4); ***** error ... MultinomialDistribution (0) ***** error ... MultinomialDistribution (-1) ***** error ... MultinomialDistribution (Inf) ***** error ... MultinomialDistribution (i) ***** error ... MultinomialDistribution ('a') ***** error ... MultinomialDistribution ([1, 2]) ***** error ... MultinomialDistribution (NaN) ***** error ... cdf (MultinomialDistribution, 2, 'uper') ***** error ... cdf (MultinomialDistribution, 2, 3) ***** error ... cdf (MultinomialDistribution, i) ***** error ... plot (MultinomialDistribution, 'Parent') ***** error ... plot (MultinomialDistribution, 'PlotType', 12) ***** error ... plot (MultinomialDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (MultinomialDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (MultinomialDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (MultinomialDistribution, 'Discrete', [1, 0]) ***** error ... plot (MultinomialDistribution, 'Discrete', {true}) ***** error ... plot (MultinomialDistribution, 'Parent', 12) ***** error ... plot (MultinomialDistribution, 'Parent', 'hax') ***** error ... plot (MultinomialDistribution, 'invalidNAME', 'pdf') ***** error ... plot (MultinomialDistribution, 'PlotType', 'probability') ***** error ... truncate (MultinomialDistribution) ***** error ... truncate (MultinomialDistribution, 2) ***** error ... truncate (MultinomialDistribution, 4, 2) ***** shared pd pd = MultinomialDistribution ([0.1, 0.2, 0.3, 0.4]); pd(2) = MultinomialDistribution ([0.1, 0.2, 0.3, 0.4]); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 64 tests, 64 passed, 0 known failure, 0 skipped [inst/dist_obj/InverseGaussianDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/InverseGaussianDistribution.m ***** shared pd, t pd = InverseGaussianDistribution (1, 1); t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.6681, 0.8855, 0.9532, 0.9791, 0.9901], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.7234, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.8108, 0.8855, 0.9532, 0.9791], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.7234, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.3320, 0.5411, 0.8483, 1.4479, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.1889, 2.4264, 2.7417, 3.1993, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.5411, 0.8483, 1.4479, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.4264, 2.7417, 3.1993, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 0.8643, 1e-4); ***** assert_equal (iqr (t), 0.8222, 1e-4); ***** assert_equal (mean (pd), 1); ***** assert_equal (mean (t), 2.6953, 1e-4); ***** assert_equal (median (pd), 0.6758, 1e-4); ***** assert_equal (median (t), 2.5716, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0, 0.3989, 0.1098, 0.0394, 0.0162, 0.0072], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 1.1736, 0.4211, 0.1730, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0, 0.3989, 0.1098, 0.0394, 0.0162, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 1.1736, 0.4211, 0.1730, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1); ***** assert_equal (std (t), 0.5332, 1e-4); ***** assert_equal (var (pd), 1); ***** assert_equal (var (t), 0.2843, 1e-4); ***** error ... InverseGaussianDistribution (0, 1) ***** error ... InverseGaussianDistribution (Inf, 1) ***** error ... InverseGaussianDistribution (i, 1) ***** error ... InverseGaussianDistribution ('a', 1) ***** error ... InverseGaussianDistribution ([1, 2], 1) ***** error ... InverseGaussianDistribution (NaN, 1) ***** error ... InverseGaussianDistribution (1, 0) ***** error ... InverseGaussianDistribution (1, -1) ***** error ... InverseGaussianDistribution (1, Inf) ***** error ... InverseGaussianDistribution (1, i) ***** error ... InverseGaussianDistribution (1, 'a') ***** error ... InverseGaussianDistribution (1, [1, 2]) ***** error ... InverseGaussianDistribution (1, NaN) ***** error ... cdf (InverseGaussianDistribution, 2, 'uper') ***** error ... cdf (InverseGaussianDistribution, 2, 3) ***** shared x x = invgrnd (1, 1, [1, 100]); ***** error ... paramci (InverseGaussianDistribution.fit (x), 'alpha') ***** error ... paramci (InverseGaussianDistribution.fit (x), 'alpha', 0) ***** error ... paramci (InverseGaussianDistribution.fit (x), 'alpha', 1) ***** error ... paramci (InverseGaussianDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (InverseGaussianDistribution.fit (x), 'alpha', '') ***** error ... paramci (InverseGaussianDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (InverseGaussianDistribution.fit (x), 'parameter', 'mu', ... 'alpha', {0.05}) ***** error ... paramci (InverseGaussianDistribution.fit (x), ... 'parameter', {'mu', 'lambda', 'param'}) ***** error ... paramci (InverseGaussianDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'mu', 'lambda', 'param'}) ***** error ... paramci (InverseGaussianDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (InverseGaussianDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'param') ***** error ... paramci (InverseGaussianDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (InverseGaussianDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (InverseGaussianDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'mu', 'NAME', 'value') ***** error ... plot (InverseGaussianDistribution, 'Parent') ***** error ... plot (InverseGaussianDistribution, 'PlotType', 12) ***** error ... plot (InverseGaussianDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (InverseGaussianDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (InverseGaussianDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (InverseGaussianDistribution, 'Discrete', [1, 0]) ***** error ... plot (InverseGaussianDistribution, 'Discrete', {true}) ***** error ... plot (InverseGaussianDistribution, 'Parent', 12) ***** error ... plot (InverseGaussianDistribution, 'Parent', 'hax') ***** error ... plot (InverseGaussianDistribution, 'invalidNAME', 'pdf') ***** error ... plot (InverseGaussianDistribution, 'PlotType', 'probability') ***** error ... proflik (InverseGaussianDistribution, 2) ***** error ... proflik (InverseGaussianDistribution.fit (x), 3) ***** error ... proflik (InverseGaussianDistribution.fit (x), [1, 2]) ***** error ... proflik (InverseGaussianDistribution.fit (x), {1}) ***** error ... proflik (InverseGaussianDistribution.fit (x), 1, ones (2)) ***** error ... proflik (InverseGaussianDistribution.fit (x), 1, 'Display') ***** error ... proflik (InverseGaussianDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (InverseGaussianDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (InverseGaussianDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (InverseGaussianDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (InverseGaussianDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (InverseGaussianDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (InverseGaussianDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (InverseGaussianDistribution.fit (x), 1, {[1 2 3]}, 'Display', 'on') ***** error ... truncate (InverseGaussianDistribution) ***** error ... truncate (InverseGaussianDistribution, 2) ***** error ... truncate (InverseGaussianDistribution, 4, 2) ***** shared pd pd = InverseGaussianDistribution (1, 1); pd(2) = InverseGaussianDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 96 tests, 96 passed, 0 known failure, 0 skipped [inst/dist_obj/ExponentialDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/ExponentialDistribution.m ***** shared pd, t pd = ExponentialDistribution (1); t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.6321, 0.8647, 0.9502, 0.9817, 0.9933], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.7311, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.7769, 0.8647, 0.9502, 0.9817], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.7311, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.2231, 0.5108, 0.9163, 1.6094, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.1899, 2.4244, 2.7315, 3.1768, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.5108, 0.9163, 1.6094, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.4244, 2.7315, 3.1768, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.0986, 1e-4); ***** assert_equal (iqr (t), 0.8020, 1e-4); ***** assert_equal (mean (pd), 1); ***** assert_equal (mean (t), 2.6870, 1e-4); ***** assert_equal (median (pd), 0.6931, 1e-4); ***** assert_equal (median (t), 2.5662, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [1, 0.3679, 0.1353, 0.0498, 0.0183, 0.0067], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 1.1565, 0.4255, 0.1565, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0, 0.3679, 0.1353, 0.0498, 0.0183, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 1.1565, 0.4255, 0.1565, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1); ***** assert_equal (std (t), 0.5253, 1e-4); ***** assert_equal (var (pd), 1); ***** assert_equal (var (t), 0.2759, 1e-4); ***** error ... ExponentialDistribution (0) ***** error ... ExponentialDistribution (-1) ***** error ... ExponentialDistribution (Inf) ***** error ... ExponentialDistribution (i) ***** error ... ExponentialDistribution ('a') ***** error ... ExponentialDistribution ([1, 2]) ***** error ... ExponentialDistribution (NaN) ***** error ... cdf (ExponentialDistribution, 2, 'uper') ***** error ... cdf (ExponentialDistribution, 2, 3) ***** shared x x = exprnd (1, [100, 1]); ***** error ... paramci (ExponentialDistribution.fit (x), 'alpha') ***** error ... paramci (ExponentialDistribution.fit (x), 'alpha', 0) ***** error ... paramci (ExponentialDistribution.fit (x), 'alpha', 1) ***** error ... paramci (ExponentialDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (ExponentialDistribution.fit (x), 'alpha', '') ***** error ... paramci (ExponentialDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (ExponentialDistribution.fit (x), 'parameter', 'mu', ... 'alpha', {0.05}) ***** error ... paramci (ExponentialDistribution.fit (x), 'parameter', {'mu', 'param'}) ***** error ... paramci (ExponentialDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'mu', 'param'}) ***** error ... paramci (ExponentialDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (ExponentialDistribution.fit (x), 'alpha', 0.01, 'parameter', 'parm') ***** error ... paramci (ExponentialDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (ExponentialDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (ExponentialDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'mu', 'NAME', 'value') ***** error ... plot (ExponentialDistribution, 'Parent') ***** error ... plot (ExponentialDistribution, 'PlotType', 12) ***** error ... plot (ExponentialDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (ExponentialDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (ExponentialDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (ExponentialDistribution, 'Discrete', [1, 0]) ***** error ... plot (ExponentialDistribution, 'Discrete', {true}) ***** error ... plot (ExponentialDistribution, 'Parent', 12) ***** error ... plot (ExponentialDistribution, 'Parent', 'hax') ***** error ... plot (ExponentialDistribution, 'invalidNAME', 'pdf') ***** error ... plot (ExponentialDistribution, 'PlotType', 'probability') ***** error ... proflik (ExponentialDistribution, 2) ***** error ... proflik (ExponentialDistribution.fit (x), 3) ***** error ... proflik (ExponentialDistribution.fit (x), [1, 2]) ***** error ... proflik (ExponentialDistribution.fit (x), {1}) ***** error ... proflik (ExponentialDistribution.fit (x), 1, ones (2)) ***** error ... proflik (ExponentialDistribution.fit (x), 1, 'Display') ***** error ... proflik (ExponentialDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (ExponentialDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (ExponentialDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (ExponentialDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (ExponentialDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (ExponentialDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (ExponentialDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (ExponentialDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (ExponentialDistribution) ***** error ... truncate (ExponentialDistribution, 2) ***** error ... truncate (ExponentialDistribution, 4, 2) ***** shared pd pd = ExponentialDistribution (1); pd(2) = ExponentialDistribution (3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 90 tests, 90 passed, 0 known failure, 0 skipped [inst/dist_obj/tLocationScaleDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/tLocationScaleDistribution.m ***** demo ## Generate a data set of 5000 random samples from a t Location-Scale distribution ## with parameters mu = 0, sigma = 1, and nu = 5. Fit a t Location-Scale ## distribution to this data and plot a PDF of the fitted distribution ## superimposed on a histogram of the data. pd_fixed = makedist ('tLocationScale', 'mu', 0, 'sigma', 1, 'nu', 5); rand ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'tLocationScale'); plot (pd_fitted); msg = 'Fitted t Location-Scale distribution with mu = %0.2f, sigma = %0.2f, nu = %0.2f'; title (sprintf (msg, pd_fitted.mu, pd_fitted.sigma, pd_fitted.nu)); ***** shared pd, t pd = tLocationScaleDistribution; t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0.5, 0.8184, 0.9490, 0.9850, 0.9948, 0.9979], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.7841, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4, NaN]), [0.9030, 0.9490, 0.9850, 0.9948, NaN], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4, NaN]), [0, 0, 0.7841, 1, NaN], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [-Inf, -0.9195, -0.2672, 0.2672, 0.9195, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.1559, 2.3533, 2.6223, 3.0432, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, -0.2672, 0.2672, 0.9195, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.3533, 2.6223, 3.0432, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.4534, 1e-4); ***** assert_equal (iqr (t), 0.7139, 1e-4); ***** assert_equal (mean (pd), 0, eps); ***** assert_equal (mean (t), 2.6099, 1e-4); ***** assert_equal (median (pd), 0, eps); ***** assert_equal (median (t), 2.4758, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0.3796, 0.2197, 0.0651, 0.0173, 0.0051, 0.0018], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 1.4209, 0.3775, 0.1119, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1.5, NaN]), [0.2197, 0.1245, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1.5, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1.2910, 1e-4); ***** assert_equal (std (t), 0.4989, 1e-4); ***** assert_equal (var (pd), 1.6667, 1e-4); ***** assert_equal (var (t), 0.2489, 1e-4); ***** error ... tLocationScaleDistribution (i, 1, 1) ***** error ... tLocationScaleDistribution (Inf, 1, 1) ***** error ... tLocationScaleDistribution ([1, 2], 1, 1) ***** error ... tLocationScaleDistribution ('a', 1, 1) ***** error ... tLocationScaleDistribution (NaN, 1, 1) ***** error ... tLocationScaleDistribution (0, 0, 1) ***** error ... tLocationScaleDistribution (0, -1, 1) ***** error ... tLocationScaleDistribution (0, Inf, 1) ***** error ... tLocationScaleDistribution (0, i, 1) ***** error ... tLocationScaleDistribution (0, 'a', 1) ***** error ... tLocationScaleDistribution (0, [1, 2], 1) ***** error ... tLocationScaleDistribution (0, NaN, 1) ***** error ... tLocationScaleDistribution (0, 1, 0) ***** error ... tLocationScaleDistribution (0, 1, -1) ***** error ... tLocationScaleDistribution (0, 1, Inf) ***** error ... tLocationScaleDistribution (0, 1, i) ***** error ... tLocationScaleDistribution (0, 1, 'a') ***** error ... tLocationScaleDistribution (0, 1, [1, 2]) ***** error ... tLocationScaleDistribution (0, 1, NaN) ***** error ... cdf (tLocationScaleDistribution, 2, 'uper') ***** error ... cdf (tLocationScaleDistribution, 2, 3) ***** shared x x = tlsrnd (0, 1, 1, [1, 100]); ***** error ... paramci (tLocationScaleDistribution.fit (x), 'alpha') ***** error ... paramci (tLocationScaleDistribution.fit (x), 'alpha', 0) ***** error ... paramci (tLocationScaleDistribution.fit (x), 'alpha', 1) ***** error ... paramci (tLocationScaleDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (tLocationScaleDistribution.fit (x), 'alpha', '') ***** error ... paramci (tLocationScaleDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (tLocationScaleDistribution.fit (x), 'parameter', 'mu', ... 'alpha', {0.05}) ***** error ... paramci (tLocationScaleDistribution.fit (x), ... 'parameter', {'mu', 'sigma', 'nu', 'param'}) ***** error ... paramci (tLocationScaleDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'mu', 'sigma', 'nu', 'param'}) ***** error ... paramci (tLocationScaleDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (tLocationScaleDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'param') ***** error ... paramci (tLocationScaleDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (tLocationScaleDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (tLocationScaleDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'mu', 'NAME', 'value') ***** error ... plot (tLocationScaleDistribution, 'Parent') ***** error ... plot (tLocationScaleDistribution, 'PlotType', 12) ***** error ... plot (tLocationScaleDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (tLocationScaleDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (tLocationScaleDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (tLocationScaleDistribution, 'Discrete', [1, 0]) ***** error ... plot (tLocationScaleDistribution, 'Discrete', {true}) ***** error ... plot (tLocationScaleDistribution, 'Parent', 12) ***** error ... plot (tLocationScaleDistribution, 'Parent', 'hax') ***** error ... plot (tLocationScaleDistribution, 'invalidNAME', 'pdf') ***** error ... plot (tLocationScaleDistribution, 'PlotType', 'probability') ***** error ... proflik (tLocationScaleDistribution, 2) ***** error ... proflik (tLocationScaleDistribution.fit (x), 4) ***** error ... proflik (tLocationScaleDistribution.fit (x), [1, 2]) ***** error ... proflik (tLocationScaleDistribution.fit (x), {1}) ***** error ... proflik (tLocationScaleDistribution.fit (x), 1, ones (2)) ***** error ... proflik (tLocationScaleDistribution.fit (x), 1, 'Display') ***** error ... proflik (tLocationScaleDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (tLocationScaleDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (tLocationScaleDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (tLocationScaleDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (tLocationScaleDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (tLocationScaleDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (tLocationScaleDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (tLocationScaleDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (tLocationScaleDistribution) ***** error ... truncate (tLocationScaleDistribution, 2) ***** error ... truncate (tLocationScaleDistribution, 4, 2) ***** shared pd pd = tLocationScaleDistribution (0, 1, 1); pd(2) = tLocationScaleDistribution (0, 1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 102 tests, 102 passed, 0 known failure, 0 skipped [inst/dist_obj/LoglogisticDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/LoglogisticDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Log-logistic ## distribution with parameters mu = 0 and sigma = 1. Fit a Log-logistic ## distribution to this data and plot a PDF of the fitted distribution ## superimposed on a histogram of the data. pd_fixed = makedist ('Loglogistic', 'mu', 0, 'sigma', 1) rand ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'Loglogistic') plot (pd_fitted) msg = 'Fitted Log-logistic distribution with mu = %0.2f and sigma = %0.2f'; title (sprintf (msg, pd_fitted.mu, pd_fitted.sigma)) ***** shared pd, t pd = LoglogisticDistribution; t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.5, 0.6667, 0.75, 0.8, 0.8333], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.625, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.6, 0.6667, 0.75, 0.8], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.625, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.25, 0.6667, 1.5, 4, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.2609, 2.5714, 2.9474, 3.4118, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.6667, 1.5, 4, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.5714, 2.9474, 3.4118, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 2.6667, 1e-4); ***** assert_equal (iqr (t), 0.9524, 1e-4); ***** assert_equal (mean (pd), Inf); ***** assert_equal (mean (t), 2.8312, 1e-4); ***** assert_equal (median (pd), 1, 1e-4); ***** assert_equal (median (t), 2.75, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0, 0.25, 0.1111, 0.0625, 0.04, 0.0278], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 0.8333, 0.4687, 0.3, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0, 0.25, 0.1111, 0.0625, 0.04, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 0.8333, 0.4687, 0.3, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), Inf); ***** assert_equal (std (t), 0.5674, 1e-4); ***** assert_equal (var (pd), Inf); ***** assert_equal (var (t), 0.3220, 1e-4); ***** error ... LoglogisticDistribution (Inf, 1) ***** error ... LoglogisticDistribution (i, 1) ***** error ... LoglogisticDistribution ('a', 1) ***** error ... LoglogisticDistribution ([1, 2], 1) ***** error ... LoglogisticDistribution (NaN, 1) ***** error ... LoglogisticDistribution (1, 0) ***** error ... LoglogisticDistribution (1, -1) ***** error ... LoglogisticDistribution (1, Inf) ***** error ... LoglogisticDistribution (1, i) ***** error ... LoglogisticDistribution (1, 'a') ***** error ... LoglogisticDistribution (1, [1, 2]) ***** error ... LoglogisticDistribution (1, NaN) ***** error ... cdf (LoglogisticDistribution, 2, 'uper') ***** error ... cdf (LoglogisticDistribution, 2, 3) ***** shared x x = loglrnd (1, 1, [1, 100]); ***** error ... paramci (LoglogisticDistribution.fit (x), 'alpha') ***** error ... paramci (LoglogisticDistribution.fit (x), 'alpha', 0) ***** error ... paramci (LoglogisticDistribution.fit (x), 'alpha', 1) ***** error ... paramci (LoglogisticDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (LoglogisticDistribution.fit (x), 'alpha', '') ***** error ... paramci (LoglogisticDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (LoglogisticDistribution.fit (x), 'parameter', 'mu', 'alpha', {0.05}) ***** error ... paramci (LoglogisticDistribution.fit (x), 'parameter', {'mu', 'sigma', 'pa'}) ***** error ... paramci (LoglogisticDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'mu', 'sigma', 'param'}) ***** error ... paramci (LoglogisticDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (LoglogisticDistribution.fit (x), 'alpha', 0.01, 'parameter', 'parm') ***** error ... paramci (LoglogisticDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (LoglogisticDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (LoglogisticDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'mu', 'NAME', 'value') ***** error ... plot (LoglogisticDistribution, 'Parent') ***** error ... plot (LoglogisticDistribution, 'PlotType', 12) ***** error ... plot (LoglogisticDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (LoglogisticDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (LoglogisticDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (LoglogisticDistribution, 'Discrete', [1, 0]) ***** error ... plot (LoglogisticDistribution, 'Discrete', {true}) ***** error ... plot (LoglogisticDistribution, 'Parent', 12) ***** error ... plot (LoglogisticDistribution, 'Parent', 'hax') ***** error ... plot (LoglogisticDistribution, 'invalidNAME', 'pdf') ***** error ... plot (LoglogisticDistribution, 'PlotType', 'probability') ***** error ... proflik (LoglogisticDistribution, 2) ***** error ... proflik (LoglogisticDistribution.fit (x), 3) ***** error ... proflik (LoglogisticDistribution.fit (x), [1, 2]) ***** error ... proflik (LoglogisticDistribution.fit (x), {1}) ***** error ... proflik (LoglogisticDistribution.fit (x), 1, ones (2)) ***** error ... proflik (LoglogisticDistribution.fit (x), 1, 'Display') ***** error ... proflik (LoglogisticDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (LoglogisticDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (LoglogisticDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (LoglogisticDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (LoglogisticDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (LoglogisticDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (LoglogisticDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (LoglogisticDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (LoglogisticDistribution) ***** error ... truncate (LoglogisticDistribution, 2) ***** error ... truncate (LoglogisticDistribution, 4, 2) ***** shared pd pd = LoglogisticDistribution (1, 1); pd(2) = LoglogisticDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 95 tests, 95 passed, 0 known failure, 0 skipped [inst/dist_obj/NormalDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/NormalDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Normal distribution with ## parameters mu = 0 and sigma = 1. Fit a Normal distribution to this data and plot ## a PDF of the fitted distribution superimposed on a histogram of the data. pd_fixed = makedist ('Normal', 'mu', 0, 'sigma', 1) randn ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'Normal') plot (pd_fitted) msg = 'Fitted Normal distribution with mu = %0.2f and sigma = %0.2f'; title (sprintf (msg, pd_fitted.mu, pd_fitted.sigma)) ***** shared pd, t pd = NormalDistribution; t = truncate (pd, -2, 2); ***** assert_equal (cdf (pd, [0:5]), [0.5, 0.8413, 0.9772, 0.9987, 1, 1], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0.5, 0.8576, 1, 1, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.9332, 0.9772, 0.9987, 1], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0.9538, 1, 1, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [-Inf, -0.8416, -0.2533, 0.2533, 0.8416, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [-2, -0.7938, -0.2416, 0.2416, 0.7938, 2], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, -0.2533, 0.2533, 0.8416, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, -0.2416, 0.2416, 0.7938, 2, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.3490, 1e-4); ***** assert_equal (iqr (t), 1.2782, 1e-4); ***** assert_equal (mean (pd), 0); ***** assert_equal (mean (t), 0, 3e-16); ***** assert_equal (median (pd), 0); ***** assert_equal (median (t), 0, 3e-16); ***** assert_equal (pdf (pd, [0:5]), [0.3989, 0.2420, 0.0540, 0.0044, 0.0001, 0], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0.4180, 0.2535, 0.0566, 0, 0, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0.2420, 0.2420, 0.0540, 0.0044, 0.0001, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0.2535, 0.2535, 0.0566, 0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < -2), false); ***** assert_equal (any (random (t, 1000, 1) > 2), false); ***** assert_equal (std (pd), 1); ***** assert_equal (std (t), 0.8796, 1e-4); ***** assert_equal (var (pd), 1); ***** assert_equal (var (t), 0.7737, 1e-4); ***** error ... NormalDistribution (Inf, 1) ***** error ... NormalDistribution (i, 1) ***** error ... NormalDistribution ('a', 1) ***** error ... NormalDistribution ([1, 2], 1) ***** error ... NormalDistribution (NaN, 1) ***** error ... NormalDistribution (1, 0) ***** error ... NormalDistribution (1, -1) ***** error ... NormalDistribution (1, Inf) ***** error ... NormalDistribution (1, i) ***** error ... NormalDistribution (1, 'a') ***** error ... NormalDistribution (1, [1, 2]) ***** error ... NormalDistribution (1, NaN) ***** error ... cdf (NormalDistribution, 2, 'uper') ***** error ... cdf (NormalDistribution, 2, 3) ***** shared x x = normrnd (1, 1, [1, 100]); ***** error ... paramci (NormalDistribution.fit (x), 'alpha') ***** error ... paramci (NormalDistribution.fit (x), 'alpha', 0) ***** error ... paramci (NormalDistribution.fit (x), 'alpha', 1) ***** error ... paramci (NormalDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (NormalDistribution.fit (x), 'alpha', '') ***** error ... paramci (NormalDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (NormalDistribution.fit (x), 'parameter', 'mu', 'alpha', {0.05}) ***** error ... paramci (NormalDistribution.fit (x), 'parameter', {'mu', 'sigma', 'param'}) ***** error ... paramci (NormalDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'mu', 'sigma', 'param'}) ***** error ... paramci (NormalDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (NormalDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (NormalDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (NormalDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (NormalDistribution.fit (x), 'alpha', 0.01, 'parameter', 'mu', ... 'NAME', 'value') ***** error ... plot (NormalDistribution, 'Parent') ***** error ... plot (NormalDistribution, 'PlotType', 12) ***** error ... plot (NormalDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (NormalDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (NormalDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (NormalDistribution, 'Discrete', [1, 0]) ***** error ... plot (NormalDistribution, 'Discrete', {true}) ***** error ... plot (NormalDistribution, 'Parent', 12) ***** error ... plot (NormalDistribution, 'Parent', 'hax') ***** error ... plot (NormalDistribution, 'invalidNAME', 'pdf') ***** error ... plot (NormalDistribution, 'PlotType', 'probability') ***** error ... proflik (NormalDistribution, 2) ***** error ... proflik (NormalDistribution.fit (x), 3) ***** error ... proflik (NormalDistribution.fit (x), [1, 2]) ***** error ... proflik (NormalDistribution.fit (x), {1}) ***** error ... proflik (NormalDistribution.fit (x), 1, ones (2)) ***** error ... proflik (NormalDistribution.fit (x), 1, 'Display') ***** error ... proflik (NormalDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (NormalDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (NormalDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (NormalDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (NormalDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (NormalDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (NormalDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (NormalDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (NormalDistribution) ***** error ... truncate (NormalDistribution, 2) ***** error ... truncate (NormalDistribution, 4, 2) ***** shared pd pd = NormalDistribution (1, 1); pd(2) = NormalDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 95 tests, 95 passed, 0 known failure, 0 skipped [inst/dist_obj/WeibullDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/WeibullDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Weibull distribution with ## parameters lambda = 1 and k = 2. Fit a Weibull distribution to this data and plot ## a PDF of the fitted distribution superimposed on a histogram of a data. pd_fixed = makedist ('Weibull', 'lambda', 1, 'k', 2) rand ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'Weibull') plot (pd_fitted) msg = 'Fitted Weibull distribution with lambda = %0.2f and k = %0.2f'; title (sprintf (msg, pd_fitted.lambda, pd_fitted.k)) ***** shared pd, t pd = WeibullDistribution; t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.6321, 0.8647, 0.9502, 0.9817, 0.9933], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.7311, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4, NaN]), [0.7769, 0.8647, 0.9502, 0.9817, NaN], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4, NaN]), [0, 0, 0.7311, 1, NaN], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.2231, 0.5108, 0.9163, 1.6094, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.1899, 2.4244, 2.7315, 3.1768, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.5108, 0.9163, 1.6094, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.4244, 2.7315, 3.1768, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.0986, 1e-4); ***** assert_equal (iqr (t), 0.8020, 1e-4); ***** assert_equal (mean (pd), 1, 1e-14); ***** assert_equal (mean (t), 2.6870, 1e-4); ***** assert_equal (median (pd), 0.6931, 1e-4); ***** assert_equal (median (t), 2.5662, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [1, 0.3679, 0.1353, 0.0498, 0.0183, 0.0067], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 1.1565, 0.4255, 0.1565, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1.5, NaN]), [0, 0.2231, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1.5, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1, 1e-14); ***** assert_equal (std (t), 0.5253, 1e-4); ***** assert_equal (var (pd), 1, 1e-14); ***** assert_equal (var (t), 0.2759, 1e-4); ***** error ... WeibullDistribution (0, 1) ***** error ... WeibullDistribution (-1, 1) ***** error ... WeibullDistribution (Inf, 1) ***** error ... WeibullDistribution (i, 1) ***** error ... WeibullDistribution ('a', 1) ***** error ... WeibullDistribution ([1, 2], 1) ***** error ... WeibullDistribution (NaN, 1) ***** error ... WeibullDistribution (1, 0) ***** error ... WeibullDistribution (1, -1) ***** error ... WeibullDistribution (1, Inf) ***** error ... WeibullDistribution (1, i) ***** error ... WeibullDistribution (1, 'a') ***** error ... WeibullDistribution (1, [1, 2]) ***** error ... WeibullDistribution (1, NaN) ***** error ... cdf (WeibullDistribution, 2, 'uper') ***** error ... cdf (WeibullDistribution, 2, 3) ***** shared x x = wblrnd (1, 1, [1, 100]); ***** error ... paramci (WeibullDistribution.fit (x), 'alpha') ***** error ... paramci (WeibullDistribution.fit (x), 'alpha', 0) ***** error ... paramci (WeibullDistribution.fit (x), 'alpha', 1) ***** error ... paramci (WeibullDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (WeibullDistribution.fit (x), 'alpha', '') ***** error ... paramci (WeibullDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (WeibullDistribution.fit (x), 'parameter', 'k', 'alpha', {0.05}) ***** error ... paramci (WeibullDistribution.fit (x), 'parameter', {'lambda', 'k', 'param'}) ***** error ... paramci (WeibullDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'lambda', 'k', 'param'}) ***** error ... paramci (WeibullDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (WeibullDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (WeibullDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (WeibullDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (WeibullDistribution.fit (x), 'alpha', 0.01, 'parameter', 'k', ... 'NAME', 'value') ***** error ... plot (WeibullDistribution, 'Parent') ***** error ... plot (WeibullDistribution, 'PlotType', 12) ***** error ... plot (WeibullDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (WeibullDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (WeibullDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (WeibullDistribution, 'Discrete', [1, 0]) ***** error ... plot (WeibullDistribution, 'Discrete', {true}) ***** error ... plot (WeibullDistribution, 'Parent', 12) ***** error ... plot (WeibullDistribution, 'Parent', 'hax') ***** error ... plot (WeibullDistribution, 'invalidNAME', 'pdf') ***** error ... plot (WeibullDistribution, 'PlotType', 'probability') ***** error ... proflik (WeibullDistribution, 2) ***** error ... proflik (WeibullDistribution.fit (x), 3) ***** error ... proflik (WeibullDistribution.fit (x), [1, 2]) ***** error ... proflik (WeibullDistribution.fit (x), {1}) ***** error ... proflik (WeibullDistribution.fit (x), 1, ones (2)) ***** error ... proflik (WeibullDistribution.fit (x), 1, 'Display') ***** error ... proflik (WeibullDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (WeibullDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (WeibullDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (WeibullDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (WeibullDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (WeibullDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (WeibullDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (WeibullDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (WeibullDistribution) ***** error ... truncate (WeibullDistribution, 2) ***** error ... truncate (WeibullDistribution, 4, 2) ***** shared pd pd = WeibullDistribution (1, 1); pd(2) = WeibullDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 97 tests, 97 passed, 0 known failure, 0 skipped [inst/dist_obj/TriangularDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/TriangularDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Triangular distribution ## with parameters A = 0, B = 1, C = 2. Fit a Triangular distribution to ## this data and plot a PDF of the fitted distribution superimposed on a ## histogram of the data. pd_fixed = makedist ('Triangular', 'A', 0, 'B', 1, 'C', 2); rand ('seed', 2); data = random (pd_fixed, 5000, 1); A = min (data); C = mean (data); B = max (data); [counts, centers] = hist (data, 50); bin_width = centers(2) - centers(1); normalized_counts = counts / (sum (counts) * bin_width); bar (centers, normalized_counts, 1); hold on; x = linspace (A, B, 100); y = (2 * (x - A) / (C - A) .* (x <= C)) + (2 * (B - x) / (B - C) .* (x > C)); plot (x, y, 'r-', 'LineWidth', 2); msg = sprintf ("Fitted Triangular distribution with A = %0.2f, C = %0.2f, B = %0.2f", A, C, B); title (msg); hold off; ***** shared pd, t pd = TriangularDistribution (0, 3, 5); t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.0667, 0.2667, 0.6000, 0.9000, 1], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.5263, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4, NaN]), [0.1500, 0.2667, 0.6, 0.9, NaN], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4, NaN]), [0, 0, 0.5263, 1, NaN], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 1.7321, 2.4495, 3, 3.5858, 5], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.4290, 2.7928, 3.1203, 3.4945, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 2.4495, 3, 3.5858, 5, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.7928, 3.1203, 3.4945, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.4824, 1e-4); ***** assert_equal (iqr (t), 0.8678, 1e-4); ***** assert_equal (mean (pd), 2.6667, 1e-4); ***** assert_equal (mean (t), 2.9649, 1e-4); ***** assert_equal (median (pd), 2.7386, 1e-4); ***** assert_equal (median (t), 2.9580, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0, 0.1333, 0.2667, 0.4, 0.2, 0], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 0.4211, 0.6316, 0.3158, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1.5, NaN]), [0, 0.2, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1.5, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1.0274, 1e-4); ***** assert_equal (std (t), 0.5369, 1e-4); ***** assert_equal (var (pd), 1.0556, 1e-4); ***** assert_equal (var (t), 0.2882, 1e-4); ***** error ... TriangularDistribution (i, 1, 2) ***** error ... TriangularDistribution (Inf, 1, 2) ***** error ... TriangularDistribution ([1, 2], 1, 2) ***** error ... TriangularDistribution ('a', 1, 2) ***** error ... TriangularDistribution (NaN, 1, 2) ***** error ... TriangularDistribution (1, i, 2) ***** error ... TriangularDistribution (1, Inf, 2) ***** error ... TriangularDistribution (1, [1, 2], 2) ***** error ... TriangularDistribution (1, 'a', 2) ***** error ... TriangularDistribution (1, NaN, 2) ***** error ... TriangularDistribution (1, 2, i) ***** error ... TriangularDistribution (1, 2, Inf) ***** error ... TriangularDistribution (1, 2, [1, 2]) ***** error ... TriangularDistribution (1, 2, 'a') ***** error ... TriangularDistribution (1, 2, NaN) ***** error ... TriangularDistribution (1, 1, 1) ***** error ... TriangularDistribution (1, 0.5, 2) ***** error ... cdf (TriangularDistribution, 2, 'uper') ***** error ... cdf (TriangularDistribution, 2, 3) ***** error ... plot (TriangularDistribution, 'Parent') ***** error ... plot (TriangularDistribution, 'PlotType', 12) ***** error ... plot (TriangularDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (TriangularDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (TriangularDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (TriangularDistribution, 'Discrete', [1, 0]) ***** error ... plot (TriangularDistribution, 'Discrete', {true}) ***** error ... plot (TriangularDistribution, 'Parent', 12) ***** error ... plot (TriangularDistribution, 'Parent', 'hax') ***** error ... plot (TriangularDistribution, 'invalidNAME', 'pdf') ***** error <'probability' PlotType is not supported for 'TriangularDistribution'.> ... plot (TriangularDistribution, 'PlotType', 'probability') ***** error ... truncate (TriangularDistribution) ***** error ... truncate (TriangularDistribution, 2) ***** error ... truncate (TriangularDistribution, 4, 2) ***** shared pd pd = TriangularDistribution (0, 1, 2); pd(2) = TriangularDistribution (0, 1, 2); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 69 tests, 69 passed, 0 known failure, 0 skipped [inst/dist_obj/GeneralizedParetoDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/GeneralizedParetoDistribution.m ***** shared pd, t pd = GeneralizedParetoDistribution (1, 1, 1); t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0, 0.5, 0.6667, 0.75, 0.8], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.6667, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.3333, 0.5, 0.6667, 0.75], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.6667, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [1, 1.25, 1.6667, 2.5, 5, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.2222, 2.5, 2.8571, 3.3333, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 1.6667, 2.5, 5, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.5, 2.8571, 3.3333, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 2.6667, 1e-4); ***** assert_equal (iqr (t), 0.9143, 1e-4); ***** assert_equal (mean (pd), Inf); ***** assert_equal (mean (t), 2.7726, 1e-4); ***** assert_equal (median (pd), 2); ***** assert_equal (median (t), 2.6667, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0, 1, 0.25, 0.1111, 0.0625, 0.04], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 1, 0.4444, 0.25, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0, 1, 0.25, 0.1111, 0.0625, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 1, 0.4444, 0.25, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), Inf); ***** assert_equal (std (t), 0.5592, 1e-4); ***** assert_equal (var (pd), Inf); ***** assert_equal (var (t), 0.3128, 1e-4); ***** error ... GeneralizedParetoDistribution (Inf, 1, 1) ***** error ... GeneralizedParetoDistribution (i, 1, 1) ***** error ... GeneralizedParetoDistribution ('a', 1, 1) ***** error ... GeneralizedParetoDistribution ([1, 2], 1, 1) ***** error ... GeneralizedParetoDistribution (NaN, 1, 1) ***** error ... GeneralizedParetoDistribution (1, 0, 1) ***** error ... GeneralizedParetoDistribution (1, -1, 1) ***** error ... GeneralizedParetoDistribution (1, Inf, 1) ***** error ... GeneralizedParetoDistribution (1, i, 1) ***** error ... GeneralizedParetoDistribution (1, 'a', 1) ***** error ... GeneralizedParetoDistribution (1, [1, 2], 1) ***** error ... GeneralizedParetoDistribution (1, NaN, 1) ***** error ... GeneralizedParetoDistribution (1, 1, Inf) ***** error ... GeneralizedParetoDistribution (1, 1, i) ***** error ... GeneralizedParetoDistribution (1, 1, 'a') ***** error ... GeneralizedParetoDistribution (1, 1, [1, 2]) ***** error ... GeneralizedParetoDistribution (1, 1, NaN) ***** error ... cdf (GeneralizedParetoDistribution, 2, 'uper') ***** error ... cdf (GeneralizedParetoDistribution, 2, 3) ***** shared x x = gprnd (1, 1, 1, [1, 100]); ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'alpha') ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'alpha', 0) ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'alpha', 1) ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'alpha', [0.5 2]) ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'alpha', '') ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'alpha', {0.05}) ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), ... 'parameter', 'sigma', 'alpha', {0.05}) ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), ... 'parameter', {'k', 'sigma', 'param'}) ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'alpha', 0.01, ... 'parameter', {'k', 'sigma', 'param'}) ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'parameter', 'param') ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'alpha', 0.01, ... 'parameter', 'param') ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'NAME', 'value') ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'alpha', 0.01, ... 'NAME', 'value') ***** error ... paramci (GeneralizedParetoDistribution.fit (x, 1), 'alpha', 0.01, ... 'parameter', 'sigma', 'NAME', 'value') ***** error ... plot (GeneralizedParetoDistribution, 'Parent') ***** error ... plot (GeneralizedParetoDistribution, 'PlotType', 12) ***** error ... plot (GeneralizedParetoDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (GeneralizedParetoDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (GeneralizedParetoDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (GeneralizedParetoDistribution, 'Discrete', [1, 0]) ***** error ... plot (GeneralizedParetoDistribution, 'Discrete', {true}) ***** error ... plot (GeneralizedParetoDistribution, 'Parent', 12) ***** error ... plot (GeneralizedParetoDistribution, 'Parent', 'hax') ***** error ... plot (GeneralizedParetoDistribution, 'invalidNAME', 'pdf') ***** error ... plot (GeneralizedParetoDistribution, 'PlotType', 'probability') ***** error ... proflik (GeneralizedParetoDistribution, 2) ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), 3) ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), [1, 2]) ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), {1}) ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), 1, ones (2)) ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), 1, 'Display') ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), 1, 'Display', 1) ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), 1, 'Display', {1}) ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), 1, 'Display', {'on'}) ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), 1, ... 'Display', ['on'; 'on']) ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), 1, 'Display', 'onnn') ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), 1, 'NAME', 'on') ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), 1, {'NAME'}, 'on') ***** error ... proflik (GeneralizedParetoDistribution.fit (x, 1), 1, {[1 2 3 4]}, ... 'Display', 'on') ***** error ... truncate (GeneralizedParetoDistribution) ***** error ... truncate (GeneralizedParetoDistribution, 2) ***** error ... truncate (GeneralizedParetoDistribution, 4, 2) ***** shared pd pd = GeneralizedParetoDistribution (1, 1, 1); pd(2) = GeneralizedParetoDistribution (1, 3, 1); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 100 tests, 100 passed, 0 known failure, 0 skipped [inst/dist_obj/ExtremeValueDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/ExtremeValueDistribution.m ***** shared pd, t pd = ExtremeValueDistribution (0, 1); t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0.6321, 0.9340, 0.9994, 1, 1, 1], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 1, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.9887, 0.9994, 1, 1], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 1, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [-Inf, -1.4999, -0.6717, -0.0874, 0.4759, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.0298, 2.0668, 2.1169, 2.1971, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, -0.6717, -0.0874, 0.4759, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.0668, 2.1169, 2.1971, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.5725, 1e-4); ***** assert_equal (iqr (t), 0.1338, 1e-4); ***** assert_equal (mean (pd), -0.5772, 1e-4); ***** assert_equal (mean (t), 2.1206, 1e-4); ***** assert_equal (median (pd), -0.3665, 1e-4); ***** assert_equal (median (t), 2.0897, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0.3679, 0.1794, 0.0046, 0, 0, 0], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 7.3891, 0.0001, 0, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0.2546, 0.1794, 0.0046, 0, 0, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 7.3891, 0.0001, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1.2825, 1e-4); ***** assert_equal (std (t), 0.1091, 1e-4); ***** assert_equal (var (pd), 1.6449, 1e-4); ***** assert_equal (var (t), 0.0119, 1e-4); ***** error ... ExtremeValueDistribution (Inf, 1) ***** error ... ExtremeValueDistribution (i, 1) ***** error ... ExtremeValueDistribution ('a', 1) ***** error ... ExtremeValueDistribution ([1, 2], 1) ***** error ... ExtremeValueDistribution (NaN, 1) ***** error ... ExtremeValueDistribution (1, 0) ***** error ... ExtremeValueDistribution (1, -1) ***** error ... ExtremeValueDistribution (1, Inf) ***** error ... ExtremeValueDistribution (1, i) ***** error ... ExtremeValueDistribution (1, 'a') ***** error ... ExtremeValueDistribution (1, [1, 2]) ***** error ... ExtremeValueDistribution (1, NaN) ***** error ... cdf (ExtremeValueDistribution, 2, 'uper') ***** error ... cdf (ExtremeValueDistribution, 2, 3) ***** shared x rand ('seed', 1); x = evrnd (1, 1, [1000, 1]); ***** error ... paramci (ExtremeValueDistribution.fit (x), 'alpha') ***** error ... paramci (ExtremeValueDistribution.fit (x), 'alpha', 0) ***** error ... paramci (ExtremeValueDistribution.fit (x), 'alpha', 1) ***** error ... paramci (ExtremeValueDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (ExtremeValueDistribution.fit (x), 'alpha', '') ***** error ... paramci (ExtremeValueDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (ExtremeValueDistribution.fit (x), ... 'parameter', 'mu', 'alpha', {0.05}) ***** error ... paramci (ExtremeValueDistribution.fit (x), ... 'parameter', {'mu', 'sigma', 'param'}) ***** error ... paramci (ExtremeValueDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'mu', 'sigma', 'param'}) ***** error ... paramci (ExtremeValueDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (ExtremeValueDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'param') ***** error ... paramci (ExtremeValueDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (ExtremeValueDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (ExtremeValueDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'mu', 'NAME', 'value') ***** error ... plot (ExtremeValueDistribution, 'Parent') ***** error ... plot (ExtremeValueDistribution, 'PlotType', 12) ***** error ... plot (ExtremeValueDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (ExtremeValueDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (ExtremeValueDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (ExtremeValueDistribution, 'Discrete', [1, 0]) ***** error ... plot (ExtremeValueDistribution, 'Discrete', {true}) ***** error ... plot (ExtremeValueDistribution, 'Parent', 12) ***** error ... plot (ExtremeValueDistribution, 'Parent', 'hax') ***** error ... plot (ExtremeValueDistribution, 'invalidNAME', 'pdf') ***** error ... plot (ExtremeValueDistribution, 'PlotType', 'probability') ***** error ... proflik (ExtremeValueDistribution, 2) ***** error ... proflik (ExtremeValueDistribution.fit (x), 3) ***** error ... proflik (ExtremeValueDistribution.fit (x), [1, 2]) ***** error ... proflik (ExtremeValueDistribution.fit (x), {1}) ***** error ... proflik (ExtremeValueDistribution.fit (x), 1, ones (2)) ***** error ... proflik (ExtremeValueDistribution.fit (x), 1, 'Display') ***** error ... proflik (ExtremeValueDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (ExtremeValueDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (ExtremeValueDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (ExtremeValueDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (ExtremeValueDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (ExtremeValueDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (ExtremeValueDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (ExtremeValueDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (ExtremeValueDistribution) ***** error ... truncate (ExtremeValueDistribution, 2) ***** error ... truncate (ExtremeValueDistribution, 4, 2) ***** shared pd pd = ExtremeValueDistribution (1, 1); pd(2) = ExtremeValueDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 95 tests, 95 passed, 0 known failure, 0 skipped [inst/dist_obj/BirnbaumSaundersDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/BirnbaumSaundersDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Birnbaum-Saunders ## distribution with parameters β = 1 and γ = 0.5. Fit a Birnbaum-Saunders ## distribution to this data and plot a PDF of the fitted distribution ## superimposed on a histogram of the data. pd_fixed = makedist ('BirnbaumSaunders', 'beta', 1, 'gamma', 0.5) randg ('seed', 21); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'BirnbaumSaunders') plot (pd_fitted) msg = 'Fitted Birnbaum-Saunders distribution with beta = %0.2f and gamma = %0.2f'; title (sprintf (msg, pd_fitted.beta, pd_fitted.gamma)) ***** shared pd, t pd = BirnbaumSaundersDistribution; t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.5, 0.7602, 0.8759, 0.9332, 0.9632], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.6687, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4, NaN]), [0.6585, 0.7602, 0.8759, 0.9332, NaN], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4, NaN]), [0, 0, 0.6687, 1, NaN], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.4411, 0.7767, 1.2875, 2.2673, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.2293, 2.5073, 2.8567, 3.3210, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.7767, 1.2875, 2.2673, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.5073, 2.8567, 3.3210, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 1.4236, 1e-4); ***** assert_equal (iqr (t), 0.8968, 1e-4); ***** assert_equal (mean (pd), 1.5, eps); ***** assert_equal (mean (t), 2.7723, 1e-4); ***** assert_equal (median (pd), 1, 1e-4); ***** assert_equal (median (t), 2.6711, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0, 0.3989, 0.1648, 0.0788, 0.0405, 0.0216], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 0.9528, 0.4559, 0.2340, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1.5, NaN]), [0, 0.2497, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1.5, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1.5, eps); ***** assert_equal (std (t), 0.5528, 1e-4); ***** assert_equal (var (pd), 2.25, eps); ***** assert_equal (var (t), 0.3056, 1e-4); ***** error ... BirnbaumSaundersDistribution (0, 1) ***** error ... BirnbaumSaundersDistribution (Inf, 1) ***** error ... BirnbaumSaundersDistribution (i, 1) ***** error ... BirnbaumSaundersDistribution ('beta', 1) ***** error ... BirnbaumSaundersDistribution ([1, 2], 1) ***** error ... BirnbaumSaundersDistribution (NaN, 1) ***** error ... BirnbaumSaundersDistribution (1, 0) ***** error ... BirnbaumSaundersDistribution (1, -1) ***** error ... BirnbaumSaundersDistribution (1, Inf) ***** error ... BirnbaumSaundersDistribution (1, i) ***** error ... BirnbaumSaundersDistribution (1, 'beta') ***** error ... BirnbaumSaundersDistribution (1, [1, 2]) ***** error ... BirnbaumSaundersDistribution (1, NaN) ***** error ... cdf (BirnbaumSaundersDistribution, 2, 'uper') ***** error ... cdf (BirnbaumSaundersDistribution, 2, 3) ***** shared x rand ('seed', 5); x = bisarnd (1, 1, [100, 1]); ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'alpha') ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'alpha', 0) ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'alpha', 1) ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'alpha', '') ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'parameter', ... 'beta', 'alpha', {0.05}) ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), ... 'parameter', {'beta', 'gamma', 'param'}) ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'beta', 'gamma', 'param'}) ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'param') ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'alpha', 0.01, ... 'NAME', 'value') ***** error ... paramci (BirnbaumSaundersDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'beta', 'NAME', 'value') ***** error ... plot (BirnbaumSaundersDistribution, 'Parent') ***** error ... plot (BirnbaumSaundersDistribution, 'PlotType', 12) ***** error ... plot (BirnbaumSaundersDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (BirnbaumSaundersDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (BirnbaumSaundersDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (BirnbaumSaundersDistribution, 'Discrete', [1, 0]) ***** error ... plot (BirnbaumSaundersDistribution, 'Discrete', {true}) ***** error ... plot (BirnbaumSaundersDistribution, 'Parent', 12) ***** error ... plot (BirnbaumSaundersDistribution, 'Parent', 'hax') ***** error ... plot (BirnbaumSaundersDistribution, 'invalidNAME', 'pdf') ***** error ... plot (BirnbaumSaundersDistribution, 'PlotType', 'probability') ***** error ... proflik (BirnbaumSaundersDistribution, 2) ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), 3) ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), [1, 2]) ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), {1}) ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), 1, ones (2)) ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), 1, 'Display') ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (BirnbaumSaundersDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (BirnbaumSaundersDistribution) ***** error ... truncate (BirnbaumSaundersDistribution, 2) ***** error ... truncate (BirnbaumSaundersDistribution, 4, 2) ***** shared pd pd = BirnbaumSaundersDistribution (1, 1); pd(2) = BirnbaumSaundersDistribution (1, 3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 96 tests, 96 passed, 0 known failure, 0 skipped [inst/dist_obj/UniformDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/UniformDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Uniform distribution with ## parameters Lower = 0 and Upper = 10. Create a Uniform distribution with these ## parameters and plot its PDF superimposed on a histogram of the data. pd = makedist ('Uniform', 'Lower', 0, 'Upper', 10); rand ('seed', 21); data = random (pd, 5000, 1); x = linspace (pd.Lower - 1, pd.Upper + 1, 500); y = pdf (pd, x); plot (x, y, 'r-', 'LineWidth', 2); hold on; [counts, centers] = hist (data, 50); bin_width = centers(2) - centers(1); normalized_counts = counts / (sum (counts) * bin_width); bar (centers, normalized_counts, 1); msg = 'Uniform distribution with Lower = %0.2f and Upper = %0.2f'; title (sprintf (msg, pd.Lower, pd.Upper)); legend ('PDF', 'Histogram', 'location', 'northeast'); hold off; ***** shared pd, t pd = UniformDistribution (0, 5); t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.2, 0.4, 0.6, 0.8, 1], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.5, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4, NaN]), [0.3, 0.4, 0.6, 0.8, NaN], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4, NaN]), [0, 0, 0.5, 1, NaN], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 1, 2, 3, 4, 5], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.4, 2.8, 3.2, 3.6, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 2, 3, 4, 5, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.8, 3.2, 3.6, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 2.5, 1e-14); ***** assert_equal (iqr (t), 1, 1e-14); ***** assert_equal (mean (pd), 2.5, 1e-14); ***** assert_equal (mean (t), 3, 1e-14); ***** assert_equal (median (pd), 2.5, 1e-14); ***** assert_equal (median (t), 3, 1e-14); ***** assert_equal (pdf (pd, [0:5]), [0.2, 0.2, 0.2, 0.2, 0.2, 0.2], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 0.5, 0.5, 0.5, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1.5, NaN]), [0, 0.2, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1.5, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 1.4434, 1e-4); ***** assert_equal (std (t), 0.5774, 1e-4); ***** assert_equal (var (pd), 2.0833, 1e-4); ***** assert_equal (var (t), 0.3333, 1e-4); ***** error ... UniformDistribution (i, 1) ***** error ... UniformDistribution (Inf, 1) ***** error ... UniformDistribution ([1, 2], 1) ***** error ... UniformDistribution ('a', 1) ***** error ... UniformDistribution (NaN, 1) ***** error ... UniformDistribution (1, i) ***** error ... UniformDistribution (1, Inf) ***** error ... UniformDistribution (1, [1, 2]) ***** error ... UniformDistribution (1, 'a') ***** error ... UniformDistribution (1, NaN) ***** error ... UniformDistribution (2, 1) ***** error ... cdf (UniformDistribution, 2, 'uper') ***** error ... cdf (UniformDistribution, 2, 3) ***** error ... plot (UniformDistribution, 'Parent') ***** error ... plot (UniformDistribution, 'PlotType', 12) ***** error ... plot (UniformDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (UniformDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (UniformDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (UniformDistribution, 'Discrete', [1, 0]) ***** error ... plot (UniformDistribution, 'Discrete', {true}) ***** error ... plot (UniformDistribution, 'Parent', 12) ***** error ... plot (UniformDistribution, 'Parent', 'hax') ***** error ... plot (UniformDistribution, 'invalidNAME', 'pdf') ***** error ... plot (UniformDistribution, 'PlotType', 'probability') ***** error ... truncate (UniformDistribution) ***** error ... truncate (UniformDistribution, 2) ***** error ... truncate (UniformDistribution, 4, 2) ***** shared pd pd = UniformDistribution (0, 1); pd(2) = UniformDistribution (0, 2); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 63 tests, 63 passed, 0 known failure, 0 skipped [inst/dist_obj/BurrDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/BurrDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Burr type XII ## distribution with parameters alpha = 1, c = 2, and k = 1. Fit a Burr type ## XII distribution to this data and plot a PDF of the fitted distribution ## superimposed on a histogram of the data pd = makedist ('Burr', 'alpha', 1, 'c', 2, 'k', 1) rand ('seed', 21); data = random (pd, 5000, 1); pd = fitdist (data, 'Burr') plot (pd) msg = strcat ("Fitted Burr type XII distribution with", ... " alpha = %0.2f, c = %0.2f, and k = %0.2f"); title (sprintf (msg, pd.alpha, pd.c, pd.k)) ***** shared pd, t pd = BurrDistribution; t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.5, 0.6667, 0.75, 0.8, 0.8333], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.625, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4]), [0.6, 0.6667, 0.75, 0.8], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4]), [0, 0, 0.625, 1], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.25, 0.6667, 1.5, 4, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.2609, 2.5714, 2.9474, 3.4118, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 0.6667, 1.5, 4, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.5714, 2.9474, 3.4118, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 2.6667, 1e-4); ***** assert_equal (iqr (t), 0.9524, 1e-4); ***** assert_equal (mean (pd), Inf); ***** assert_equal (mean (t), 2.8312, 1e-4); ***** assert_equal (median (pd), 1, 1e-4); ***** assert_equal (median (t), 2.75, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [1, 0.25, 0.1111, 0.0625, 0.04, 0.0278], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 0.8333, 0.4687, 0.3, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1:4, NaN]), [0, 0.25, 0.1111, 0.0625, 0.04, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1:4, NaN]), [0, 0, 0.8333, 0.4687, 0.3, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), Inf); ***** assert_equal (std (t), 0.5674, 1e-4); ***** assert_equal (var (pd), Inf); ***** assert_equal (var (t), 0.3220, 1e-4); ***** error ... BurrDistribution (0, 1, 1) ***** error ... BurrDistribution (-1, 1, 1) ***** error ... BurrDistribution (Inf, 1, 1) ***** error ... BurrDistribution (i, 1, 1) ***** error ... BurrDistribution ('a', 1, 1) ***** error ... BurrDistribution ([1, 2], 1, 1) ***** error ... BurrDistribution (NaN, 1, 1) ***** error ... BurrDistribution (1, 0, 1) ***** error ... BurrDistribution (1, -1, 1) ***** error ... BurrDistribution (1, Inf, 1) ***** error ... BurrDistribution (1, i, 1) ***** error ... BurrDistribution (1, 'a', 1) ***** error ... BurrDistribution (1, [1, 2], 1) ***** error ... BurrDistribution (1, NaN, 1) ***** error ... BurrDistribution (1, 1, 0) ***** error ... BurrDistribution (1, 1, -1) ***** error ... BurrDistribution (1, 1, Inf) ***** error ... BurrDistribution (1, 1, i) ***** error ... BurrDistribution (1, 1, 'a') ***** error ... BurrDistribution (1, 1, [1, 2]) ***** error ... BurrDistribution (1, 1, NaN) ***** error ... cdf (BurrDistribution, 2, 'uper') ***** error ... cdf (BurrDistribution, 2, 3) ***** shared x rand ('seed', 4); x = burrrnd (1, 1, 1, [1, 100]); ***** error ... paramci (BurrDistribution.fit (x), 'alpha') ***** error ... paramci (BurrDistribution.fit (x), 'alpha', 0) ***** error ... paramci (BurrDistribution.fit (x), 'alpha', 1) ***** error ... paramci (BurrDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (BurrDistribution.fit (x), 'alpha', '') ***** error ... paramci (BurrDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (BurrDistribution.fit (x), 'parameter', 'c', 'alpha', {0.05}) ***** error ... paramci (BurrDistribution.fit (x), 'parameter', {'alpha', 'c', 'k', 'param'}) ***** error ... paramci (BurrDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'alpha', 'c', 'k', 'param'}) ***** error ... paramci (BurrDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (BurrDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (BurrDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (BurrDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (BurrDistribution.fit (x), 'alpha', 0.01, 'parameter', 'c', ... 'NAME', 'value') ***** error ... plot (BurrDistribution, 'Parent') ***** error ... plot (BurrDistribution, 'PlotType', 12) ***** error ... plot (BurrDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (BurrDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (BurrDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (BurrDistribution, 'Discrete', [1, 0]) ***** error ... plot (BurrDistribution, 'Discrete', {true}) ***** error ... plot (BurrDistribution, 'Parent', 12) ***** error ... plot (BurrDistribution, 'Parent', 'hax') ***** error ... plot (BurrDistribution, 'invalidNAME', 'pdf') ***** error ... plot (BurrDistribution, 'PlotType', 'probability') ***** error ... proflik (BurrDistribution, 2) ***** error ... proflik (BurrDistribution.fit (x), 4) ***** error ... proflik (BurrDistribution.fit (x), [1, 2]) ***** error ... proflik (BurrDistribution.fit (x), {1}) ***** error ... proflik (BurrDistribution.fit (x), 1, ones (2)) ***** error ... proflik (BurrDistribution.fit (x), 1, 'Display') ***** error ... proflik (BurrDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (BurrDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (BurrDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (BurrDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (BurrDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (BurrDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (BurrDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (BurrDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (BurrDistribution) ***** error ... truncate (BurrDistribution, 2) ***** error ... truncate (BurrDistribution, 4, 2) ***** shared pd pd = BurrDistribution (1, 1, 1); pd(2) = BurrDistribution (1, 3, 1); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 104 tests, 104 passed, 0 known failure, 0 skipped [inst/hmmestimate.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/hmmestimate.m ***** test sequence = [1, 2, 1, 1, 1, 2, 2, 1, 2, 3, 3, ... 3, 3, 2, 3, 1, 1, 1, 1, 3, 3, 2, 3, 1, 3]; states = [1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, ... 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1]; [transprobest, outprobest] = hmmestimate (sequence, states); expectedtransprob = [0.88889, 0.11111; 0.28571, 0.71429]; expectedoutprob = [0.16667, 0.33333, 0.50000; 1.00000, 0.00000, 0.00000]; assert_equal (transprobest, expectedtransprob, 0.001); assert_equal (outprobest, expectedoutprob, 0.001); ***** test sequence = {'A', 'B', 'A', 'A', 'A', 'B', 'B', 'A', 'B', 'C', 'C', 'C', ... 'C', 'B', 'C', 'A', 'A', 'A', 'A', 'C', 'C', 'B', 'C', 'A', 'C'}; states = {'One', 'One', 'Two', 'Two', 'Two', 'One', 'One', 'One', 'One', ... 'One', 'One', 'One', 'One', 'One', 'One', 'Two', 'Two', 'Two', ... 'Two', 'One', 'One', 'One', 'One', 'One', 'One'}; symbols = {'A', 'B', 'C'}; statenames = {'One', 'Two'}; [transprobest, outprobest] = hmmestimate (sequence, states, 'symbols', ... symbols, 'statenames', statenames); expectedtransprob = [0.88889, 0.11111; 0.28571, 0.71429]; expectedoutprob = [0.16667, 0.33333, 0.50000; 1.00000, 0.00000, 0.00000]; assert_equal (transprobest, expectedtransprob, 0.001); assert_equal (outprobest, expectedoutprob, 0.001); ***** test sequence = [1, 2, 1, 1, 1, 2, 2, 1, 2, 3, 3, 3, ... 3, 2, 3, 1, 1, 1, 1, 3, 3, 2, 3, 1, 3]; states = [1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, ... 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1]; pseudotransitions = [8, 2; 4, 6]; pseudoemissions = [2, 4, 4; 7, 2, 1]; [transprobest, outprobest] = hmmestimate (sequence, states, ... 'pseudotransitions', pseudotransitions, 'pseudoemissions', pseudoemissions); expectedtransprob = [0.85714, 0.14286; 0.35294, 0.64706]; expectedoutprob = [0.178571, 0.357143, 0.464286; ... 0.823529, 0.117647, 0.058824]; assert_equal (transprobest, expectedtransprob, 0.001); assert_equal (outprobest, expectedoutprob, 0.001); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/dummyvar.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dummyvar.m ***** assert_equal (dummyvar ([]), []) ***** assert_equal (dummyvar (ones (2, 0)), ones (2, 0)) ***** test ## numeric grouping vector g = [1; 2; 1; 3; 2]; D = dummyvar (g); assert_equal (D, [1, 0, 0; 0, 1, 0; 1, 0, 0; 0, 0, 1; 0, 1, 0]); ***** test g = categorical ({'a'; 'b'; 'a'}, {'a', 'b', 'c'}); D = dummyvar (g); cats = categories (g); g_str = cellstr (g); for k = 1:numel (cats) mask = strcmp (g_str, cats{k}); assert_equal (all (D(mask, k) == 1), true); assert_equal (all (D(! mask, k) == 0), true); endfor ***** test g = categorical ({'a'; ''; 'b'}, {'a', 'b', 'c'}); D = dummyvar (g); assert_equal (D, [1, 0, 0; NaN, NaN, NaN; 0, 1, 0]); ***** test colors = categorical ({'Red'; 'Blue'; 'Green'; 'Red'; 'Green'; 'Blue'}); D = dummyvar (colors); assert_equal (D, [0, 0, 1; 1, 0, 0; 0, 1, 0; 0, 0, 1; 0, 1, 0; 1, 0, 0]); ***** test g1 = [1; 1; 1; 1; 2; 2; 2; 2]; g2 = [1; 2; 3; 1; 2; 3; 1; 2]; D = dummyvar ([g1, g2]); D1 = [1, 0, 1, 0, 0; 1, 0, 0, 1, 0; 1, 0, 0, 0, 1; 1, 0, 1, 0, 0; ... 0, 1, 0, 1, 0; 0, 1, 0, 0, 1; 0, 1, 1, 0, 0; 0, 1, 0, 1, 0]; assert_equal (D, D1); ***** test phone = {'mob'; 'land'; 'mob';'mob';'mob';'land';'land'}; codes = categorical ([202; 202; 103; 103; 202; 103; 202]); D = dummyvar ({phone, codes}); D1 = [1, 0, 0, 1; 0, 1, 0, 1; 1, 0, 1, 0; 1, 0, 1, 0; ... 1, 0, 0, 1; 0, 1, 1, 0; 0, 1, 0, 1]; assert_equal (D, D1); ***** test colors = {'red'; 'blue'; 'red'; 'green'; 'yellow'; 'blue'}; D = dummyvar (categorical (colors)); D1 = [0, 0, 1, 0; 1, 0, 0, 0; 0, 0, 1, 0; 0, 1, 0, 0; 0, 0, 0, 1; 1, 0, 0, 0]; assert_equal (D, D1); ***** test colors = {'red'; 'blue'; 'red'; 'green'; 'yellow'; 'blue'}; D = dummyvar (colors); D1 = [1, 0, 0, 0; 0, 1, 0, 0; 1, 0, 0, 0; 0, 0, 1, 0; 0, 0, 0, 1; 0, 1, 0, 0]; assert_equal (D, D1); D = dummyvar ({colors}); D1 = [1, 0, 0, 0; 0, 1, 0, 0; 1, 0, 0, 0; 0, 0, 1, 0; 0, 0, 0, 1; 0, 1, 0, 0]; assert_equal (D, D1); ***** test g = [1, 2, 1, 2, 1, 3, 2, 1]; D = dummyvar (g); D1 = [1, 0, 0; 0, 1, 0; 1, 0, 0; 0, 1, 0; 1, 0, 0; 0, 0, 1; 0, 1, 0; 1, 0, 0]; assert_equal (D, D1); ***** error dummyvar () ***** error dummyvar (1, 2) ***** error ... dummyvar (categorical ({'a', 'b'})) ***** error ... dummyvar (ones (3, 3, 3)) ***** error ... dummyvar ([2, 4, 0, 8, 1]) ***** error ... dummyvar ({'a', 'b'}) ***** error ... dummyvar ({[2;3;4;5], [1;2;3]}) ***** error dummyvar ([true; false]) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/fullfact.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/fullfact.m ***** demo ## Full factorial design with 3 ordinal variables fullfact ([2, 3, 4]) ***** error fullfact (); ***** error ... fullfact (Inf); ***** error ... fullfact (NaN); ***** error ... fullfact (ones (2)); ***** error ... fullfact ([1, 2, NaN]); ***** error ... fullfact ([1, 2, Inf]); ***** error fullfact (2.5); ***** error fullfact (0); ***** error fullfact (-3); ***** error fullfact (3+2i); ***** error fullfact ([1, 2, -3]); ***** error fullfact ([0, 1, 2]); ***** test A = fullfact (1); assert_equal (A, 1); ***** test A = fullfact (2); assert_equal (A, [1; 2]); ***** test ***** test A = fullfact (3); assert_equal (A, [1; 2; 3]); ***** test A = fullfact ([1, 2, 4]); A_out = [1, 1, 1; 1, 2, 1; 1, 1, 2; 1, 2, 2; ... 1, 1, 3; 1, 2, 3; 1, 1, 4; 1, 2, 4]; assert_equal (A, A_out); ***** test A = fullfact ([2, 2]); assert_equal (A, [1, 1; 2, 1; 1, 2; 2, 2]); ***** test A = fullfact ([2, 2, 4]); A_out = [1, 1, 1; 2, 1, 1; 1, 2, 1; 2, 2, 1; ... 1, 1, 2; 2, 1, 2; 1, 2, 2; 2, 2, 2; ... 1, 1, 3; 2, 1, 3; 1, 2, 3; 2, 2, 3; ... 1, 1, 4; 2, 1, 4; 1, 2, 4; 2, 2, 4]; assert_equal (A, A_out); ***** test A = fullfact ([3, 2, 4]); A_out = [1, 1, 1; 2, 1, 1; 3, 1, 1; 1, 2, 1; 2, 2, 1; 3, 2, 1; ... 1, 1, 2; 2, 1, 2; 3, 1, 2; 1, 2, 2; 2, 2, 2; 3, 2, 2; ... 1, 1, 3; 2, 1, 3; 3, 1, 3; 1, 2, 3; 2, 2, 3; 3, 2, 3; ... 1, 1, 4; 2, 1, 4; 3, 1, 4; 1, 2, 4; 2, 2, 4; 3, 2, 4]; assert_equal (A, A_out); ***** test A = fullfact ([4, 2]); assert_equal (A, [1, 1; 2, 1; 3, 1; 4, 1; 1, 2; 2, 2; 3, 2; 4, 2]); 21 tests, 21 passed, 0 known failure, 0 skipped [inst/histfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/histfit.m ***** demo histfit (randn (100, 1)) ***** demo histfit (poissrnd (2, 1000, 1), 10, 'Poisson') ***** demo histfit (betarnd (3, 10, 1000, 1), 10, 'beta') ***** test hf = figure ('visible', 'off'); unwind_protect x = [2, 4, 3, 2, 4, 3, 2, 5, 6, 4, 7, 5, 9, 8, 10, 4, 11]; histfit (x); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect x = [2, 4, 3, 2, NaN, 3, 2, 5, 6, 4, 7, 5, 9, 8, 10, 4, 11]; histfit (x); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect x = [2, 4, 3, 2, NaN, 3, 2, 5, 6, 4, 7, 5, 9, 8, 10, 4, 11]; histfit (x, 3); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect histfit (randn (100, 1)); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect histfit (poissrnd (2, 1000, 1), 10, 'Poisson'); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect histfit (betarnd (3, 10, 1000, 1), 10, 'beta'); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect ax = gca (); histfit (ax, randn (100, 1)); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect ax = gca (); histfit (ax, poissrnd (2, 1000, 1), 10, 'Poisson'); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect ax = gca (); histfit (ax, betarnd (3, 10, 1000, 1), 10, 'beta'); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect ax = axes ('parent', hf); fail ('histfit (ax)', 'histfit: too few input arguments.'); unwind_protect_cleanup close (hf); end_unwind_protect ***** error ... histfit ('wer') ***** error histfit ([NaN, NaN, NaN]); ***** error ... histfit (randn (100, 1), 5.6) ***** error ... histfit (randn (100, 1), 8, 5) ***** error ... histfit (randn (100, 1), 8, {'normal'}) ***** error ... histfit (randn (100, 1), 8, 'Kernel') ***** error ... histfit (randn (100, 1), 8, 'ASDASDASD') 17 tests, 17 passed, 0 known failure, 0 skipped [inst/cophenet.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/cophenet.m ***** demo randn ('seed', 5) # for reproducibility X = randn (10,2); y = pdist (X); Z = linkage (y, 'average'); cophenet (Z, y) ***** error cophenet () ***** error cophenet (1) ***** error ... cophenet (ones (2,2), 1) ***** error ... cophenet ([1 2 1], 'a') ***** error ... cophenet ([1 2 1], [1 2]) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/kmeans.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/kmeans.m ***** demo ## Generate a two-cluster problem randn ('seed', 31) # for reproducibility C1 = randn (100, 2) + 1; randn ('seed', 32) # for reproducibility C2 = randn (100, 2) - 1; data = [C1; C2]; ## Perform clustering rand ('seed', 1) # for reproducibility [idx, centers] = kmeans (data, 2); ## Plot the result figure; plot (data(idx==1, 1), data(idx==1, 2), 'ro'); hold on; plot (data(idx==2, 1), data(idx==2, 2), 'bs'); plot (centers(:, 1), centers(:, 2), 'kv', 'markersize', 10); title ('A simple two-clusters example'); hold off; ***** demo ## Cluster data using k-means clustering, then plot the cluster regions ## Load Fisher's iris data set and use the petal lengths and widths as ## predictors load fisheriris X = meas(:,3:4); plot (X(:,1), X(:,2), 'k*', 'MarkerSize', 5); title ('Fisher''s Iris Data'); xlabel ('Petal Lengths (cm)'); ylabel ('Petal Widths (cm)'); ## Cluster the data. Specify k = 3 clusters rand ('seed', 1) # for reproducibility [idx, C] = kmeans (X, 3); x1 = min (X(:,1)):0.01:max (X(:,1)); x2 = min (X(:,2)):0.01:max (X(:,2)); [x1G, x2G] = meshgrid (x1, x2); XGrid = [x1G(:), x2G(:)]; idx2Region = kmeans (XGrid, 3, 'MaxIter', 10, 'Start', C); figure; gscatter (XGrid(:,1), XGrid(:,2), idx2Region, ... [0, 0.75, 0.75; 0.75, 0, 0.75; 0.75, 0.75, 0], '..'); hold on; plot (X(:,1), X(:,2), 'k*', 'MarkerSize', 5); title ('Fisher''s Iris Data'); xlabel ('Petal Lengths (cm)'); ylabel ('Petal Widths (cm)'); legend ('Region 1', 'Region 2', 'Region 3', 'Data', 'Location', 'SouthEast'); hold off ***** demo ## Partition Data into Two Clusters randn ('seed', 1) # for reproducibility r1 = randn (100, 2) * 0.75 + ones (100, 2); randn ('seed', 2) # for reproducibility r2 = randn (100, 2) * 0.5 - ones (100, 2); X = [r1; r2]; plot (X(:,1), X(:,2), '.'); title ('Randomly Generated Data'); rand ('seed', 1) # for reproducibility [idx, C] = kmeans (X, 2, 'Distance', 'cityblock', ... 'Replicates', 5, 'Display', 'final'); figure; plot (X(idx==1,1), X(idx==1,2), 'r.', 'MarkerSize', 12); hold on plot (X(idx==2,1), X(idx==2,2), 'b.', 'MarkerSize', 12); plot (C(:,1), C(:,2), 'kx', 'MarkerSize', 15, 'LineWidth', 3); legend ('Cluster 1', 'Cluster 2', 'Centroids', 'Location', 'NorthWest'); title ('Cluster Assignments and Centroids'); hold off ***** demo ## Assign New Data to Existing Clusters ## Generate a training data set using three distributions randn ('seed', 5) # for reproducibility r1 = randn (100, 2) * 0.75 + ones (100, 2); randn ('seed', 7) # for reproducibility r2 = randn (100, 2) * 0.5 - ones (100, 2); randn ('seed', 9) # for reproducibility r3 = randn (100, 2) * 0.75; X = [r1; r2; r3]; ## Partition the training data into three clusters by using kmeans rand ('seed', 1) # for reproducibility [idx, C] = kmeans (X, 3); ## Plot the clusters and the cluster centroids gscatter (X(:,1), X(:,2), idx, 'bgm', '***'); hold on plot (C(:,1), C(:,2), 'kx'); legend ('Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster Centroid') ## Generate a test data set randn ('seed', 25) # for reproducibility r1 = randn (100, 2) * 0.75 + ones (100, 2); randn ('seed', 27) # for reproducibility r2 = randn (100, 2) * 0.5 - ones (100, 2); randn ('seed', 29) # for reproducibility r3 = randn (100, 2) * 0.75; Xtest = [r1; r2; r3]; ## Classify the test data set using the existing clusters ## Find the nearest centroid from each test data point by using pdist2 D = pdist2 (C, Xtest, 'euclidean'); [group, ~] = find (D == min (D)); ## Plot the test data and label the test data using idx_test with gscatter gscatter (Xtest(:,1), Xtest(:,2), group, 'bgm', 'ooo'); box on; legend ('Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster Centroid', ... 'Data classified to Cluster 1', 'Data classified to Cluster 2', ... 'Data classified to Cluster 3', 'Location', 'NorthWest'); title ('Assign New Data to Existing Clusters'); ***** test samples = 4; dims = 3; k = 2; [cls, c, d, z] = kmeans (rand (samples,dims), k, 'start', rand (k,dims, 5), 'emptyAction', 'singleton'); assert_equal (size (cls), [samples, 1]); assert_equal (size (c), [k, dims]); assert_equal (size (d), [k, 1]); assert_equal (size (z), [samples, k]); ***** test samples = 4; dims = 3; k = 2; [cls, c, d, z] = kmeans (rand (samples,dims), [], 'start', rand (k,dims, 5), 'emptyAction', 'singleton'); assert_equal (size (cls), [samples, 1]); assert_equal (size (c), [k, dims]); assert_equal (size (d), [k, 1]); assert_equal (size (z), [samples, k]); ***** test [cls, c] = kmeans ([1 0; 2 0], 2, 'start', [8,0;0,8], 'emptyaction', 'drop'); assert_equal (cls, [1; 1]); assert_equal (c, [1.5, 0; NA, NA]); ***** test kmeans (rand (4,3), 2, 'start', rand (2,3, 5), 'replicates', 5, 'emptyAction', 'singleton'); ***** test kmeans (rand (3,4), 2, 'start', 'sample', 'emptyAction', 'singleton'); ***** test kmeans (rand (3,4), 2, 'start', 'plus', 'emptyAction', 'singleton'); ***** test kmeans (rand (3,4), 2, 'start', 'cluster', 'emptyAction', 'singleton'); ***** test kmeans (rand (3,4), 2, 'start', 'uniform', 'emptyAction', 'singleton'); ***** test kmeans (rand (4,3), 2, 'distance', 'sqeuclidean', 'emptyAction', 'singleton'); ***** test kmeans (rand (4,3), 2, 'distance', 'cityblock', 'emptyAction', 'singleton'); ***** test kmeans (rand (4,3), 2, 'distance', 'cosine', 'emptyAction', 'singleton'); ***** test kmeans (rand (4,3), 2, 'distance', 'correlation', 'emptyAction', 'singleton'); ***** test kmeans (rand (4,3), 2, 'distance', 'hamming', 'emptyAction', 'singleton'); ***** test kmeans ([1 0; 1.1 0], 2, 'start', eye (2), 'emptyaction', 'singleton'); ***** error kmeans (rand (3,2), 4); ***** error kmeans ([1 0; 1.1 0], 2, 'start', eye (2), 'emptyaction', 'panic'); ***** error kmeans (rand (4,3), 2, 'start', rand (2,3, 5), 'replicates', 1); ***** error kmeans (rand (4,3), 2, 'start', rand (2,2)); ***** error kmeans (rand (4,3), 2, 'distance', 'manhattan'); ***** error kmeans (rand (3,4), 2, 'start', 'normal'); ***** error kmeans (rand (4,3), 2, 'replicates', i); ***** error kmeans (rand (4,3), 2, 'replicates', -1); ***** error kmeans (rand (4,3), 2, 'replicates', []); ***** error kmeans (rand (4,3), 2, 'replicates', [1 2]); ***** error kmeans (rand (4,3), 2, 'replicates', 'one'); ***** error kmeans (rand (4,3), 2, 'MAXITER', i); ***** error kmeans (rand (4,3), 2, 'MaxIter', -1); ***** error kmeans (rand (4,3), 2, 'maxiter', []); ***** error kmeans (rand (4,3), 2, 'maxiter', [1 2]); ***** error kmeans (rand (4,3), 2, 'maxiter', 'one'); ***** error kmeans ([1 0; 1.1 0], 2, 'start', eye (2), 'emptyaction', 'error'); 31 tests, 31 passed, 0 known failure, 0 skipped [inst/anova2.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/anova2.m ***** demo # Factorial (Crossed) Two-way ANOVA with Interaction popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; [p, atab, stats] = anova2 (popcorn, 3, 'on'); ***** demo # One-way Repeated Measures ANOVA (Rows are a crossed random factor) data = [54, 43, 78, 111; 23, 34, 37, 41; 45, 65, 99, 78; 31, 33, 36, 35; 15, 25, 30, 26]; [p, atab, stats] = anova2 (data, 1, 'on', 'linear'); ***** demo # Balanced Nested One-way ANOVA (Rows are a nested random factor) data = [4.5924 7.3809 21.322; -0.5488 9.2085 25.0426; ... 6.1605 13.1147 22.66; 2.3374 15.2654 24.1283; ... 5.1873 12.4188 16.5927; 3.3579 14.3951 10.2129; ... 6.3092 8.5986 9.8934; 3.2831 3.4945 10.0203]; [p, atab, stats] = anova2 (data, 4, 'on', 'nested'); ***** test ## Test for anova2 ("interaction") ## comparison with results from Matlab for column effect popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; [p, atab, stats] = anova2 (popcorn, 3, 'off'); assert_equal (p(1), 7.678957383294716e-07, 1e-14); assert_equal (p(2), 0.0001003738963050171, 1e-14); assert_equal (p(3), 0.7462153966366274, 1e-14); assert_equal (atab{2,5}, 56.700, 1e-14); assert_equal (atab{2,3}, 2, 0); assert_equal (atab{4,2}, 0.08333333333333348, 1e-14); assert_equal (atab{5,4}, 0.1388888888888889, 1e-14); assert_equal (atab{5,2}, 1.666666666666667, 1e-14); assert_equal (atab{6,2}, 22); assert_equal (stats.source, "anova2"); assert_equal (stats.colmeans, [6.25, 4.75, 4]); assert_equal (stats.inter, true); assert_equal (stats.pval, 0.7462153966366274, 1e-14); assert_equal (stats.df, 12); ***** test ## Test for anova2 ("linear") - comparison with results from GraphPad Prism 8 data = [54, 43, 78, 111; 23, 34, 37, 41; 45, 65, 99, 78; 31, 33, 36, 35; 15, 25, 30, 26]; [p, atab, stats] = anova2 (data, 1, 'off', 'linear'); assert_equal (atab{2,2}, 2174.95, 1e-10); assert_equal (atab{3,2}, 8371.7, 1e-10); assert_equal (atab{4,2}, 2404.3, 1e-10); assert_equal (atab{5,2}, 12950.95, 1e-10); assert_equal (atab{2,4}, 724.983333333333, 1e-10); assert_equal (atab{3,4}, 2092.925, 1e-10); assert_equal (atab{4,4}, 200.358333333333, 1e-10); assert_equal (atab{2,5}, 3.61843363972882, 1e-10); assert_equal (atab{3,5}, 10.445909412303, 1e-10); assert_equal (atab{2,6}, 0.087266112738617, 1e-10); assert_equal (atab{3,6}, 0.000698397753556, 1e-10); ***** test ## Test for anova2 ("nested") - comparison with results from GraphPad Prism 8 data = [4.5924 7.3809 21.322; -0.5488 9.2085 25.0426; ... 6.1605 13.1147 22.66; 2.3374 15.2654 24.1283; ... 5.1873 12.4188 16.5927; 3.3579 14.3951 10.2129; ... 6.3092 8.5986 9.8934; 3.2831 3.4945 10.0203]; [p, atab, stats] = anova2 (data, 4, 'off', 'nested'); assert_equal (atab{2,2}, 745.360306290833, 1e-10); assert_equal (atab{3,2}, 278.01854140125, 1e-10); assert_equal (atab{4,2}, 180.180377467501, 1e-10); assert_equal (atab{5,2}, 1203.55922515958, 1e-10); assert_equal (atab{2,4}, 372.680153145417, 1e-10); assert_equal (atab{3,4}, 92.67284713375, 1e-10); assert_equal (atab{4,4}, 10.0100209704167, 1e-10); assert_equal (atab{2,5}, 4.02146005730833, 1e-10); assert_equal (atab{3,5}, 9.25800729165627, 1e-10); assert_equal (atab{2,6}, 0.141597630656771, 1e-10); assert_equal (atab{3,6}, 0.000636643812875719, 1e-10); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/levene_test.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/levene_test.m ***** error levene_test () ***** error ... levene_test (1, 2, 3, 4, 5); ***** error levene_test (randn (50, 2), 0); ***** error ... levene_test (randn (50, 2), [1, 2, 3]); ***** error ... levene_test (randn (50, 1), ones (55, 1)); ***** error ... levene_test (randn (50, 1), ones (50, 2)); ***** error ... levene_test (randn (50, 2), [], 1.2); ***** error ... levene_test (randn (50, 2), 'some_string'); ***** error ... levene_test (randn (50, 2), [], 'alpha'); ***** error ... levene_test (randn (50, 1), [ones(25, 1); 2*ones(25, 1)], 1.2); ***** error ... levene_test (randn (50, 1), [ones(25, 1); 2*ones(25, 1)], 'err'); ***** error ... levene_test (randn (50, 1), [ones(25, 1); 2*ones(25, 1)], 0.05, 'type'); ***** warning ... levene_test (randn (50, 1), [ones(24, 1); 2*ones(25, 1); 3]); ***** test load examgrades [h, pval, W, df] = levene_test (grades); assert_equal (h, 1); assert_equal (pval, 9.523239714592791e-07, 1e-14); assert_equal (W, 8.59529, 1e-5); assert_equal (df, [4, 595]); ***** test load examgrades [h, pval, W, df] = levene_test (grades, [], 'quadratic'); assert_equal (h, 1); assert_equal (pval, 9.523239714592791e-07, 1e-14); assert_equal (W, 8.59529, 1e-5); assert_equal (df, [4, 595]); ***** test load examgrades [h, pval, W, df] = levene_test (grades, [], 'median'); assert_equal (h, 1); assert_equal (pval, 1.312093241723211e-06, 1e-14); assert_equal (W, 8.415969, 1e-6); assert_equal (df, [4, 595]); ***** test load examgrades [h, pval, W, df] = levene_test (grades(:,[1:3])); assert_equal (h, 1); assert_equal (pval, 0.004349390980463497, 1e-14); assert_equal (W, 5.52139, 1e-5); assert_equal (df, [2, 357]); ***** test load examgrades [h, pval, W, df] = levene_test (grades(:,[1:3]), 'median'); assert_equal (h, 1); assert_equal (pval, 0.004355216763951453, 1e-14); assert_equal (W, 5.52001, 1e-5); assert_equal (df, [2, 357]); ***** test load examgrades [h, pval, W, df] = levene_test (grades(:,[3,4]), 'quadratic'); assert_equal (h, 0); assert_equal (pval, 0.1807494957440653, 2e-14); assert_equal (W, 1.80200, 1e-5); assert_equal (df, [1, 238]); ***** test load examgrades [h, pval, W, df] = levene_test (grades(:,[3,4]), 'median'); assert_equal (h, 0); assert_equal (pval, 0.1978225622063785, 2e-14); assert_equal (W, 1.66768, 1e-5); assert_equal (df, [1, 238]); 20 tests, 20 passed, 0 known failure, 0 skipped [inst/confusionmat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/confusionmat.m ***** test Yt = [8 5 6 8 5 3 1 6 4 2 5 3 1 4]'; Yp = [8 5 6 8 5 2 3 4 4 5 5 7 2 6]'; C = [0 1 1 0 0 0 0 0; 0 0 0 0 1 0 0 0; 0 1 0 0 0 0 1 0; 0 0 0 1 0 1 0 0; ... 0 0 0 0 3 0 0 0; 0 0 0 1 0 1 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 2]; assert_equal (confusionmat (Yt, Yp), C) ***** test g = [1; 2; 3; 1]; gh = [1; 2; 2; 1]; [C, order] = confusionmat (g, gh); assert_equal (C, [2 0 0; 0 1 0; 0 1 0]); assert_equal (order, [1; 2; 3]); ***** test g = [true; false; true; false]; gh = [true; true; false; false]; [C, order] = confusionmat (g, gh); assert_equal (C, [1 1; 1 1]); assert_equal (order, [false; true]); ***** test g = [1.1; 2.2; 1.1]; gh = [1.1; 2.2; 2.2]; [C, order] = confusionmat (g, gh); assert_equal (C, [1 1; 0 1]); assert_equal (order, [1.1; 2.2]); ***** test g = [1; 2; NaN; 3]; gh = [1; 1; 2; 3]; [C, order] = confusionmat (g, gh); assert_equal (C, [1 0 0; 1 0 0; 0 0 1]); assert_equal (order, [1; 2; 3]); ***** error confusionmat ([], []) ***** test [C, order] = confusionmat (1, 1); assert_equal (C, 1); assert_equal (order, 1); ***** test g = {'A'; ''; 'B'}; gh = {'A'; 'B'; 'B'}; [C, order] = confusionmat (g, gh); assert_equal (C, [1 0; 0 1]); assert_equal (order, {'A'; 'B'}); ***** test g = ['AA'; 'BB'; 'AA'; 'CC']; gh = ['AA'; 'BB'; 'BB'; 'CC']; [C, order] = confusionmat (g, gh); assert_equal (C, [1 1 0; 0 1 0; 0 0 1]); assert_equal (order, ['AA'; 'BB'; 'CC']); ***** test g = char ('A', 'B', 'A'); gh = char ('A', 'A', 'B'); [C, order] = confusionmat (g, gh); assert_equal (C, [1 1; 1 0]); assert_equal (order, char ('A', 'B')); ***** test g = {'Cat'; 'Dog'; 'Cat'; 'Bird'}; gh = {'Cat'; 'Cat'; 'Bird'; 'Bird'}; [C, order] = confusionmat (g, gh); assert_equal (C, [1 0 1; 1 0 0; 0 0 1]); assert_equal (order, {'Cat'; 'Dog'; 'Bird'}); ***** test g = ['Apple'; 'Banana'; 'Apple']; gh = ['Apple'; 'Apple'; 'Cherry']; [C, order] = confusionmat (g, gh); assert_equal (C, [1 0 1; 1 0 0; 0 0 0]); assert_equal (order, ['Apple'; 'Banana'; 'Cherry']); ***** test g = string ({'A'; 'B'; 'B'}); g(2) = missing; gh = string (['A'; 'B'; 'B']); [C, order] = confusionmat (g, gh); assert_equal (C, [1 0; 0 1]); assert_equal (isequal (order, string (['A'; 'B'])), true); ***** test g = categorical ({'Small', 'Medium', 'Large'}); gh = categorical ({'Small', 'Large', 'Large'}); [C, order] = confusionmat (g, gh); assert_equal (C, [1 0 0; 1 0 0; 0 0 1]); assert_equal (cellstr (char (order)), {'Large'; 'Medium'; 'Small'}); ***** test g = categorical ({'Red', 'Blue', 'Red'}); g(2) = missing; gh = categorical ({'Red', 'Blue', 'Red'}); [C, order] = confusionmat (g, gh); assert_equal (C, [0 0; 0 2]); assert_equal (cellstr (char (order)), {'Blue'; 'Red'}); ***** test vals = {'A', 'B', 'A'}; cats = {'A', 'B', 'C'}; g = categorical (vals, cats); gh = categorical (vals, cats); [C, order] = confusionmat (g, gh); assert_equal (size (C), [3 3]); assert_equal (C(3,3), 0); assert_equal (cellstr (char (order)), {'A'; 'B'; 'C'}); ***** test g = categorical ({'A'}, {'A', 'B'}); gh = categorical ({'A'}, {'A', 'C'}); [C, order] = confusionmat (g, gh); assert_equal (size (C), [3 3]); assert_equal (cellstr (char (order)), {'A'; 'B'; 'C'}); ***** test g = [1, 2, 3]; gh = [1; 2; 3]; [C, order] = confusionmat (g, gh); assert_equal (C, eye (3)); assert_equal (order, [1; 2; 3]); ***** test g = [1; 2; 3]; gh = [1; 2; 3]; myOrder = [3; 2; 1]; [C, order] = confusionmat (g, gh, 'Order', myOrder); assert_equal (C, [1 0 0; 0 1 0; 0 0 1]); assert_equal (order, [3; 2; 1]); ***** test g = {'A'; 'B'}; gh = {'A'; 'B'}; [C, order] = confusionmat (g, gh, 'Order', {'B'; 'A'}); assert_equal (C, [1 0; 0 1]); assert_equal (order, {'B'; 'A'}); ***** test g = [1; 2; 3]; gh = [1; 2; 3]; [C, order] = confusionmat (g, gh, 'Order', [1; 2]); assert_equal (C, eye (2)); assert_equal (order, [1; 2]); ***** test g = [1; 2]; gh = [1; 2]; [C, order] = confusionmat (g, gh, 'Order', [1; 2; 4]); assert_equal (C, [1 0 0; 0 1 0; 0 0 0]); assert_equal (order, [1; 2; 4]); ***** test g = [1; 1; 1]; gh = [2; 2; 2]; [C, order] = confusionmat (g, gh); assert_equal (C, [0 3; 0 0]); assert_equal (order, [1; 2]); ***** test g = [1; 1; 1]; gh = [1; 1; 1]; [C, order] = confusionmat (g, gh); assert_equal (C, 3); assert_equal (order, 1); ***** error confusionmat ([1; 2], {'A'; 'B'}) ***** error confusionmat ('A', [1]) ***** error confusionmat ([1; 2; 3], [1; 2]) ***** error confusionmat ([1; 2], [1; 2], 'Order', {'A'; 'B'}) ***** error confusionmat ({'A'}, {'A'}, 'Order', [1]) ***** error confusionmat (eye (2), eye (2)) ***** error confusionmat ({1; 2}, {1; 2}) 31 tests, 31 passed, 0 known failure, 0 skipped [inst/bar3h.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/bar3h.m ***** demo ## Plotting 5 bars in the same series. y = [50; 40; 30; 20; 10]; bar3h (y); ***** demo ## Plotting 5 bars in different groups. y = [50, 40, 30, 20, 10]; bar3h (y); ***** demo ## A 3D bar graph with each series corresponding to a column in y. y = [1, 4, 7; 2, 5, 8; 3, 6, 9; 4, 7, 10]; bar3h (y); ***** demo ## Specify z-axis locations as tick names. z must be a column vector! z = [1950, 1960, 1970, 1980, 1990]'; y = [16, 8, 4, 2, 1]'; bar3h (z, y); ***** demo ## Plot 3 series as a grouped plot without any space between the grouped bars y = [70 50 33 10; 75 55 35 15; 80 60 40 20]; bar3h (y, 1, 'grouped'); ***** demo ## Plot a stacked style 3D bar graph y = [19, 30, 21, 30; 40, 16, 32, 12]; b = bar3h (y, 0.5, 'stacked'); ***** error bar3h ('A') ***** error bar3h ({2,3,4,5}) ***** error ... bar3h ([1,2,3]', ones (2)) ***** error ... bar3h ([1:5], 1.2) ***** error ... bar3h ([1:5]', ones (5), 1.2) ***** error ... bar3h ([1:5]', ones (5), [0.8, 0.7]) ***** error ... bar3h (ones (5), 'width') ***** error ... bar3h (ones (5), 'width', 1.2) ***** error ... bar3h (ones (5), 'width', [0.8, 0.8, 0.8]) ***** error ... bar3h (ones (5), 'color') ***** error ... bar3h (ones (5), 'color', [0.8, 0.8]) ***** error ... bar3h (ones (5), 'color', 'brown') ***** error ... bar3h (ones (5), 'color', {'r', 'k', 'c', 'm', 'brown'}) ***** error ... bar3h (ones (5), 'xlabel') ***** error ... bar3h (ones (5), 'xlabel', 4) ***** error ... bar3h (ones (5), 'zlabel') ***** error ... bar3h (ones (5), 'zlabel', 4) ***** error bar3h (ones (5), 'this', 4) ***** error ... bar3h (ones (5), 'xlabel', {'A', 'B', 'C'}) ***** error ... bar3h (ones (5), 'zlabel', {'A', 'B', 'C'}) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/gscatter.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/gscatter.m ***** demo load fisheriris; X = meas(:,3:4); cidcs = kmeans (X, 3, 'Replicates', 5); gscatter (X(:,1), X(:,2), cidcs, [.75 .75 0; 0 .75 .75; .75 0 .75], 'os^'); title ('Fisher''s iris data'); ***** shared visibility_setting visibility_setting = get (0, 'DefaultFigureVisible'); ***** test hf = figure ('visible', 'off'); unwind_protect load fisheriris; X = meas(:,3:4); cidcs = kmeans (X, 3, 'Replicates', 5); gscatter (X(:,1), X(:,2), cidcs, [.75 .75 0; 0 .75 .75; .75 0 .75], 'os^'); title ('Fisher''s iris data'); unwind_protect_cleanup close (hf); end_unwind_protect warning: legend: 'best' not yet implemented for location specifier, using 'northeast' instead ***** error gscatter (); ***** error gscatter ([1]); ***** error gscatter ([1], [2]); ***** error gscatter ('abc', [1 2 3], [1]); ***** error gscatter ([1 2 3], [1 2], [1]); ***** error gscatter ([1 2 3], 'abc', [1]); ***** error gscatter ([1 2], [1 2], [1]); ***** error gscatter ([1 2], [1 2], [1 2], 'rb', 'so', 12, 'xxx'); 9 tests, 9 passed, 0 known failure, 0 skipped [inst/geomean.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/geomean.m ***** test x = [0:10]; y = [x;x+5;x+10]; assert_equal (geomean (x), 0); m = [0 9.462942809849169 14.65658770861967]; assert_equal (geomean (y, 2), m', 4e-14); assert_equal (geomean (y, 'all'), 0); y(2,4) = NaN; m(2) = 9.623207231679554; assert_equal (geomean (y, 2), [0 NaN m(3)]', 4e-14); assert_equal (geomean (y', 'omitnan'), m, 4e-14); z = y + 20; assert_equal (geomean (z, 'all'), NaN); assert_equal (geomean (z, 'all', 'includenan'), NaN); assert_equal (geomean (z, 'all', 'omitnan'), 29.59298474535024, 4e-14); m = [24.79790781765634 NaN 34.85638839503932]; assert_equal (geomean (z'), m, 4e-14); assert_equal (geomean (z', 'includenan'), m, 4e-14); m(2) = 30.02181156156319; assert_equal (geomean (z', 'omitnan'), m, 4e-14); assert_equal (geomean (z, 2, 'omitnan'), m', 4e-14); ***** test x = repmat ([1:20;6:25], [5 2 6 3]); assert_equal (size (geomean (x, [3 2])), [10 1 1 3]); assert_equal (size (geomean (x, [1 2])), [1 1 6 3]); assert_equal (size (geomean (x, [1 2 4])), [1 1 6]); assert_equal (size (geomean (x, [1 4 3])), [1 40]); assert_equal (size (geomean (x, [1 2 3 4])), [1 1]); ***** test x = repmat ([1:20;6:25], [5 2 6 3]); m = repmat ([8.304361203739333;14.3078118884256], [5 1 1 3]); assert_equal (geomean (x, [3 2]), m, 4e-13); x(2,5,6,3) = NaN; m(2,3) = NaN; assert_equal (geomean (x, [3 2]), m, 4e-13); m(2,3) = 14.3292729579901; assert_equal (geomean (x, [3 2], 'omitnan'), m, 4e-13); ***** error geomean ('char') ***** error geomean ([1 -1 3]) ***** error ... geomean (repmat ([1:20;6:25], [5 2 6 3 5]), -1) ***** error ... geomean (repmat ([1:20;6:25], [5 2 6 3 5]), 0) ***** error ... geomean (repmat ([1:20;6:25], [5 2 6 3 5]), [1 1]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/einstein.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/einstein.m ***** demo einstein (0.4, 0.6) ***** demo einstein (0.2, 0.5) ***** demo einstein (0.6, 0.1) ***** test hf = figure ('visible', 'off'); unwind_protect tiles = einstein (0.4, 0.6); assert_equal (isstruct (tiles), true); unwind_protect_cleanup close (hf); end_unwind_protect ***** error einstein ***** error einstein (0.5) ***** error einstein (0, 0.9) ***** error einstein (0.4, 1) ***** error einstein (-0.4, 1) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/knnsearch.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/knnsearch.m ***** demo ## find 10 nearest neighbour of a point using different distance metrics ## and compare the results by plotting load fisheriris X = meas(:,3:4); Y = species; point = [5, 1.45]; ## calculate 10 nearest-neighbours by minkowski distance [id, d] = knnsearch (X, point, 'K', 10); ## calculate 10 nearest-neighbours by minkowski distance [idm, dm] = knnsearch (X, point, 'K', 10, 'distance', 'minkowski', 'p', 5); ## calculate 10 nearest-neighbours by chebychev distance [idc, dc] = knnsearch (X, point, 'K', 10, 'distance', 'chebychev'); ## plotting the results gscatter (X(:,1), X(:,2), species, [.75 .75 0; 0 .75 .75; .75 0 .75], '.', 20); title ('Fisher''s Iris Data - Nearest Neighbors with different types of distance metrics'); xlabel ('Petal length (cm)'); ylabel ('Petal width (cm)'); line (point(1), point(2), 'marker', 'X', 'color', 'k', ... 'linewidth', 2, 'displayname', 'query point') line (X(id,1), X(id,2), 'color', [0.5 0.5 0.5], 'marker', 'o', ... 'linestyle', 'none', 'markersize', 10, 'displayname', 'euclidean') line (X(idm,1), X(idm,2), 'color', [0.5 0.5 0.5], 'marker', 'd', ... 'linestyle', 'none', 'markersize', 10, 'displayname', 'Minkowski') line (X(idc,1), X(idc,2), 'color', [0.5 0.5 0.5], 'marker', 'p', ... 'linestyle', 'none', 'markersize', 10, 'displayname', 'chebychev') xlim ([4.5 5.5]); ylim ([1 2]); axis square; ***** demo ## knnsearch on iris dataset using kdtree method load fisheriris X = meas(:,3:4); gscatter (X(:,1), X(:,2), species, [.75 .75 0; 0 .75 .75; .75 0 .75], '.', 20); title ('Fisher''s iris dataset : Nearest Neighbors with kdtree search'); ## new point to be predicted point = [5 1.45]; line (point(1), point(2), 'marker', 'X', 'color', 'k', ... 'linewidth', 2, 'displayname', 'query point') ## knnsearch using kdtree method [idx, d] = knnsearch (X, point, 'K', 10, 'NSMethod', 'kdtree'); ## plotting predicted neighbours line (X(idx,1), X(idx,2), 'color', [0.5 0.5 0.5], 'marker', 'o', ... 'linestyle', 'none', 'markersize', 10, ... 'displayname', 'nearest neighbour') xlim ([4 6]) ylim ([1 3]) axis square ## details of predicted labels tabulate (species(idx)) ctr = point - d(end); diameter = 2 * d(end); ## Draw a circle around the 10 nearest neighbors. h = rectangle ('position', [ctr, diameter, diameter], 'curvature', [1 1]); ## here only 8 neighbours are plotted instead of 10 since the dataset ## contains duplicate values ***** shared X, Y X = [1, 2, 3, 4; 2, 3, 4, 5; 3, 4, 5, 6]; Y = [1, 2, 2, 3; 2, 3, 3, 4]; ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'euclidean'); assert_equal (idx, [1; 1]); assert_equal (D, ones (2, 1) * sqrt (2)); ***** test eucldist = @(v,m) sqrt (sumsq (repmat (v,rows (m),1)-m,2)); [idx, D] = knnsearch (X, Y, 'Distance', eucldist); assert_equal (idx, [1; 1]); assert_equal (D, ones (2, 1) * sqrt (2)); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'euclidean', 'includeties', true); assert_equal (iscell (idx), true); assert_equal (iscell (D), true) assert_equal (idx {1}, [1]); assert_equal (idx {2}', [1, 2]); assert_equal (D{1}, ones (1, 1) * sqrt (2)); assert_equal (D{2}', ones (1, 2) * sqrt (2)); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'euclidean', 'k', 2); assert_equal (idx, [1, 2; 1, 2]); assert_equal (D, [sqrt(2), 3.162277660168380; sqrt(2), sqrt(2)], 1e-14); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'seuclidean'); assert_equal (idx, [1; 1]); assert_equal (D, ones (2, 1) * sqrt (2)); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'seuclidean', 'k', 2); assert_equal (idx, [1, 2; 1, 2]); assert_equal (D, [sqrt(2), 3.162277660168380; sqrt(2), sqrt(2)], 1e-14); ***** test xx = [1, 2; 1, 3; 2, 4; 3, 6]; yy = [2, 4; 2, 6]; [idx, D] = knnsearch (xx, yy, 'Distance', 'mahalanobis'); assert_equal (idx, [3; 2]); assert_equal (D, [0; 3.162277660168377], 1e-14); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'minkowski'); assert_equal (idx, [1; 1]); assert_equal (D, ones (2, 1) * sqrt (2)); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'minkowski', 'p', 3); assert_equal (idx, [1; 1]); assert_equal (D, ones (2, 1) * 1.259921049894873, 1e-14); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'cityblock'); assert_equal (idx, [1; 1]); assert_equal (D, [2; 2]); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'chebychev'); assert_equal (idx, [1; 1]); assert_equal (D, [1; 1]); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'cosine'); assert_equal (idx, [2; 3]); assert_equal (D, [0.005674536395645; 0.002911214328620], 1e-14); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'correlation'); assert_equal (idx, [1; 1]); assert_equal (D, ones (2, 1) * 0.051316701949486, 1e-14); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'spearman'); assert_equal (idx, [1; 1]); assert_equal (D, ones (2, 1) * 0.051316701949486, 1e-14); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'hamming'); assert_equal (idx, [1; 1]); assert_equal (D, [0.5; 0.5]); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'jaccard'); assert_equal (idx, [1; 1]); assert_equal (D, [0.5; 0.5]); ***** test [idx, D] = knnsearch (X, Y, 'Distance', 'jaccard', 'k', 2); assert_equal (idx, [1, 2; 1, 2]); assert_equal (D, [0.5, 1; 0.5, 0.5]); ***** test a = [1, 5; 1, 2; 2, 2; 1.5, 1.5; 5, 1; 2 -1.34; 1, -3; 4, -4; -3, 1; 8, 9]; b = [1, 1]; [idx, D] = knnsearch (a, b, 'K', 5, 'NSMethod', 'kdtree', 'includeties', true); assert_equal (iscell (idx), true); assert_equal (iscell (D), true) assert_equal (cell2mat (idx)', [4, 2, 3, 6, 1, 5, 7, 9]); assert_equal (cell2mat (D)', [0.7071, 1.0000, 1.4142, 2.5447, 4.0000, 4.0000, 4.0000, 4.0000], 1e-4); ***** test a = [1, 5; 1, 2; 2, 2; 1.5, 1.5; 5, 1; 2 -1.34; 1, -3; 4, -4; -3, 1; 8, 9]; b = [1, 1]; [idx, D] = knnsearch (a, b, 'K', 5, 'NSMethod', 'exhaustive', 'includeties', true); assert_equal (iscell (idx), true); assert_equal (iscell (D), true) assert_equal (cell2mat (idx), [4, 2, 3, 6, 1, 5, 7, 9]); assert_equal (cell2mat (D), [0.7071, 1.0000, 1.4142, 2.5447, 4.0000, 4.0000, 4.0000, 4.0000], 1e-4); ***** test a = [1, 5; 1, 2; 2, 2; 1.5, 1.5; 5, 1; 2 -1.34; 1, -3; 4, -4; -3, 1; 8, 9]; b = [1, 1]; [idx, D] = knnsearch (a, b, 'K', 5, 'NSMethod', 'kdtree', 'includeties', false); assert_equal (iscell (idx), false); assert_equal (iscell (D), false) assert_equal (idx, [4, 2, 3, 6, 1]); assert_equal (D, [0.7071, 1.0000, 1.4142, 2.5447, 4.0000], 1e-4); ***** test a = [1, 5; 1, 2; 2, 2; 1.5, 1.5; 5, 1; 2 -1.34; 1, -3; 4, -4; -3, 1; 8, 9]; b = [1, 1]; [idx, D] = knnsearch (a, b, 'K', 5, 'NSMethod', 'exhaustive', 'includeties', false); assert_equal (iscell (idx), false); assert_equal (iscell (D), false) assert_equal (idx, [4, 2, 3, 6, 1]); assert_equal (D, [0.7071, 1.0000, 1.4142, 2.5447, 4.0000], 1e-4); ***** test load fisheriris a = meas; b = min (meas); [idx, D] = knnsearch (a, b, 'K', 5, 'NSMethod', 'kdtree'); assert_equal (idx, [42, 9, 14, 39, 13]); assert_equal (D, [0.5099, 0.9950, 1.0050, 1.0536, 1.1874], 1e-4); ***** test load fisheriris a = meas; b = mean (meas); [idx, D] = knnsearch (a, b, 'K', 5, 'NSMethod', 'kdtree'); assert_equal (idx, [65, 83, 89, 72, 100]); assert_equal (D, [0.3451, 0.3869, 0.4354, 0.4481, 0.4625], 1e-4); ***** test load fisheriris a = meas; b = max (meas); [idx, D] = knnsearch (a, b, 'K', 5, 'NSMethod', 'kdtree'); assert_equal (idx, [118, 132, 110, 106, 136]); assert_equal (D, [0.7280, 0.9274, 1.3304, 1.5166, 1.6371], 1e-4); ***** test load fisheriris a = meas; b = max (meas); [idx, D] = knnsearch (a, b, 'K', 5, 'includeties', true); assert_equal (iscell (idx), true); assert_equal (iscell (D), true); assert_equal (cell2mat (idx)', [118, 132, 110, 106, 136]); assert_equal (cell2mat (D)', [0.7280, 0.9274, 1.3304, 1.5166, 1.6371], 1e-4); ***** error knnsearch (1) ***** error ... knnsearch (ones (4, 5), ones (4)) ***** error ... knnsearch (ones (4, 2), ones (3, 2), 'Distance', 'euclidean', 'some', 'some') ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'scale', ones (1, 5), 'P', 3) ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'K', 0) ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'P', -2) ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'scale', ones (4,5), 'distance', 'euclidean') ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'cov', ['some' 'some']) ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'cov', ones (4,5), 'distance', 'euclidean') ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'bucketsize', -1) ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'bucketsize', 2.5) ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'NSmethod', 'kdtree', 'distance', 'cosine') ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'NSmethod', 'kdtree', 'distance', 'mahalanobis') ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'NSmethod', 'kdtree', 'distance', 'correlation') ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'NSmethod', 'kdtree', 'distance', 'seuclidean') ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'NSmethod', 'kdtree', 'distance', 'spearman') ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'NSmethod', 'kdtree', 'distance', 'hamming') ***** error ... knnsearch (ones (4, 5), ones (1, 5), 'NSmethod', 'kdtree', 'distance', 'jaccard') 43 tests, 43 passed, 0 known failure, 0 skipped [inst/hist3.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/hist3.m ***** demo X = [ 1 1 1 1 1 10 1 10 5 5 5 5 5 5 5 5 5 5 7 3 7 3 7 3 10 10 10 10]; hist3 (X) ***** test N_exp = [ 0 0 0 5 20 0 0 10 15 0 0 15 10 0 0 20 5 0 0 0]; n = 100; x = [1:n]'; y = [n:-1:1]'; D = [x y]; N = hist3 (D, [4 5]); assert_equal (N, N_exp); ***** test N_exp = [0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 93]; n = 100; x = [1:n]'; y = [n:-1:1]'; D = [x y]; C{1} = [1 1.7 3 4]; C{2} = [1:5]; N = hist3 (D, C); assert_equal (N, N_exp); ***** test D = [1 1; 3 1; 3 3; 3 1]; [c, nn] = hist3 (D, {0:4, 0:4}); exp_c = zeros (5); exp_c([7 9 19]) = [1 2 1]; assert_equal (c, exp_c); assert_equal (nn, {0:4, 0:4}); ***** test for i = 10 assert_equal (size (hist3 (rand (9, 2), 'Edges', {[0:.2:1]; [0:.2:1]})), [6 6]) endfor ***** test edge_1 = linspace (0, 10, 10); edge_2 = linspace (0, 50, 10); [c, nn] = hist3 ([1:10; 1:5:50]', 'Edges', {edge_1, edge_2}); exp_c = zeros (10, 10); exp_c([1 12 13 24 35 46 57 68 79 90]) = 1; assert_equal (c, exp_c); assert_equal (nn{1}, edge_1 + edge_1(2)/2, eps*10^4) assert_equal (nn{2}, edge_2 + edge_2(2)/2, eps*10^4) ***** shared X X = [ 5 2 5 3 1 4 5 3 4 4 1 2 2 3 3 3 5 4 5 3]; ***** test N = zeros (10); N([1 10 53 56 60 91 98 100]) = [1 1 1 1 3 1 1 1]; C = {(1.2:0.4:4.8), (2.1:0.2:3.9)}; assert_equal (nthargout ([1 2], @hist3, X), {N C}, eps*10^3) ***** test N = zeros (5, 7); N([1 5 17 18 20 31 34 35]) = [1 1 1 1 3 1 1 1]; C = {(1.4:0.8:4.6), ((2+(1/7)):(2/7):(4-(1/7)))}; assert_equal (nthargout ([1 2], @hist3, X, [5 7]), {N C}, eps*10^3) assert_equal (nthargout ([1 2], @hist3, X, 'Nbins', [5 7]), {N C}, eps*10^3) ***** test N = [0 1 0; 0 1 0; 0 0 1; 0 0 0]; C = {(2:5), (2.5:1:4.5)}; assert_equal (nthargout ([1 2], @hist3, X, 'Edges', {(1.5:4.5), (2:4)}), {N C}) ***** test N = [0 0 1 0 1 0; 0 0 0 1 0 0; 0 0 1 4 2 0]; C = {(1.2:3.2), (0:5)}; assert_equal (nthargout ([1 2], @hist3, X, 'Ctrs', C), {N C}) assert_equal (nthargout ([1 2], @hist3, X, C), {N C}) ***** test [~, C] = hist3 (rand (10, 2), 'Edges', {[0 .05 .15 .35 .55 .95], [-1 .05 .07 .2 .3 .5 .89 1.2]}); C_exp = {[ 0.025 0.1 0.25 0.45 0.75 1.15], ... [-0.475 0.06 0.135 0.25 0.4 0.695 1.045 1.355]}; assert_equal (C, C_exp, eps*10^2) ***** test Xv = repmat ([1:10]', [1 2]); ## Test Centers assert_equal (hist3 (Xv, 'Ctrs', {1:10, 1:10}), eye (10)) N_exp = eye (6); N_exp([1 end]) = 3; assert_equal (hist3 (Xv, 'Ctrs', {3:8, 3:8}), N_exp) N_exp = zeros (8, 6); N_exp([1 2 11 20 29 38 47 48]) = [2 1 1 1 1 1 1 2]; assert_equal (hist3 (Xv, 'Ctrs', {2:9, 3:8}), N_exp) ## Test Edges assert_equal (hist3 (Xv, 'Edges', {1:10, 1:10}), eye (10)) assert_equal (hist3 (Xv, 'Edges', {3:8, 3:8}), eye (6)) assert_equal (hist3 (Xv, 'Edges', {2:9, 3:8}), [zeros(1, 6); eye(6); zeros(1, 6)]) N_exp = zeros (14); N_exp(3:12, 3:12) = eye (10); assert_equal (hist3 (Xv, 'Edges', {-1:12, -1:12}), N_exp) ## Test for Nbins assert_equal (hist3 (Xv), eye (10)) assert_equal (hist3 (Xv, [10 10]), eye (10)) assert_equal (hist3 (Xv, 'nbins', [10 10]), eye (10)) assert_equal (hist3 (Xv, [5 5]), eye (5) * 2) N_exp = zeros (7, 5); N_exp([1 9 10 18 26 27 35]) = [2 1 1 2 1 1 2]; assert_equal (hist3 (Xv, [7 5]), N_exp) ***** test # bug #51059 D = [1 1; NaN 2; 3 1; 3 3; 1 NaN; 3 1]; [c, nn] = hist3 (D, {0:4, 0:4}); exp_c = zeros (5); exp_c([7 9 19]) = [1 2 1]; assert_equal (c, exp_c) assert_equal (nn, {0:4, 0:4}) ***** test [c, nn] = hist3 ([1 8]); exp_c = zeros (10, 10); exp_c(6, 6) = 1; exp_nn = {-4:5, 3:12}; assert_equal (c, exp_c) assert_equal (nn, exp_nn, eps) [c, nn] = hist3 ([1 8], [10 11]); exp_c = zeros (10, 11); exp_c(6, 6) = 1; exp_nn = {-4:5, 3:13}; assert_equal (c, exp_c) assert_equal (nn, exp_nn, eps) ***** test [c, nn] = hist3 ([1 NaN; 2 3; 6 9; 8 NaN]); exp_c = zeros (10, 10); exp_c(2, 1) = 1; exp_c(8, 10) = 1; exp_nn = {linspace(1.35, 7.65, 10) linspace(3.3, 8.7, 10)}; assert_equal (c, exp_c) assert_equal (nn, exp_nn, eps*100) ***** test [c, nn] = hist3 ([1 NaN; 2 NaN; 6 NaN; 8 NaN]); exp_c = zeros (10, 10); exp_nn = {linspace(1.35, 7.65, 10) NaN(1, 10)}; assert_equal (c, exp_c) assert_equal (nn, exp_nn, eps*100) ***** test [c, nn] = hist3 ([1 NaN; NaN 3; NaN 9; 8 NaN]); exp_c = zeros (10, 10); exp_nn = {linspace(1.35, 7.65, 10) linspace(3.3, 8.7, 10)}; assert_equal (c, exp_c) assert_equal (nn, exp_nn, eps*100) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/fitlm.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/fitlm.m ***** demo y = [ 8.706 10.362 11.552 6.941 10.983 10.092 6.421 14.943 15.931 ... 22.968 18.590 16.567 15.944 21.637 14.492 17.965 18.851 22.891 ... 22.028 16.884 17.252 18.325 25.435 19.141 21.238 22.196 18.038 ... 22.628 31.163 26.053 24.419 32.145 28.966 30.207 29.142 33.212 ... 25.694 ]'; X = [1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5]'; mdl = fitlm (X, y, 'linear', 'CategoricalVars', 1) ***** demo popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; brands = {'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'}; popper = {'oil', 'oil', 'oil'; 'oil', 'oil', 'oil'; 'oil', 'oil', 'oil'; ... 'air', 'air', 'air'; 'air', 'air', 'air'; 'air', 'air', 'air'}; T = table (brands(:), popper(:), 'VariableNames', {'brands', 'popper'}); mdl = fitlm (T, popcorn(:), 'interactions') ***** test y = [ 8.706 10.362 11.552 6.941 10.983 10.092 6.421 14.943 15.931 ... 22.968 18.590 16.567 15.944 21.637 14.492 17.965 18.851 22.891 ... 22.028 16.884 17.252 18.325 25.435 19.141 21.238 22.196 18.038 ... 22.628 31.163 26.053 24.419 32.145 28.966 30.207 29.142 33.212 ... 25.694 ]'; X = [1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5]'; fitlm (X, y, 'CategoricalVars', 1); fitlm (X, y, 'constant', 'CategoricalVars', 1); fitlm (X, y, 'linear', 'CategoricalVars', 1); mdl = fitlm (X, y, 'linear', 'CategoricalVars', 1); assert_equal (mdl.Coefficients.Estimate(1), 10, 1e-04); assert_equal (mdl.Coefficients.Estimate(2), 7.99999999999999, 1e-09); assert_equal (mdl.Coefficients.Estimate(3), 8.99999999999999, 1e-09); assert_equal (mdl.Coefficients.Estimate(4), 11.0001428571429, 1e-09); assert_equal (mdl.Coefficients.Estimate(5), 19.0001111111111, 1e-09); assert_equal (mdl.Coefficients.SE(1), 1.01775379540949, 1e-09); assert_equal (mdl.Coefficients.SE(2), 1.64107868458008, 1e-09); assert_equal (mdl.Coefficients.SE(3), 1.43932122062479, 1e-09); assert_equal (mdl.Coefficients.SE(4), 1.48983900477565, 1e-09); assert_equal (mdl.Coefficients.SE(5), 1.3987687997822, 1e-09); assert_equal (mdl.Coefficients.tStat(1), 9.82555903510687, 1e-09); assert_equal (mdl.Coefficients.tStat(2), 4.87484242844031, 1e-09); assert_equal (mdl.Coefficients.tStat(3), 6.25294748040552, 1e-09); assert_equal (mdl.Coefficients.tStat(4), 7.38344399756088, 1e-09); assert_equal (mdl.Coefficients.tStat(5), 13.5834536158296, 1e-09); assert_equal (mdl.Coefficients.pValue(2), 2.85812420217862e-05, 1e-12); assert_equal (mdl.Coefficients.pValue(3), 5.22936741204002e-07, 1e-06); assert_equal (mdl.Coefficients.pValue(4), 2.12794763209106e-08, 1e-07); assert_equal (mdl.Coefficients.pValue(5), 7.82091664406755e-15, 1e-08); ***** test popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; brands = bsxfun (@times, ones (6, 1), [1, 2, 3]); popper = bsxfun (@times, [1; 1; 1; 2; 2; 2], ones (1, 3)); X = [brands(:), popper(:)]; mdl = fitlm (X, popcorn(:), 'interactions', 'CategoricalVars', [1, 2]); assert_equal (mdl.Coefficients.Estimate(1), 5.66666666666667, 1e-09); assert_equal (mdl.Coefficients.Estimate(2), -1.33333333333333, 1e-09); assert_equal (mdl.Coefficients.Estimate(3), -2.16666666666667, 1e-09); assert_equal (mdl.Coefficients.Estimate(4), 1.16666666666667, 1e-09); assert_equal (mdl.Coefficients.Estimate(6), -0.333333333333334, 1e-09); assert_equal (mdl.Coefficients.Estimate(7), -0.166666666666667, 1e-09); assert_equal (mdl.Coefficients.SE(1), 0.215165741455965, 1e-09); assert_equal (mdl.Coefficients.SE(2), 0.304290309725089, 1e-09); assert_equal (mdl.Coefficients.SE(3), 0.304290309725089, 1e-09); assert_equal (mdl.Coefficients.SE(4), 0.304290309725089, 1e-09); assert_equal (mdl.Coefficients.SE(6), 0.43033148291193, 1e-09); assert_equal (mdl.Coefficients.SE(7), 0.43033148291193, 1e-09); assert_equal (mdl.Coefficients.tStat(1), 26.3362867542108, 1e-09); assert_equal (mdl.Coefficients.tStat(2), -4.38178046004138, 1e-09); assert_equal (mdl.Coefficients.tStat(3), -7.12039324756724, 1e-09); assert_equal (mdl.Coefficients.tStat(4), 3.83405790253621, 1e-09); assert_equal (mdl.Coefficients.tStat(6), -0.774596669241495, 1e-09); assert_equal (mdl.Coefficients.tStat(7), -0.387298334620748, 1e-09); assert_equal (mdl.Coefficients.pValue(1), 5.49841502258254e-12, 1e-09); assert_equal (mdl.Coefficients.pValue(2), 0.000893505495903642, 1e-09); assert_equal (mdl.Coefficients.pValue(3), 1.21291454302428e-05, 1e-09); assert_equal (mdl.Coefficients.pValue(4), 0.00237798044119407, 1e-09); assert_equal (mdl.Coefficients.pValue(6), 0.453570536021938, 1e-09); assert_equal (mdl.Coefficients.pValue(7), 0.705316781644046, 1e-09); brands = {'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'}; popper = {'oil', 'oil', 'oil'; 'oil', 'oil', 'oil'; 'oil', 'oil', 'oil'; ... 'air', 'air', 'air'; 'air', 'air', 'air'; 'air', 'air', 'air'}; T = table (brands(:), popper(:), 'VariableNames', {'brands', 'popper'}); mdl = fitlm (T, popcorn(:), 'interactions'); ***** test load carsmall X = [Weight, Horsepower, Acceleration]; fitlm (X, MPG, 'constant'); mdl = fitlm (X, MPG, 'linear'); assert_equal (mdl.Coefficients.Estimate(1), 47.9767628118615, 1e-09); assert_equal (mdl.Coefficients.Estimate(2), -0.00654155878851796, 1e-09); assert_equal (mdl.Coefficients.Estimate(3), -0.0429433065881864, 1e-09); assert_equal (mdl.Coefficients.Estimate(4), -0.0115826516894871, 1e-09); assert_equal (mdl.Coefficients.SE(1), 3.87851641748551, 1e-09); assert_equal (mdl.Coefficients.SE(2), 0.00112741016370336, 1e-09); assert_equal (mdl.Coefficients.SE(3), 0.0243130608813806, 1e-09); assert_equal (mdl.Coefficients.SE(4), 0.193325043113178, 1e-09); assert_equal (mdl.Coefficients.tStat(1), 12.369874881944, 1e-09); assert_equal (mdl.Coefficients.tStat(2), -5.80228828790225, 1e-09); assert_equal (mdl.Coefficients.tStat(3), -1.76626492228599, 1e-09); assert_equal (mdl.Coefficients.tStat(4), -0.0599128364487485, 1e-09); assert_equal (mdl.Coefficients.pValue(1), 4.89570341688996e-21, 1e-09); assert_equal (mdl.Coefficients.pValue(2), 9.87424814144e-08, 1e-09); assert_equal (mdl.Coefficients.pValue(3), 0.0807803098213114, 1e-09); assert_equal (mdl.Coefficients.pValue(4), 0.952359384151778, 1e-09); ***** shared X, y, yl, T1, T2, T3, C X = [1 2; 3 4; 5 6]; y = [2; 4; 5]; yl = logical ([1; 0; 1]); T1 = table ([1;2;3], [4;5;6], 'VariableNames', {'x1','x2'}); T2 = table ([1;2;3], [4;5;6], 'VariableNames', {'x1','y'}); T3 = table ([1;2;3], [4;5;6], [2;4;5], 'VariableNames', {'x1','x2','y'}); C = categorical ({'a';'b';'a'}); ***** test assert_equal (class (fitlm (X, y)), 'LinearModel'); ***** test assert_equal (class (fitlm (X, yl)), 'LinearModel'); ***** test assert_equal (class (fitlm (X, y, 'linear')), 'LinearModel'); ***** test assert_equal (class (fitlm (X, y, [1 0; 0 1])), 'LinearModel'); ***** test assert_equal (class (fitlm (X, y, 'Intercept', false)), 'LinearModel'); ***** test assert_equal (class (fitlm (X, y, 'linear', 'Weights', [1;2;1])), 'LinearModel'); ***** test mdl = fitlm (C, y); assert_equal (class (mdl), 'LinearModel'); assert_equal (mdl.VariableNames, {'x1', 'y'}); ***** test mdl = fitlm (C, y, 'VarNames', {'grp', 'score'}); assert_equal (mdl.VariableNames, {'grp', 'score'}); ***** test assert_equal (class (fitlm (C, y, 'Intercept', false)), 'LinearModel'); ***** test assert_equal (class (fitlm (T2)), 'LinearModel'); ***** test assert_equal (class (fitlm (T3)), 'LinearModel'); ***** test assert_equal (class (fitlm (T3, 'Exclude', [2])), 'LinearModel'); ***** test assert_equal (class (fitlm (T2, 'y')), 'LinearModel'); ***** test assert_equal (class (fitlm (T3, 'x1')), 'LinearModel'); ***** test assert_equal (class (fitlm (T3, 'y ~ x1 + x2')), 'LinearModel'); ***** test assert_equal (class (fitlm (T1, 'linear')), 'LinearModel'); ***** test assert_equal (class (fitlm (T1, [2;4;5])), 'LinearModel'); ***** test assert_equal (class (fitlm (T2, [0 0; 1 0])), 'LinearModel'); ***** test assert_equal (class (fitlm (T2, 'y', 'linear', 'Intercept', false)), 'LinearModel'); ***** error fitlm () ***** error ... fitlm ('hello', y) ***** error ... fitlm (struct ('a', 1), [1;2]) ***** error ... fitlm (categorical ([1 2; 3 4]), y) ***** error ... fitlm (C) ***** error ... fitlm (C, 'Intercept', false) ***** error ... fitlm (C, [1;2]) ***** error fitlm (C, {'a';'b';'a'}) ***** error fitlm (X) ***** error ... fitlm (X, 'Weights', [1;1;1]) ***** error ... fitlm (X, []) ***** error ... fitlm (X, [1;2]) ***** error fitlm (X, ones (3, 2)) ***** error fitlm (X, {'1';'2';'3'}) ***** error ... fitlm (T1, []) ***** error ... fitlm (T1, ones (1, 2)) ***** error ... fitlm (T1, ones (4, 1)) ***** error ... fitlm (T1, ones (2, 3)) ***** error fitlm (T1, {1, 2}) ***** error fitlm (T2, 'y ~ x1', 'linear') ***** error fitlm (T1, 'linear', 'Weights') ***** error fitlm (T2, [0 0; 1 0], 'Weights') 44 tests, 44 passed, 0 known failure, 0 skipped [inst/manova1.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/manova1.m ***** demo load carbig [d,p] = manova1 ([MPG, Acceleration, Weight, Displacement], Origin) ***** test load carbig [d,p] = manova1 ([MPG, Acceleration, Weight, Displacement], Origin); assert_equal (d, 3); assert_equal (p, [0, 3.140583347827075e-07, 0.007510999577743149, ... 0.1934100745898493]', [1e-12, 1e-12, 1e-12, 1e-12]'); ***** test load carbig [d,p] = manova1 ([MPG, Acceleration, Weight], Origin); assert_equal (d, 2); assert_equal (p, [0, 0.00516082975137544, 0.1206528056514453]', ... [1e-12, 1e-12, 1e-12]'); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/Regression/RegressionGAM.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Regression/RegressionGAM.m ***** demo ## Train a RegressionGAM Model for synthetic values f1 = @(x) cos (3 * x); f2 = @(x) x .^ 3; x1 = 2 * rand (50, 1) - 1; x2 = 2 * rand (50, 1) - 1; y = f1(x1) + f2(x2); y = y + y .* 0.2 .* rand (50,1); X = [x1, x2]; a = fitrgam (X, y, 'tol', 1e-3) ***** demo ## Declare two different functions f1 = @(x) cos (3 * x); f2 = @(x) x .^ 3; ## Generate 80 samples for f1 and f2 x = [-4*pi:0.1*pi:4*pi-0.1*pi]'; X1 = f1(x); X2 = f2(x); ## Create a synthetic response by adding noise rand ('seed', 3); Ytrue = X1 + X2; Y = Ytrue + Ytrue .* 0.2 .* rand (80,1); ## Assemble predictor data X = [X1, X2]; ## Train the GAM and test on the same data a = fitrgam (X, Y, 'order', [5, 5]); [ypred, ySDsd, yInt] = predict (a, X); ## Plot the results figure [sortedY, indY] = sort (Ytrue); plot (sortedY, 'r-'); xlim ([0, 80]); hold on plot (ypred(indY), 'g+') plot (yInt(indY,1), 'k:') plot (yInt(indY,2), 'k:') xlabel ('Predictor samples'); ylabel ('Response'); title ('actual vs predicted values for function f1(x) = cos (3x) '); legend ({'Theoretical Response', 'Predicted Response', 'Prediction Intervals'}); ## Use 30% Holdout partitioning for training and testing data C = cvpartition (80, 'HoldOut', 0.3); [ypred, ySDsd, yInt] = predict (a, X(test (C),:)); ## Plot the results figure [sortedY, indY] = sort (Ytrue(test (C))); plot (sortedY, 'r-'); xlim ([0, sum(test(C))]); hold on plot (ypred(indY), 'g+') plot (yInt(indY,1),'k:') plot (yInt(indY,2),'k:') xlabel ('Predictor samples'); ylabel ('Response'); title ('actual vs predicted values for function f1(x) = cos (3x) '); legend ({'Theoretical Response', 'Predicted Response', 'Prediction Intervals'}); ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = [1; 2; 3; 4]; a = RegressionGAM (x, y); assert_equal ({a.X, a.Y}, {x, y}) assert_equal ({a.BaseModel.Intercept}, {2.5000}) assert_equal ({a.Knots, a.Order, a.DoF}, {[5, 5, 5], [3, 3, 3], [8, 8, 8]}) assert_equal ({a.NumObservations, a.NumPredictors}, {4, 3}) assert_equal ({a.ResponseName, a.PredictorNames}, {'Y', {'x1', 'x2', 'x3'}}) assert_equal ({a.Formula}, {[]}) ***** test x = [1, 2, 3, 4; 4, 5, 6, 7; 7, 8, 9, 1; 3, 2, 1, 2]; y = [1; 2; 3; 4]; pnames = {'A', 'B', 'C', 'D'}; formula = 'Y ~ A + B + C + D + A:C'; intMat = logical ([1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,1,0]); a = RegressionGAM (x, y, 'predictors', pnames, 'formula', formula); assert_equal (a.IntMatrix, double (intMat)) assert_equal ({a.ResponseName, a.PredictorNames}, {'Y', pnames}) assert_equal (a.Formula, formula) ***** test ## Test that predict() executes correctly when interactions are present X = [1, 2; 3, 4; 5, 6; 7, 8]; Y = [10; 20; 30; 40]; mdl = RegressionGAM (X, Y, 'formula', 'Y ~ x1 + x2 + x1:x2'); ypred = predict (mdl, X); assert_equal (isnumeric (ypred), true); assert_equal (size (ypred), [4, 1]); [ypred2, ySD, yInt] = predict (mdl, X, 'includeinteractions', true); assert_equal (size (ypred2), [4, 1]); assert_equal (size (ySD), [4, 1]); assert_equal (size (yInt), [4, 2]); ***** test ## Verify ySD is based on training residual variance X = (1:10)'; Y = [2; 1; 4; 3; 6; 5; 8; 7; 10; 9]; mdl = RegressionGAM (X, Y); y_train = predict (mdl, X); rs = Y - y_train; expected_ySD = sqrt (var (rs)); [~, ySD] = predict (mdl, X(1:4,:)); assert_equal (ySD, expected_ySD * ones (4, 1), 1e-10); ***** test ## Verify ySD remains the same for one or more prediction points X = (1:10)'; Y = [2; 1; 4; 3; 6; 5; 8; 7; 10; 9]; mdl = RegressionGAM (X, Y); y_train = predict (mdl, X); expected_ySD = sqrt (var (Y - y_train)); [~, ySD_1] = predict (mdl, X(1,:)); [~, ySD_3] = predict (mdl, X(1:3,:)); assert_equal (ySD_1, expected_ySD, 1e-10); assert_equal (ySD_3, expected_ySD * ones (3, 1), 1e-10); ***** error RegressionGAM () ***** error RegressionGAM (ones (10,2)) ***** error ... RegressionGAM (ones (10,2), ones (5,1)) ***** error ... RegressionGAM ([1;2;3;'a';4], ones (5,1)) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'some', 'some') ***** error RegressionGAM (ones (10,2), ones (10,1), 'formula', {'y~x1+x2'}) ***** error RegressionGAM (ones (10,2), ones (10,1), 'formula', [0, 1, 0]) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'formula', 'something') ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'formula', 'something~') ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'formula', 'something~') ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'formula', 'something~x1:') ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'interactions', 'some') ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'interactions', -1) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'interactions', [1 2 3 4]) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'interactions', 3) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'formula', 'y ~ x1 + x2', 'interactions', 1) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'interactions', 1, 'formula', 'y ~ x1 + x2') ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'knots', 'a') ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'order', 3, 'dof', 2, 'knots', 5) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'dof', 'a') ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'knots', 5, 'order', 3, 'dof', 2) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'order', 'a') ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'knots', 5, 'dof', 2, 'order', 2) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'tol', -1) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'responsename', -1) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'predictors', -1) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'predictors', ['a','b','c']) ***** error ... RegressionGAM (ones (10,2), ones (10,1), 'predictors', {'a','b','c'}) ***** error ... predict (RegressionGAM (ones (10,1), ones (10,1))) ***** error ... predict (RegressionGAM (ones (10,1), ones (10,1)), []) ***** error ... predict (RegressionGAM (ones (10,2), ones (10,1)), 2) ***** error ... predict (RegressionGAM (ones (10,2), ones (10,1)), ones (10,2), 'some', 'some') ***** error ... predict (RegressionGAM (ones (10,2), ones (10,1)), ones (10,2), 'includeinteractions', 'some') ***** error ... predict (RegressionGAM (ones (10,2), ones (10,1)), ones (10,2), 'includeinteractions', 5) ***** error ... predict (RegressionGAM (ones (10,2), ones (10,1)), ones (10,2), 'alpha', 5) ***** error ... predict (RegressionGAM (ones (10,2), ones (10,1)), ones (10,2), 'alpha', -1) ***** error ... predict (RegressionGAM (ones (10,2), ones (10,1)), ones (10,2), 'alpha', 'a') 42 tests, 42 passed, 0 known failure, 0 skipped [inst/makima.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/makima.m ***** test ## Basic linear-like data x = [1; 2; 3; 4]; y = [2; 4; 6; 8]; xi = [1.5; 2.5; 3.5]; yi = makima (x, y, xi); assert_equal (yi, [3; 5; 7], 1e-12); ***** test ## Nonlinear dataset (finite check) x = [0; 1; 2; 3; 4]; y = [0; 1; 0; 1; 0]; xi = linspace (0,4,20)'; yi = makima (x, y, xi); assert_equal (all (isfinite (yi)), true); ***** test ## pp structure output x = [1; 2; 3; 4]; y = [2; 4; 6; 8]; pp = makima (x, y); assert_equal (isstruct (pp), true); assert_equal (strcmp (pp.form, 'pp'), true); assert_equal (pp.pieces, 3); assert_equal (pp.order, 4); ***** test ## Matrix y input. x = [1; 3; 5]; y = [1 3 2; 2 4 6]; xi = 2; yi = makima (x, y, xi); assert_equal (size (yi), [2, 1]); assert_equal (all (isfinite (yi)), true); assert_equal (yi(1), 2.304086538461538, 1e-12); assert_equal (yi(2), 3.000000000000000, 1e-12); ***** test ## Extrapolation through default method. x = [1; 2; 3]; y = [5; 10; 15]; xi = [0; 4]; yi = makima (x, y, xi); assert_equal (all (isfinite (yi)), true); assert_equal (yi, [0; 20], 1e-12); ***** test ## Complex interpolation. x = [1; 2; 4]; y = [1+2i; 2+3i; 4+8i]; xi = 3; yi = makima (x, y, xi); assert_equal (yi, 3 + 5.09767206477733i, 1e-12); assert_equal (iscomplex (yi), true); ***** test ## Two-point interpolation. x = [1; 5]; y = [10; 30]; xi = 3; yi = makima (x, y, xi); assert_equal (yi, 20, 1e-12); ***** test ## Single Precision Input. x = single ([1; 2; 3]); y = single ([10; 20; 30]); xi = single (1.5); yi = makima (x, y, xi); assert_equal (isa (yi, 'single'), true); assert_equal (yi, single (15), 1e-6); ***** test ## Row vector inputs. x = [1 2 3]; y = [4 5 6]; xi = [1.5 2.5]; yi = makima (x, y, xi); assert_equal (yi, [4.5 5.5], 1e-12); ***** test ## Step function. x = [1 2 3 4 5 6]; y = [0 0 1 1 0 0]; xi = [2.5 3.5 4.5]; yi = makima (x, y, xi); expected_11 = [0.5000, 1.1250, 0.5000]; assert_equal (yi, expected_11, 1e-12); ***** test ## Runge function (Oscillation Check) x = linspace (-1, 1, 7)'; y = 1 ./ (1 + 25 * x.^2); xi = [-0.5; 0.1; 0.5]; yi = makima (x, y, xi); expected_12 = [0.148690385982729; 0.857734549516009; 0.148690385982729]; assert_equal (yi, expected_12, 1e-12); ***** test ## Constant Slopes / Zero Weights x = [1; 2; 3; 4; 5]; y = [1; 1; 1; 1; 1]; xi = 3.5; yi = makima (x, y, xi); expected_13 = [1]; assert_equal (yi, expected_13, 1e-12); ***** test ## Empty xq input x = [1; 2; 3]; y = [4; 5; 6]; xi = []; yi = makima (x, y, xi); assert_equal (isempty (yi), true); assert_equal (! (iscolumn (yi)), true); ***** test ## Wide range of y-values x = [1e-10; 2e-10; 3e-10; 4e-10]; y = [1e10; 2e10; 3e10; 4e10]; xi = 2.5e-10; yi = makima (x, y, xi); assert_equal (yi, 2.5e10, 1e-12); ***** test ## Single column matrix input. x = [1; 2; 3]; y = [10; 20; 30]; xi = [1.5 2.5]; % Row input yi = makima (x, y, xi); assert_equal (yi, [15 25], 1e-12); assert_equal (isrow (yi), true); ***** test ## Evaluate pp structure with ppval x = [1; 2; 3; 4]; y = [2; 4; 6; 8]; xi = [1.5; 2.5; 3.5]; pp = makima (x, y); yi_ppval = ppval (pp, xi); yi_direct = makima (x, y, xi); assert_equal (yi_ppval, yi_direct, 1e-12); ***** test ## xq is a 2x2 matrix x = [1; 2; 3; 4; 5]; y = [10; 20; 15; 5; 25]; xq = [1.5, 2.5; 3.5, 4.5]; yi = makima (x, y, xq); assert_equal (size (yi), [2, 2]); expected = [16.85897435897436, 18.22916666666667; 9.81182795698925, 10.84522332506203]; assert_equal (yi, expected, 1e-12); ***** test ## xq is a 3D array x = [1; 2; 3; 4; 5]; y = [10; 20; 15; 5; 25]; xq = ones (2, 2, 2) * 2.5; yi = makima (x, y, xq); assert_equal (size (yi), [2, 2, 2]); ***** test ## pp structure with matrix y input x = [1; 3; 5]; y = [1 3 2; 2 4 6]; pp = makima (x, y); assert_equal (isstruct (pp), true); assert_equal (pp.pieces, 2); assert_equal (pp.dim, 2); yi_ppval = ppval (pp, 2); yi_direct = makima (x, y, 2); assert_equal (yi_ppval, yi_direct, 1e-12); ***** test ## y is a 3D array [2x3x4] and x is length 4 x = [1, 2, 3, 4]; xq = [1.5, 2.5, 3.5]; y3 = reshape (1:24, [2, 3, 4]); yi = makima (x, y3, xq); assert_equal (size (yi), [2, 3, 3]); ***** test ## Unsorted 'x' inputs x_unsorted = [3; 1; 2; 4]; y_unsorted = [9; 1; 4; 16]; xq = [1.5; 2.5]; x_sorted = [1; 2; 3; 4]; y_sorted = [1; 4; 9; 16]; assert_equal (makima (x_unsorted, y_unsorted, xq), makima (x_sorted, y_sorted, xq), 1e-12); ***** test ## Complex piecewise polynomial (pp) structure x = [1 2 3]; y = [1 4 9] + 1i * [2 8 18]; pp = makima (x, y); assert_equal (isstruct (pp), true); assert_equal (iscomplex (pp.coefs), true); assert_equal (ppval (pp, 1.5), makima (x, y, 1.5), 1e-12); ***** test ## N-dimensional y (3D) with N-dimensional xq (2x2 matrix) x = [1 2 3 4]; y3 = reshape (1:24, [2 3 4]); xq = [1.5 2.5; 3.5 1.5]; yi = makima (x, y3, xq); assert_equal (size (yi), [2 3 2 2]); ***** test ## 2-point pp struct x = [1; 5]; y = [10; 30]; pp = makima (x, y); assert_equal (pp.pieces, 1); assert_equal (pp.order, 4); assert_equal (ppval (pp, 3), 20, 1e-12); ***** test ## Exact Collinearity x = [1 2 3 4]; y = [2 4 6 8]; xi = 2.5; yi = makima (x, y, xi); assert_equal (yi, 5, 1e-12); ***** test ## Extrapolation check. x = [1; 2; 3]; y = [5; 10; 15]; xi = [0; 4]; yi = makima (x, y, xi, 'extrap'); assert_equal (all (isfinite (yi)), true); assert_equal (yi, [0; 20], 1e-12); ***** error makima ([1 1 2], [3 4 5], 1.5) ***** error makima (1) ***** error makima (1, 2, 1.5) ***** error makima ([1 2 3 4], [1 2 3 4 5], 2) ***** error makima ([1 2 3], [1 2 3], 2, 'linear') ***** error makima ([1 2 3], [1 2 3], 2, 'extrap', 'too_many') 32 tests, 32 passed, 0 known failure, 0 skipped [inst/tabulate.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/tabulate.m ***** demo ## Generate a frequency table for a vector of data in a cell array load patients ## Display the first seven entries of the Gender variable gender = Gender(1:7) ## Compute the frequency table that shows the number and ## percentage of Male and Female patients tabulate (Gender) ***** demo ## Create a frequency table for a vector of positive integers load patients ## Display the first seven entries of the Gender variable height = Height(1:7) ## Create a frequency table that shows, in its second and third columns, ## the number and percentage of patients with a particular height. table = tabulate (Height); ## Display the first and last seven entries of the frequency table first = table(1:7,:) last = table(end-6:end,:) ***** demo ## Create a frequency table from a character array load carsmall ## Tabulate the data in the Origin variable, which shows the ## country of origin of each car in the data set tabulate (Origin) ***** demo ## Create a frequency table from a numeric vector with NaN values load carsmall ## The carsmall dataset contains measurements of 100 cars total_cars = length (MPG) ## For six cars, the MPG value is missing missingMPG = length (MPG(isnan (MPG))) ## Create a frequency table using MPG tabulate (MPG) table = tabulate (MPG); ## Only 94 cars were used valid_cars = sum (table(:,2)) ***** test load patients table = tabulate (Gender); assert_equal (table{1,1}, "Male"); assert_equal (table{2,1}, "Female"); assert_equal (table{1,2}, 47); assert_equal (table{2,2}, 53); ***** test load patients table = tabulate (Height); assert_equal (table(end-4,:), [68, 15, 15]); assert_equal (table(end-3,:), [69, 8, 8]); assert_equal (table(end-2,:), [70, 11, 11]); assert_equal (table(end-1,:), [71, 10, 10]); assert_equal (table(end,:), [72, 4, 4]); ***** test ## Test numeric vector including NaNs x = [1; 1; 2; 3; 1; NaN; 2]; tbl = tabulate (x); assert_equal (isnumeric (tbl), true); assert_equal (size (tbl), [3, 3]); assert_equal (tbl(:,1), [1; 2; 3]); assert_equal (tbl(:,2), [3; 2; 1]); assert_equal (tbl(:,3), [50; 33.3333; 16.6667], 3e-4); ***** test ## Test positive integers with gaps x = [1; 3; 3]; tbl = tabulate (x); assert_equal (isnumeric (tbl), true); assert_equal (size (tbl), [3, 3]); assert_equal (tbl(:,1), [1; 2; 3]); assert_equal (tbl(:,2), [1; 0; 2]); assert_equal (tbl(:,3), [33.3333; 0; 66.6667], 3e-4); ***** test ## Test logical inputs (should return cell array with '0'/'1') x = [true; false; true; true]; tbl = tabulate (x); assert_equal (iscell (tbl), true); assert_equal (size (tbl), [2, 3]); assert_equal (tbl(:,1), {'0'; '1'}); assert_equal ([tbl{:,2}]', [1; 3]); assert_equal ([tbl{:,3}]', [25; 75]); ***** test ## Test character array x = ['a'; 'b'; 'a']; tbl = tabulate (x); assert_equal (iscell (tbl), true); assert_equal (size (tbl), [2, 3]); assert_equal (tbl(:,1), {'a'; 'b'}); assert_equal ([tbl{:,2}]', [2; 1]); ***** test ## Test cell array of character vectors x = {'a', 'b', 'a'}; tbl = tabulate (x); assert_equal (iscell (tbl), true); assert_equal (size (tbl), [2, 3]); assert_equal (tbl(:,1), {'a'; 'b'}); assert_equal ([tbl{:,2}]', [2; 1]); ***** test ## Test string array with missing values x = string ({'a', 'b', 'a'}); x(4) = missing; tbl = tabulate (x); assert_equal (iscell (tbl), true); assert_equal (size (tbl), [2, 3]); assert_equal (tbl(:,1), {'a'; 'b'}); assert_equal ([tbl{:,2}]', [2; 1]); ***** test ## Test categorical array with undefined values and vacuous levels x = categorical ({'a', 'a', 'b'}, {'a', 'b', 'c'}); tbl = tabulate (x); assert_equal (iscell (tbl), true); assert_equal (size (tbl), [3, 3]); assert_equal (tbl(:,1), {'a'; 'b'; 'c'}); assert_equal ([tbl{:,2}]', [2; 1; 0]); assert_equal ([tbl{:,3}]', [66.6667; 33.3333; 0], 1e-3); ***** test ## Test empty input tbl = tabulate ([]); assert_equal (isempty (tbl), true); ***** test ## fisheriris (Categorical/CellStr) load fisheriris; tbl = tabulate (species); assert_equal (size (tbl), [3, 3]); assert_equal (tbl(:,1), {'setosa'; 'versicolor'; 'virginica'}); assert_equal ([tbl{:,2}]', [50; 50; 50]); assert_equal ([tbl{:,3}]', [33.3333; 33.3333; 33.3333], 1e-4); ***** test ## carsmall (Char/CellStr) load carsmall; tbl = tabulate (Origin); origins = tbl(:,1); counts = [tbl{:,2}]; assert_equal (counts(strcmp (origins, 'USA')), 69); assert_equal (counts(strcmp (origins, 'Japan')), 15); assert_equal (counts(strcmp (origins, 'Germany')), 9); assert_equal (counts(strcmp (origins, 'France')), 4); assert_equal (counts(strcmp (origins, 'Sweden')), 2); assert_equal (counts(strcmp (origins, 'Italy')), 1); ***** test ## patients (Logical) load patients; tbl = tabulate (Smoker); assert_equal (size (tbl), [2, 3]); assert_equal (tbl(:,1), {'0'; '1'}); assert_equal ([tbl{:,2}]', [66; 34]); ***** test ## patients (String) load patients; tbl = tabulate (Gender); vals = tbl(:,1); counts = [tbl{:,2}]; assert_equal (counts(strcmp (vals, 'Male')), 47); assert_equal (counts(strcmp (vals, 'Female')), 53); ***** test x = categorical ({'a','b','c'}); x(:) = categorical (missing); tbl = tabulate (x); assert_equal (iscell (tbl), true); assert_equal ([tbl{:,2}]', [0; 0; 0]); assert_equal ([tbl{:,3}]', [0; 0; 0]); ***** test x = categorical ({}, {'low','med','high'}); tbl = tabulate (x); assert_equal (iscell (tbl), true); assert_equal ([tbl{:,2}]', [0; 0; 0]); assert_equal ([tbl{:,3}]', [0; 0; 0]); ***** test x = string ({'a','b'}); x(:) = missing; tbl = tabulate (x); assert_equal (iscell (tbl), true); assert_equal (isempty (tbl), true); ***** test x = ['yes'; 'no'; 'yes']; tbl = tabulate (x); assert_equal (iscell (tbl), true); assert_equal (size (tbl), [2, 3]); assert_equal (tbl(:,1), {'yes'; 'no'}); assert_equal ([tbl{:,2}]', [2; 1]); assert_equal ([tbl{:,3}]', [66.6667; 33.3333], 1e-4); ***** error ... tabulate (repmat ('a', 3, 3, 3)) ***** error ... tabulate ([3, 3; 3, 3]) ***** error ... tabulate ({'3', '3'; '3', '3'}) ***** error ... tabulate ([true, true; false, true]) ***** error ... tabulate (categorical ([true, true; false, true])) ***** error ... tabulate (string ({'a', 'b'; 'a', 'c'})) ***** error ... tabulate ({3, 3, 3, 3}) 25 tests, 25 passed, 0 known failure, 0 skipped [inst/manovacluster.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/manovacluster.m ***** demo load carbig X = [MPG Acceleration Weight Displacement]; [d, p, stats] = manova1 (X, Origin); manovacluster (stats) ***** test hf = figure ('visible', 'off'); unwind_protect load carbig X = [MPG Acceleration Weight Displacement]; [d, p, stats] = manova1 (X, Origin); manovacluster (stats); unwind_protect_cleanup close (hf); end_unwind_protect ***** error manovacluster (stats, 'some'); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/loadmodel.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/loadmodel.m ***** error loadmodel () ***** error ... loadmodel ('fisheriris.mat') ***** error ... loadmodel ('fail_loadmodel.mdl') ***** error ... loadmodel ('fail_load_model.mdl') 4 tests, 4 passed, 0 known failure, 0 skipped [inst/crossval.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/crossval.m ***** demo ## Determine the optimal number of clusters using cross-validation ## Declare a function to compute the sum of squared distances ## between data points and a varying number of clusters. function D = dist2clusters (X, Y, k) [Z, Zmu, Zstd] = zscore (X); [~, C] = kmeans (Z, k); ZY = (Y - Zmu) ./ Zstd; d = pdist2 (C, ZY, 'euclidean', 'Smallest', 1); D = sum (d .^ 2); endfunction load fisheriris for k = 1:8 fcn = @(X, Y) dist2clusters (X, Y, k); distances = crossval (fcn, meas); cvdist(k) = sum (distances); endfor plot (cvdist) xlabel ('Number of Clusters') ylabel ('CV Sum of Squared Distances') xlim ([1,8]); ***** test function yfit = regf (Xtrain, ytrain, Xtest) b = regress (ytrain, Xtrain); yfit = Xtest * b; endfunction load carsmall data = [Acceleration Horsepower Weight MPG]; data(any (isnan (data),2),:) = []; y = data(:,4); X = [ones(length(y),1) data(:,1:3)]; rand ('seed', 3); cvMSE = crossval ('mse',X,y,'Predfun',@regf); assert_equal (cvMSE, 18.720, 1e-3); ***** error ... crossval ('fe', rand (10, 1), rand (10, 1), 1); ***** error ... crossval ('mse', rand (10, 1), rand (10, 1), 1); ***** error ... crossval ('mse', rand (10, 1), 'Predfun', @(x,y) x + y); ***** error ... crossval ('mse', rand (10, 3), rand (10, 1), 'Predfun', @(x,y) sum (x + y)); ***** error ... crossval ('mse', rand (10, 3), rand (10, 1), 'Predfun', @(x,y,z) sum (x + y)); ***** error crossval (@(x) x); ***** error ... crossval (@(x) x, rand (10, 3), rand (10, 1)); ***** error ... crossval (@(x,y) [x, y], rand (10, 3), rand (10, 1)); ***** error crossval ({1}, 1, 1); ***** error ... crossval (@(x,y) sum ([x; y]), rand (10, 3), 'Holdout', 0.1, 'Leaveout', true) ***** error ... crossval (@(x,y) sum ([x; y]), rand (10, 3), 'Partition', cvpartition (10, 'Leaveout'), 'Stratify', true) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/fitcknn.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/fitcknn.m ***** demo ## Train a k-nearest neighbor classifier for k = 10 ## and plot the decision boundaries. load fisheriris idx = ! strcmp (species, 'setosa'); X = meas(idx,3:4); Y = cast (strcmpi (species(idx), 'virginica'), 'double'); obj = fitcknn (X, Y, 'Standardize', 1, 'NumNeighbors', 10, 'NSMethod', 'exhaustive') x1 = [min(X(:,1)):0.03:max(X(:,1))]; x2 = [min(X(:,2)):0.02:max(X(:,2))]; [x1G, x2G] = meshgrid (x1, x2); XGrid = [x1G(:), x2G(:)]; pred = predict (obj, XGrid); gidx = logical (pred); figure scatter (XGrid(gidx,1), XGrid(gidx,2), 'markerfacecolor', 'magenta'); hold on scatter (XGrid(! gidx,1), XGrid(! gidx,2), 'markerfacecolor', 'red'); plot (X(Y == 0, 1), X(Y == 0, 2), 'ko', X(Y == 1, 1), X(Y == 1, 2), 'kx'); xlabel ('Petal length (cm)'); ylabel ('Petal width (cm)'); title ('5-Nearest Neighbor Classifier Decision Boundary'); legend ({'Versicolor Region', 'Virginica Region', ... 'Sampled Versicolor', 'Sampled Virginica'}, ... 'location', 'northwest') axis tight hold off ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcknn (x, y); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcknn (x, y, 'NSMethod', 'exhaustive'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; k = 10; a = fitcknn (x, y, 'NumNeighbors' ,k); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = ones (4, 11); y = ['a'; 'a'; 'b'; 'b']; k = 10; a = fitcknn (x, y, 'NumNeighbors' ,k); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; k = 10; a = fitcknn (x, y, 'NumNeighbors' ,k, 'NSMethod', 'exhaustive'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; k = 10; a = fitcknn (x, y, 'NumNeighbors' ,k, 'Distance', 'hamming'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'hamming'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; weights = ones (4,1); a = fitcknn (x, y, 'Standardize', 1); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.Standardize}, {true}) assert_equal ({a.Sigma}, {std(x, [], 1)}) assert_equal ({a.Mu}, {[3.75, 4.25, 4.75]}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; weights = ones (4,1); a = fitcknn (x, y, 'Standardize', false); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.Standardize}, {false}) assert_equal ({a.Sigma}, {[]}) assert_equal ({a.Mu}, {[]}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; s = ones (1, 3); a = fitcknn (x, y, 'Scale' , s, 'Distance', 'seuclidean'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.DistParameter}, {s}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'seuclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcknn (x, y, 'Exponent' , 5, 'Distance', 'minkowski'); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.DistParameter, 5) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'minkowski'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcknn (x, y, 'Exponent' , 5, 'Distance', 'minkowski', ... 'NSMethod', 'exhaustive'); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.DistParameter, 5) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'minkowski'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcknn (x, y, 'BucketSize' , 20, 'distance', 'mahalanobis'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'mahalanobis'}) assert_equal ({a.BucketSize}, {20}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcknn (x, y, 'IncludeTies', true); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.IncludeTies, true); assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcknn (x, y); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.IncludeTies, false); assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = fitcknn (x, y); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, [0.5; 0.5]) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; prior = [0.5; 0.5]; a = fitcknn (x, y, 'Prior', 'empirical'); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, prior) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'a'; 'b']; prior = [0.75; 0.25]; a = fitcknn (x, y, 'Prior', 'empirical'); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, prior) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'a'; 'b']; prior = [0.5; 0.5]; a = fitcknn (x, y, 'Prior', 'uniform'); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, prior) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; cost = eye (2); a = fitcknn (x, y, 'Cost', cost); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Cost, [1, 0; 0, 1]) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; cost = eye (2); a = fitcknn (x, y, 'Cost', cost, 'Distance', 'hamming' ); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Cost, [1, 0; 0, 1]) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'hamming'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; status = warning; warning ('off'); rand ('seed', 23); a = fitcknn (x, y, 'NSMethod', 'exhaustive', 'CrossVal', 'on'); warning (status); assert_equal (class (a), "ClassificationPartitionedModel"); assert_equal ({a.X, a.Y, a.Trained{1}.NumNeighbors}, {x, y, 1}) assert_equal (a.ModelParameters.NSMethod, "exhaustive") assert_equal (a.ModelParameters.Distance, "euclidean") assert_equal ({a.Trained{1}.BucketSize}, {50}) ***** error fitcknn () ***** error fitcknn (ones (4,1)) ***** error fitcknn (ones (4,2), ones (4, 1), 'K') ***** error fitcknn (ones (4,2), ones (3, 1)) ***** error fitcknn (ones (4,2), ones (3, 1), 'K', 2) ***** error fitcknn (ones (4,2), ones (4, 1), 'CrossVal', 2) ***** error fitcknn (ones (4,2), ones (4, 1), 'CrossVal', 'a') ***** error ... fitcknn (ones (4,2), ones (4, 1), 'KFold', 10, 'Holdout', 0.3) 29 tests, 29 passed, 0 known failure, 0 skipped [inst/normplot.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/normplot.m ***** demo h = normplot ([1:20]); ***** demo h = normplot ([1:20;5:2:44]'); ***** demo ax = newplot (); h = normplot (ax, [1:20]); ax = gca; h = normplot (ax, [-10:10]); set (ax, 'xlim', [-11, 21]); ***** error normplot (); ***** error normplot (23); ***** error normplot (23, [1:20]); ***** error normplot (ones (3,4,5)); ***** test hf = figure ('visible', 'off'); unwind_protect ax = newplot (hf); h = normplot (ax, [1:20]); ax = gca; h = normplot (ax, [-10:10]); set (ax, 'xlim', [-11, 21]); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect h = normplot ([1:20;5:2:44]'); unwind_protect_cleanup close (hf); end_unwind_protect 6 tests, 6 passed, 0 known failure, 0 skipped [inst/grp2idx.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/grp2idx.m ***** test g = grp2idx ([3 2 1 2 3 1]); assert_equal (g, [3; 2; 1; 2; 3; 1]); ***** test [g, gn] = grp2idx (['b'; 'a'; 'c'; 'a']); assert_equal (g, [1; 2; 3; 2]); assert_equal (gn, {'b'; 'a'; 'c'}); ***** test in = [true, false, false, true]; out = {[2; 1; 1; 2] {'0'; '1'} [false; true]}; assert_equal (nthargout (1:3, @grp2idx, in), out) assert_equal (nthargout (1:3, @grp2idx, in), nthargout (1:3, @grp2idx, in')) ***** test assert_equal (nthargout (1:3, @grp2idx, [false, true]), {[1; 2] {'0'; '1'} [false; true]}); assert_equal (nthargout (1:3, @grp2idx, [true, false]), {[2; 1] {'0'; '1'} [false; true]}); ***** assert_equal (nthargout (1:3, @grp2idx, ['oct'; 'sci'; 'oct'; 'oct'; 'sci']), {[1; 2; 1; 1; 2] {'oct'; 'sci'} ['oct'; 'sci']}) ***** assert_equal (nthargout (1:3, @grp2idx, {'oct'; 'sci'; 'oct'; 'oct'; 'sci'}), {[1; 2; 1; 1; 2] {'oct'; 'sci'} {'oct'; 'sci'}}) ***** assert_equal (nthargout (1:3, @grp2idx, [1, -3, -2, -3, -3, 2, 1, -1, 3, -3]), {[4; 1; 2; 1; 1; 5; 4; 3; 6; 1], {'-3'; '-2'; '-1'; '1'; '2'; '3'}, ... [-3; -2; -1; 1; 2; 3]}) ***** test s = [1e6, 2e6, 1e6, 3e6]; [g, gn, gl] = grp2idx (s); assert_equal (g, [1; 2; 1; 3]); assert_equal (gn, {'1000000'; '2000000'; '3000000'}); assert_equal (gl, [1000000; 2000000; 3000000]); ***** test s = [0.1, 0.2, 0.3, 0.1, 0.2]; [g, gn, gl] = grp2idx (s); assert_equal (g, [1; 2; 3; 1; 2]); assert_equal (gn, {'0.1'; '0.2'; '0.3'}); assert_equal (gl, [0.1; 0.2; 0.3]); ***** test s = [-5 -10 0 5 10 -5]; [g, gn, gl] = grp2idx (s); assert_equal (g, [2; 1; 3; 4; 5; 2]); assert_equal (gn, {'-10'; '-5'; '0'; '5'; '10'}); assert_equal (gl, [-10; -5; 0; 5; 10]); ***** assert_equal (nthargout (1:3, @grp2idx, [2, 2, 3, NaN, 2, 3]), ... {[1; 1; 2; NaN; 1; 2] {'2'; '3'} [2; 3]}) ***** assert_equal (nthargout (1:3, @grp2idx, {'et', 'sa', 'sa', '', 'et'}), ... {[1; 2; 2; NaN; 1] {'et'; 'sa'} {'et'; 'sa'}}) ***** assert_equal (nthargout (1:3, @grp2idx, [2, 2, 3, NaN, 2, 4]), ... {[1; 1; 2; NaN; 1; 3] {'2'; '3'; '4'} [2; 3; 4]}) ***** test s = [NaN, NaN, NaN]; [g, gn, gl] = grp2idx (s); assert_equal (g, [NaN; NaN; NaN]); assert_equal (gn, cell (0,1)); assert_equal (gl, zeros (0,1)); ***** test s = single ([NaN, NaN, NaN]); [g, gn, gl] = grp2idx (s); assert_equal (g, [NaN; NaN; NaN]); assert_equal (gn, cell (0,1)); assert_equal (gl, single (zeros (0,1))); ***** test s = {''; ''; ''; ''}; [g, gn, gl] = grp2idx (s); assert_equal (g, [NaN; NaN; NaN; NaN]); assert_equal (gn, cell (0,1)); assert_equal (gl, cell (0,1)); ***** test s = {'', '', '', ''}; [g, gn, gl] = grp2idx (s); assert_equal (g, [NaN; NaN; NaN; NaN]); assert_equal (gn, cell (0,1)); assert_equal (gl, cell (0,1)); ***** test s = {'a'; ''; 'b'; ''; 'c'}; [g, gn, gl] = grp2idx (s); assert_equal (g, [1; NaN; 2; NaN; 3]); assert_equal (gn, {'a'; 'b'; 'c'}); assert_equal (gl, {'a'; 'b'; 'c'}); ***** test s = categorical ({''; ''; ''; ''}); [g, gn, gl] = grp2idx (s); assert_equal (g, [NaN; NaN; NaN; NaN]); assert_equal (gn, cell (0,1)); assert_equal (isequaln (gl, categorical (cell (0,1))), true); ***** test s = string ({missing, missing, missing}); [g, gn, gl] = grp2idx (s); assert_equal (g, [NaN; NaN; NaN]); assert_equal (gn, cell (0,1)); assert_equal (isequal (gl, string (cell (0,1))), true); ***** test s = [duration(NaN, 0, 0), duration(NaN, 0, 0), duration(NaN, 0, 0)]; [g, gn, gl] = grp2idx (s); assert_equal (g, [NaN; NaN; NaN]); assert_equal (gn, cell (0,1)); assert_equal (isequal (gl, duration (NaN (0,3))), true); ***** test [g, gn, gl] = grp2idx (duration (NaN (3, 1), 0, 0)); assert_equal (g, [NaN; NaN; NaN]); assert_equal (gn, cell (0,1)); assert_equal (isequal (gl, duration (NaN (0,3))), true); ***** test assert_equal (nthargout (1:3, @grp2idx, ['sci'; 'oct'; 'sci'; 'oct'; 'oct']), {[1; 2; 1; 2; 2] {'sci'; 'oct'} ['sci'; 'oct']}); ***** test assert_equal (nthargout (1:3, @grp2idx, {'sci'; 'oct'; 'sci'; 'oct'; 'oct'}), {[1; 2; 1; 2; 2] {'sci'; 'oct'} {'sci'; 'oct'}}); ***** test assert_equal (nthargout (1:3, @grp2idx, {'sa' 'et' 'et' '' 'sa'}), {[1; 2; 2; NaN; 1] {'sa'; 'et'} {'sa'; 'et'}}) ***** test [g, gn, gl] = grp2idx (categorical ({'low', 'med', 'high', 'low'})); assert_equal (g, [2; 3; 1; 2]); assert_equal (gn, {'high'; 'low'; 'med'}); assert_equal (isequal (gl, categorical ({'high'; 'low'; 'med'})), true); ***** test [g, gn, gl] = grp2idx (categorical ([10, 20, 10, 30, 20])); assert_equal (g, [1; 2; 1; 3; 2]); assert_equal (gn, {'10'; '20'; '30'}); assert_equal (isequal (gl, categorical ([10; 20; 30])), true); ***** test cats = categorical ({'high', '', 'low', ''}); [g, gn, gl] = grp2idx (cats); assert_equal (g, [2; 1; 3; 1]); assert_equal (gn, {''; 'high'; 'low'}); assert_equal (isequal (gl, categorical ({''; 'high'; 'low'})), true); ***** test s = categorical ({''; ''; ''; ''}, {'1', '2', '3'}, {'1', '2', '3'}); [g, gn, gl] = grp2idx (s); assert_equal (g, nan (4, 1)); assert_equal (gn, {'1'; '2'; '3'}); assert_equal (iscategorical (gl), true); assert_equal (cellstr (gl), gn); ***** test s = categorical ({''; '1'; ''; '2'}, {'1', '2', '3'}, {'1', '2', '3'}); [g, gn, gl] = grp2idx (s); assert_equal (g, [NaN; 1; NaN; 2]); assert_equal (gn, {'1'; '2'; '3'}); assert_equal (iscategorical (gl), true); assert_equal (cellstr (gl), gn); ***** test s = categorical ({''; '2'; ''; '1'}, {'1', '2', '3'}, {'1', '2', '3'}); [g, gn, gl] = grp2idx (s); assert_equal (g, [NaN; 2; NaN; 1]); assert_equal (gn, {'1'; '2'; '3'}); assert_equal (iscategorical (gl), true); assert_equal (cellstr (gl), gn); ***** test g = gn = gl = []; [g, gn, gl] = grp2idx (seconds ([1.234, 1.234, 2.5, 3.000])); assert_equal (g, [1; 1; 2; 3]); assert_equal (gn, {'1.234 sec'; '2.5 sec'; '3 sec'}); assert_equal (isequal (gl, seconds ([1.234; 2.5; 3.000])), true); ***** test [g, gn, gl] = grp2idx ([hours(1); hours(2); hours(1); hours(3)]); assert_equal (g, [1; 2; 1; 3]); assert_equal (gn, {'1 hr'; '2 hr'; '3 hr'}); assert_equal (isequal (gl, [hours(1); hours(2); hours(3)]), true); ***** test in = [duration(1, 30, 0); duration(0, 45, 30); duration(1, 30, 0); duration(2, 15, 15)]; [g, gn, gl] = grp2idx (in); assert_equal (g, [2; 1; 2; 3]); assert_equal (gn, {'00:45:30'; '01:30:00'; '02:15:15'}); assert_equal (isequal (gl, [duration(0, 45, 30); duration(1, 30, 0); duration(2, 15, 15)]), true); ***** test in = [hours(1); NaN; minutes(30); hours(1); NaN; seconds(90)]; [g, gn, gl] = grp2idx (in); assert_equal (g, [3; NaN; 2; 3; NaN; 1]); assert_equal (gn, {'0.025 hr'; '0.5 hr'; '1 hr'}); assert_equal (isequal (gl, [seconds(90); minutes(30); hours(1)]), true); ***** test [g, gn, gl] = grp2idx (string ({'123', 'erw', missing, '', '234'})); assert_equal (g, [1; 2; NaN; NaN; 3]); assert_equal (gn, {'123'; 'erw'; '234'}); assert_equal (isequal (gl, string ({'123'; 'erw'; '234'})), true); ***** test [g, gn, gl] = grp2idx (string ({'medium', 'low', 'high', 'medium', 'medium'})); assert_equal (g, [1; 2; 3; 1; 1]); assert_equal (gn, {'medium'; 'low'; 'high'}); assert_equal (isequal (gl, string ({'medium'; 'low'; 'high'})), true); ***** test [g, gn, gl] = grp2idx (string ({'', 'high', 'low', ''})); assert_equal (g, [NaN; 1; 2; NaN]); assert_equal (gn, {'high'; 'low'}); assert_equal (isequal (gl, string ({'high'; 'low'})), true); ***** test [g, gn, gl] = grp2idx (string ({'a', 'a', 'b', 'c'})); assert_equal (g, [1; 1; 2; 3]); assert_equal (gn, {'a'; 'b'; 'c'}); assert_equal (isstring (gl), true); assert_equal (cellstr (gl), gn); ***** error grp2idx (ones (3, 3, 3)) ***** error ... grp2idx (categorical ([1, 2; 1, 3])) ***** error ... grp2idx (datetime ('now')) ***** error ... grp2idx (days ([1, 2; 1, 3])) ***** error ... grp2idx (string ({'a', 'a'; 'b', 'c'})) ***** error grp2idx ({1}) ***** error grp2idx ([10, 20; 10, 30]) ***** error grp2idx ([true, false; false, true]) ***** error grp2idx ({'a', 'b'; 'c', 'd'}) 48 tests, 48 passed, 0 known failure, 0 skipped [inst/optimalleaforder.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/optimalleaforder.m ***** demo randn ('seed', 5) # for reproducibility X = randn (10, 2); D = pdist (X); tree = linkage (D, 'average'); optimalleaforder (tree, D, 'Transformation', 'linear') ***** error optimalleaforder () ***** error optimalleaforder (1) ***** error optimalleaforder (ones (2, 2), 1) ***** error optimalleaforder ([1 2 3], [1 2; 3 4], 'criteria', 5) ***** error optimalleaforder ([1 2 1], [1 2 3]) ***** error optimalleaforder ([1 2 1], 1, 'xxx', 'xxx') ***** error optimalleaforder ([1 2 1], 1, 'Transformation', 'xxx') 7 tests, 7 passed, 0 known failure, 0 skipped [inst/cdfcalc.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/cdfcalc.m ***** test x = [2, 4, 3, 2, 4, 3, 2, 5, 6, 4]; [yCDF, xCDF, n, emsg, eid] = cdfcalc (x); assert_equal (yCDF, [0, 0.3, 0.5, 0.8, 0.9, 1]'); assert_equal (xCDF, [2, 3, 4, 5, 6]'); assert_equal (n, 10); ***** shared x x = [2, 4, 3, 2, 4, 3, 2, 5, 6, 4]; ***** error yCDF = cdfcalc (x); ***** error [yCDF, xCDF] = cdfcalc (); ***** error [yCDF, xCDF] = cdfcalc (x, x); ***** warning [yCDF, xCDF] = cdfcalc (ones (10,2)); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/tiedrank.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/tiedrank.m ***** test [r,tieadj] = tiedrank ([10, 20, 30, 40, 20]); assert_equal (r, [1, 2.5, 4, 5, 2.5]); assert_equal (tieadj, 3); ***** test [r,tieadj] = tiedrank ([10; 20; 30; 40; 20]); assert_equal (r, [1; 2.5; 4; 5; 2.5]); assert_equal (tieadj, 3); ***** test [r,tieadj] = tiedrank ([10, 20, 30, 40, 20], 1); assert_equal (r, [1, 2.5, 4, 5, 2.5]); assert_equal (tieadj, [1; 0; 18]); ***** test [r,tieadj] = tiedrank ([10, 20, 30, 40, 20], 0, 1); assert_equal (r, [1, 2.5, 2, 1, 2.5]); assert_equal (tieadj, 3); ***** test [r,tieadj] = tiedrank ([10, 20, 30, 40, 20], 1, 1); assert_equal (r, [1, 2.5, 2, 1, 2.5]); assert_equal (tieadj, [1; 0; 18]); ***** error tiedrank (ones (2)) ***** error ... tiedrank ([1, 2, 3, 4, 5], [1, 1]) ***** error ... tiedrank ([1, 2, 3, 4, 5], 'A') ***** error ... tiedrank ([1, 2, 3, 4, 5], [true, true]) ***** error ... tiedrank ([1, 2, 3, 4, 5], 0, [1, 1]) ***** error ... tiedrank ([1, 2, 3, 4, 5], 0, 'A') ***** error ... tiedrank ([1, 2, 3, 4, 5], 0, [true, true]) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/glmfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/glmfit.m ***** demo x = [210, 230, 250, 270, 290, 310, 330, 350, 370, 390, 410, 430]'; n = [48, 42, 31, 34, 31, 21, 23, 23, 21, 16, 17, 21]'; y = [1, 2, 0, 3, 8, 8, 14, 17, 19, 15, 17, 21]'; b = glmfit (x, [y n], 'binomial', 'Link', 'probit'); yfit = glmval (b, x, 'probit', 'Size', n); plot (x, y./n, 'o', x, yfit ./ n, '-') ***** demo load fisheriris X = meas (51:end, :); y = strcmp ('versicolor', species(51:end)); b = glmfit (X, y, 'binomial', 'link', 'logit') ***** test load fisheriris; X = meas(51:end,:); y = strcmp ('versicolor', species(51:end)); b = glmfit (X, y, 'binomial', 'link', 'logit'); assert_equal (b, [42.6379; 2.4652; 6.6809; -9.4294; -18.2861], 1e-4); ***** test X = [1.2, 2.3, 3.4, 4.5, 5.6, 6.7, 7.8, 8.9, 9.0, 10.1]'; y = [0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4]'; [Bnew, dev] = glmfit (X, y, 'gamma', 'link', 'log'); b_matlab = [-0.7631; 0.1113]; dev_matlab = 0.0111; assert_equal (Bnew, b_matlab, 0.001); assert_equal (dev, dev_matlab, 0.001); ***** test X = [1.2, 2.3, 3.4, 4.5, 5.6, 6.7, 7.8, 8.9, 9.0, 10.1]'; y = [0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4]'; p_input = 1; [Bnew, dev] = glmfit (X, y, 'inverse gaussian', 'link', p_input); b_matlab = [0.3813; 0.0950]; dev_matlab = 0.0051; assert_equal (Bnew, b_matlab, 0.001); assert_equal (dev, dev_matlab, 0.001); ***** error glmfit () ***** error glmfit (1) ***** error glmfit (1, 2) ***** error ... glmfit (rand (6, 1), rand (6, 1), 'poisson', 'link') ***** error ... glmfit ('abc', rand (6, 1), 'poisson') ***** error ... glmfit ([], rand (6, 1), 'poisson') ***** error ... glmfit (rand (5, 2), 'abc', 'poisson') ***** error ... glmfit (rand (5, 2), [], 'poisson') ***** error ... glmfit (rand (5, 2), rand (6, 1), 'poisson') ***** error ... glmfit (rand (6, 2), rand (6, 1), 3) ***** error ... glmfit (rand (6, 2), rand (6, 1), {'poisson'}) ***** error ... glmfit (rand (5, 2), rand (5, 3), 'binomial') ***** error ... glmfit (rand (2, 2), [true, true; false, false], 'binomial') ***** error ... glmfit (rand (5, 2), rand (5, 2), 'normal') ***** error ... glmfit (rand (5, 2), rand (5, 1), 'chebychev') ***** error ... glmfit (rand (5, 2), rand (5, 1), 'normal', 'B0', [1; 2; 3; 4]) ***** error ... glmfit (rand (5, 2), rand (5, 1), 'normal', 'constant', 1) ***** error ... glmfit (rand (5, 2), rand (5, 1), 'normal', 'constant', 'o') ***** error ... glmfit (rand (5, 2), rand (5, 1), 'normal', 'constant', true) ***** error ... glmfit (rand (5, 2), rand (5, 1), 'normal', 'estdisp', 1) ***** error ... glmfit (rand (5, 2), rand (5, 1), 'normal', 'estdisp', 'o') ***** error ... glmfit (rand (5, 2), rand (5, 1), 'normal', 'estdisp', true) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', {1, 2})) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', 'norminv')) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', 'some', 'Derivative', @(x)x, 'Inverse', 'normcdf')) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', 1, 'Derivative', @(x)x, 'Inverse', 'normcdf')) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', @(x) [x, x], 'Derivative', @(x)x, 'Inverse', 'normcdf')) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', 'what', 'Derivative', @(x)x, 'Inverse', 'normcdf')) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', @(x)x, 'Derivative', 'some', 'Inverse', 'normcdf')) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', @(x)x, 'Derivative', 1, 'Inverse', 'normcdf')) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', @(x)x, 'Derivative', @(x) [x, x], 'Inverse', 'normcdf')) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', @(x)x, 'Derivative', 'what', 'Inverse', 'normcdf')) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', @(x)x, 'Derivative', 'normcdf', 'Inverse', 'some')) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', @(x)x, 'Derivative', 'normcdf', 'Inverse', 1)) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', @(x)x, 'Derivative', 'normcdf', 'Inverse', @(x) [x, x])) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', struct ('Link', @(x)x, 'Derivative', 'normcdf', 'Inverse', 'what')) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {'log'}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {'log', 'hijy'}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {1, 2, 3, 4}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {'log', 'dfv', 'dfgvd'}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {@(x) [x, x], 'dfv', 'dfgvd'}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {@(x) what (x), 'dfv', 'dfgvd'}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {@(x) x, 'dfv', 'dfgvd'}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {@(x) x, @(x) [x, x], 'dfgvd'}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {@(x) x, @(x) what (x), 'dfgvd'}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {@(x) x, @(x) x, 'dfgvd'}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {@(x) x, @(x) x, @(x) [x, x]}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', {@(x) x, @(x) x, @(x) what (x)}) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', NaN) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', [1, 2]) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', [1i]) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', ['log'; 'log1']) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', 'somelinkfunction') ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'link', true) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'options', true) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'options', struct ('MaxIter', 100)) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'options', struct ('MaxIter', 4.5, 'TolX', 1e-6)) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'options', struct ('MaxIter', 0, 'TolX', 1e-6)) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'options', struct ('MaxIter', -100, 'TolX', 1e-6)) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'options', struct ('MaxIter', [50 ,50], 'TolX', 1e-6)) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'options', struct ('MaxIter', 100, 'TolX', 0)) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'options', struct ('MaxIter', 100, 'TolX', -1e-6)) ***** error ... glmfit (rand (5,2), rand (5,1), 'poisson', 'options', struct ('MaxIter', 100, 'TolX', [1e-6, 1e-6])) ***** error ... glmfit (rand (5, 2), rand (5, 1), 'normal', 'offset', [1; 2; 3; 4]) ***** error ... glmfit (rand (5, 2), rand (5, 1), 'normal', 'offset', 'asdfg') ***** error ... glmfit (rand (5, 2), rand (5, 1), 'normal', 'weights', [1; 2; 3; 4]) ***** error ... glmfit (rand (5, 2), rand (5, 1), 'normal', 'weights', 'asdfg') 70 tests, 70 passed, 0 known failure, 0 skipped [inst/multiway.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/multiway.m ***** test numbers = [4, 5, 6, 7, 8]; num_parts = 2; [groupindex, partition, groupsizes] = multiway (numbers, num_parts, 'completeKK'); assert_equal (sort (cellfun (@sum, partition)), sort ([15, 15])); ***** test numbers = [1, 2, 3, 4, 5, 6]; num_parts = 3; [groupindex, partition, groupsizes] = multiway (numbers, num_parts, 'completeKK'); assert_equal (sort (cellfun (@sum, partition)), sort ([7, 7, 7])); ***** test numbers = [24, 21, 18, 17, 12, 11, 8, 2]; num_parts = 3; [groupindex, partition, groupsizes] = multiway (numbers, num_parts, 'completeKK'); assert_equal (sort (cellfun (@sum, partition)), sort ([38, 38, 37])); ***** test numbers = [10, 10, 10]; num_parts = 3; [~, partition] = multiway (numbers, num_parts, 'completeKK'); assert_equal (sort (cellfun (@sum, partition)), [10, 10, 10]); ***** test numbers = 1:10; num_parts = 2; [~, partition] = multiway (numbers, num_parts, 'completeKK'); assert_equal (sort (cellfun (@sum, partition)), [27, 28]); ***** test numbers = [4, 5, 6, 7, 8]; num_parts = 2; [groupindex, partition, groupsizes] = multiway (numbers, num_parts, 'greedy'); assert_equal (sort (cellfun (@sum, partition)), sort ([13, 17])); ***** test numbers = [1, 2, 3, 4, 5, 6]; num_parts = 3; [groupindex, partition, groupsizes] = multiway (numbers, num_parts, 'greedy'); assert_equal (sort (cellfun (@sum, partition)), sort ([7, 7, 7])); ***** test numbers = [10, 7, 5, 5, 6, 4, 10, 11, 12, 9, 10, 4, 3, 4, 5]; num_parts = 4; [groupindex, partition, groupsizes] = multiway (numbers, num_parts, 'greedy'); assert_equal (sort (cellfun (@sum, partition)), sort ([27, 27, 27, 24])); ***** test numbers = [24, 21, 18, 17, 12, 11, 8, 2]; num_parts = 3; [groupindex, partition, groupsizes] = multiway (numbers, num_parts, 'greedy'); assert_equal (sort (cellfun (@sum, partition)), sort ([35, 37, 41])); ***** test numbers = [10, 10, 10]; num_parts = 3; [~, partition] = multiway (numbers, num_parts, 'greedy'); assert_equal (sort (cellfun (@sum, partition)), [10, 10, 10]); ***** test numbers = 1:10; num_parts = 2; [~, partition] = multiway (numbers, num_parts, 'greedy'); assert_equal (sort (cellfun (@sum, partition)), [27, 28]); ***** test grpidx_ckk = multiway ([3 2 4 3 9 3 64], 3); grpidx_greedy = multiway ([3 2 4 3 9 3 64], 3, 'greedy'); assert_equal (isequal (grpidx_ckk, grpidx_greedy), false); ***** test numbers = [4; 5; 6; 7; 8]; num_parts = 2; [groupindex, partition, groupsizes] = multiway (numbers, num_parts, 'completeKK'); assert_equal (iscolumn (groupindex), true) assert_equal (iscolumn (groupsizes), true); assert_equal (sort (cellfun (@sum, partition)), sort ([15, 15])); numbers = [4; 5; 6; 7; 8]; num_parts = 2; [groupindex, partition, groupsizes] = multiway (numbers, num_parts, 'greedy'); assert_equal (iscolumn (groupindex), true) assert_equal (iscolumn (groupsizes), true); assert_equal (sort (cellfun (@sum, partition)), sort ([13, 17])); ***** test numbers = [4, 5, 6, 7, 8]; num_parts = 2; [groupindex, partition, groupsizes] = multiway (numbers, num_parts, 'completeKK'); assert_equal (isrow (groupindex), true) assert_equal (isrow (groupsizes), true); assert_equal (sort (cellfun (@sum, partition)), sort ([15, 15])); ***** test numbers = [4, 5, 6, 7, 8]; num_parts = 2; [groupindex, partition, groupsizes] = multiway (numbers, num_parts, 'greedy'); assert_equal (isrow (groupindex), true) assert_equal (isrow (groupsizes), true); assert_equal (sort (cellfun (@sum, partition)), sort ([13, 17])); ***** error multiway () ***** error multiway ([1, 2]) ***** error ... multiway ([1, 2, 3], 2, 1) ***** error multiway ([], 2) ***** error multiway (ones (2, 2), 2) ***** error ... multiway ({1, 2, 3}, 2) ***** error multiway ([1, -2, 3], 2) ***** error ... multiway ([1, 2, NaN], 2) ***** error multiway ([1,2,3], [1,2]) ***** error ... multiway ([1, 2, 3], '2') ***** error multiway ([1, 2, 3], 0) ***** error multiway ([1, 2, 3], 1.5) ***** error multiway ([1, 2, 3], -1) ***** error ... multiway ([1, 2], 3) ***** error ... multiway ([1,2,3], 2, 'greedyalgo') 30 tests, 30 passed, 0 known failure, 0 skipped [inst/slicesample.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/slicesample.m ***** demo ## Define function to sample d = 2; mu = [-1; 2]; rand ('seed', 5) # for reproducibility Sigma = rand (d); Sigma = (Sigma + Sigma'); Sigma += eye (d)*abs (eigs (Sigma, 1, 'sa')) * 1.1; pdf = @(x)(2*pi)^(-d/2)*det (Sigma)^-.5*exp (-.5*sum ((x.'-mu).*(Sigma\(x.'-mu)),1)); ## Inputs start = ones (1,2); nsamples = 500; K = 500; m = 10; rande ('seed', 4); rand ('seed', 5) # for reproducibility [smpl, accept] = slicesample (start, nsamples, 'pdf', pdf, 'burnin', K, 'thin', m, 'width', [20, 30]); figure; hold on; plot (smpl(:,1), smpl(:,2), 'x'); [x, y] = meshgrid (linspace (-6,4), linspace (-3,7)); z = reshape (pdf ([x(:), y(:)]), size (x)); mesh (x, y, z, 'facecolor', 'None'); ## Using sample points to find the volume of half a sphere with radius of .5 f = @(x) ((.25-(x(:,1)+1).^2-(x(:,2)-2).^2).^.5.*(((x(:,1)+1).^2+(x(:,2)-2).^2)<.25)).'; int = mean (f(smpl) ./ pdf (smpl)); errest = std (f(smpl) ./ pdf (smpl)) / nsamples^.5; trueerr = abs (2/3*pi*.25^(3/2)-int); fprintf ("Monte Carlo integral estimate int f(x) dx = %f\n", int); fprintf ("Monte Carlo integral error estimate %f\n", errest); fprintf ("The actual error %f\n", trueerr); mesh (x,y,reshape (f([x(:), y(:)]), size (x)), 'facecolor', 'None'); ***** demo ## Integrate truncated normal distribution to find normalization constant pdf = @(x) exp (-.5*x.^2)/(pi^.5*2^.5); nsamples = 1e3; rande ('seed', 4); rand ('seed', 5) # for reproducibility [smpl, accept] = slicesample (1, nsamples, 'pdf', pdf, 'thin', 4); f = @(x) exp (-.5 * x .^ 2) .* (x >= -2 & x <= 2); x = linspace (-3, 3, 1000); area (x, f(x)); xlabel ('x'); ylabel ('f(x)'); int = mean (f(smpl) ./ pdf (smpl)); errest = std (f(smpl) ./ pdf (smpl)) / nsamples ^ 0.5; trueerr = abs (erf (2 ^ 0.5) * 2 ^ 0.5 * pi ^ 0.5 - int); fprintf ("Monte Carlo integral estimate int f(x) dx = %f\n", int); fprintf ("Monte Carlo integral error estimate %f\n", errest); fprintf ("The actual error %f\n", trueerr); ***** test start = 0.5; nsamples = 1e3; pdf = @(x) exp (-.5*(x-1).^2)/(2*pi)^.5; [smpl, accept] = slicesample (start, nsamples, 'pdf', pdf, 'thin', 2, 'burnin', 0, 'width', 5); assert_equal (mean (smpl, 1), 1, .15); assert_equal (var (smpl, 1), 1, .25); ***** error slicesample (); ***** error slicesample (1); ***** error slicesample (1, 1); 4 tests, 4 passed, 0 known failure, 0 skipped [inst/regression_ttest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/regression_ttest.m ***** error regression_ttest (); ***** error regression_ttest (1); ***** error ... regression_ttest ([1 2 NaN]', [2 3 4]'); ***** error ... regression_ttest ([1 2 Inf]', [2 3 4]'); ***** error ... regression_ttest ([1 2 3+i]', [2 3 4]'); ***** error ... regression_ttest ([1 2 3]', [2 3 NaN]'); ***** error ... regression_ttest ([1 2 3]', [2 3 Inf]'); ***** error ... regression_ttest ([1 2 3]', [3 4 3+i]'); ***** error ... regression_ttest ([1 2 3]', [3 4 4 5]'); ***** error ... regression_ttest ([1 2 3]', [2 3 4]', 'alpha', 0); ***** error ... regression_ttest ([1 2 3]', [2 3 4]', 'alpha', 1.2); ***** error ... regression_ttest ([1 2 3]', [2 3 4]', 'alpha', [.02 .1]); ***** error ... regression_ttest ([1 2 3]', [2 3 4]', 'alpha', 'a'); ***** error ... regression_ttest ([1 2 3]', [2 3 4]', 'some', 0.05); ***** error ... regression_ttest ([1 2 3]', [2 3 4]', 'tail', 'val'); ***** error ... regression_ttest ([1 2 3]', [2 3 4]', 'alpha', 0.01, 'tail', 'val'); 16 tests, 16 passed, 0 known failure, 0 skipped [inst/multcompare.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/multcompare.m ***** demo ## Demonstration using balanced one-way ANOVA from anova1 x = ones (50, 4) .* [-2, 0, 1, 5]; randn ('seed', 1); # for reproducibility x = x + normrnd (0, 2, 50, 4); groups = {'A', 'B', 'C', 'D'}; [p, tbl, stats] = anova1 (x, groups, 'off'); multcompare (stats); ***** demo ## Demonstration using unbalanced one-way ANOVA example from anovan dv = [ 8.706 10.362 11.552 6.941 10.983 10.092 6.421 14.943 15.931 ... 22.968 18.590 16.567 15.944 21.637 14.492 17.965 18.851 22.891 ... 22.028 16.884 17.252 18.325 25.435 19.141 21.238 22.196 18.038 ... 22.628 31.163 26.053 24.419 32.145 28.966 30.207 29.142 33.212 ... 25.694 ]'; g = [1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 ... 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5]'; [P,ATAB, STATS] = anovan (dv, g, 'varnames', 'score', 'display', 'off'); [C, M, H, GNAMES] = multcompare (STATS, 'dim', 1, 'ctype', 'holm', ... 'ControlGroup', 1, 'display', 'on') ***** demo ## Demonstration using factorial ANCOVA example from anovan score = [95.6 82.2 97.2 96.4 81.4 83.6 89.4 83.8 83.3 85.7 ... 97.2 78.2 78.9 91.8 86.9 84.1 88.6 89.8 87.3 85.4 ... 81.8 65.8 68.1 70.0 69.9 75.1 72.3 70.9 71.5 72.5 ... 84.9 96.1 94.6 82.5 90.7 87.0 86.8 93.3 87.6 92.4 ... 100. 80.5 92.9 84.0 88.4 91.1 85.7 91.3 92.3 87.9 ... 91.7 88.6 75.8 75.7 75.3 82.4 80.1 86.0 81.8 82.5]'; treatment = {'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' ... 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' ... 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' ... 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' ... 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' ... 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no'}'; exercise = {'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' ... 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' ... 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' ... 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' ... 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' ... 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi'}'; age = [59 65 70 66 61 65 57 61 58 55 62 61 60 59 55 57 60 63 62 57 ... 58 56 57 59 59 60 55 53 55 58 68 62 61 54 59 63 60 67 60 67 ... 75 54 57 62 65 60 58 61 65 57 56 58 58 58 52 53 60 62 61 61]'; [P, ATAB, STATS] = anovan (score, {treatment, exercise, age}, 'model', ... [1 0 0; 0 1 0; 0 0 1; 1 1 0], 'continuous', 3, ... 'sstype', 'h', 'display', 'off', 'contrasts', ... {'simple','poly',''}); [C, M, H, GNAMES] = multcompare (STATS, 'dim', [1 2], 'ctype', 'holm', ... 'display', 'on') ***** demo ## Demonstration using one-way ANOVA from anovan, with fit by weighted least ## squares to account for heteroskedasticity. g = [1, 1, 1, 1, 1, 1, 1, 1, ... 2, 2, 2, 2, 2, 2, 2, 2, ... 3, 3, 3, 3, 3, 3, 3, 3]'; y = [13, 16, 16, 7, 11, 5, 1, 9, ... 10, 25, 66, 43, 47, 56, 6, 39, ... 11, 39, 26, 35, 25, 14, 24, 17]'; [P,ATAB,STATS] = anovan (y, g, 'display', 'off'); fitted = STATS.X * STATS.coeffs(:,1); # fitted values b = polyfit (fitted, abs (STATS.resid), 1); v = polyval (b, fitted); # Variance as a function of the fitted values [P,ATAB,STATS] = anovan (y, g, 'weights', v.^-1, 'display', 'off'); [C, M] = multcompare (STATS, 'display', 'on', 'ctype', 'mvt') ***** demo ## Demonstration of p-value adjustments to control the false discovery rate ## Data from Westfall (1997) JASA. 92(437):299-306 p = [.005708; .023544; .024193; .044895; ... .048805; .221227; .395867; .693051; .775755]; padj = multcompare (p,'ctype','fdr') ***** test ## Tests using unbalanced one-way ANOVA example from anovan and anova1 ## Test for anovan - compare pairwise comparisons with matlab for CTYPE "lsd" dv = [ 8.706 10.362 11.552 6.941 10.983 10.092 6.421 14.943 15.931 ... 22.968 18.590 16.567 15.944 21.637 14.492 17.965 18.851 22.891 ... 22.028 16.884 17.252 18.325 25.435 19.141 21.238 22.196 18.038 ... 22.628 31.163 26.053 24.419 32.145 28.966 30.207 29.142 33.212 ... 25.694 ]'; g = [1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 ... 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5]'; [P, ATAB, STATS] = anovan (dv, g, 'varnames', 'score', 'display', 'off'); [C, M, H, GNAMES] = multcompare (STATS, 'dim', 1, 'ctype', 'lsd', ... 'display', 'off'); assert_equal (C(1,6), 2.85812420217898e-05, 1e-09); assert_equal (C(2,6), 5.22936741204085e-07, 1e-09); assert_equal (C(3,6), 2.12794763209146e-08, 1e-09); assert_equal (C(4,6), 7.82091664406946e-15, 1e-09); assert_equal (C(5,6), 0.546591417210693, 1e-09); assert_equal (C(6,6), 0.0845897945254446, 1e-09); assert_equal (C(7,6), 9.47436557975328e-08, 1e-09); assert_equal (C(8,6), 0.188873478781067, 1e-09); assert_equal (C(9,6), 4.08974010364197e-08, 1e-09); assert_equal (C(10,6), 4.44427348175241e-06, 1e-09); assert_equal (M(1,1), 10, 1e-09); assert_equal (M(2,1), 18, 1e-09); assert_equal (M(3,1), 19, 1e-09); assert_equal (M(4,1), 21.0001428571429, 1e-09); assert_equal (M(5,1), 29.0001111111111, 1e-09); assert_equal (M(1,2), 1.0177537954095, 1e-09); assert_equal (M(2,2), 1.28736803631001, 1e-09); assert_equal (M(3,2), 1.0177537954095, 1e-09); assert_equal (M(4,2), 1.0880245732889, 1e-09); assert_equal (M(5,2), 0.959547480416536, 1e-09); ## Compare "fdr" adjusted p-values to those obtained using p.adjust in R [C, M, H, GNAMES] = multcompare (STATS, 'dim', 1, 'ctype', 'fdr', ... 'display', 'off'); assert_equal (C(1,6), 4.08303457454140e-05, 1e-09); assert_equal (C(2,6), 1.04587348240817e-06, 1e-09); assert_equal (C(3,6), 1.06397381604573e-07, 1e-09); assert_equal (C(4,6), 7.82091664406946e-14, 1e-09); assert_equal (C(5,6), 5.46591417210693e-01, 1e-09); assert_equal (C(6,6), 1.05737243156806e-01, 1e-09); assert_equal (C(7,6), 2.36859139493832e-07, 1e-09); assert_equal (C(8,6), 2.09859420867852e-01, 1e-09); assert_equal (C(9,6), 1.36324670121399e-07, 1e-09); assert_equal (C(10,6), 7.40712246958735e-06, 1e-09); ## Compare "hochberg" adjusted p-values to those obtained using p.adjust in R [C, M, H, GNAMES] = multcompare (STATS, 'dim', 1, 'ctype', 'hochberg', ... 'display', 'off'); assert_equal (C(1,6), 1.14324968087159e-04, 1e-09); assert_equal (C(2,6), 3.13762044722451e-06, 1e-09); assert_equal (C(3,6), 1.91515286888231e-07, 1e-09); assert_equal (C(4,6), 7.82091664406946e-14, 1e-09); assert_equal (C(5,6), 5.46591417210693e-01, 1e-09); assert_equal (C(6,6), 2.53769383576334e-01, 1e-09); assert_equal (C(7,6), 6.63205590582730e-07, 1e-09); assert_equal (C(8,6), 3.77746957562134e-01, 1e-09); assert_equal (C(9,6), 3.27179208291358e-07, 1e-09); assert_equal (C(10,6), 2.22213674087620e-05, 1e-09); ## Compare "holm" adjusted p-values to those obtained using p.adjust in R [C, M, H, GNAMES] = multcompare (STATS, 'dim', 1, 'ctype', 'holm', ... 'display', 'off'); assert_equal (C(1,6), 1.14324968087159e-04, 1e-09); assert_equal (C(2,6), 3.13762044722451e-06, 1e-09); assert_equal (C(3,6), 1.91515286888231e-07, 1e-09); assert_equal (C(4,6), 7.82091664406946e-14, 1e-09); assert_equal (C(5,6), 5.46591417210693e-01, 1e-09); assert_equal (C(6,6), 2.53769383576334e-01, 1e-09); assert_equal (C(7,6), 6.63205590582730e-07, 1e-09); assert_equal (C(8,6), 3.77746957562134e-01, 1e-09); assert_equal (C(9,6), 3.27179208291358e-07, 1e-09); assert_equal (C(10,6), 2.22213674087620e-05, 1e-09); ## Compare "scheffe" adjusted p-values to those obtained using 'scheffe' in Matlab [C, M, H, GNAMES] = multcompare (STATS, 'dim', 1, 'ctype', 'scheffe', ... 'display', 'off'); assert_equal (C(1,6), 0.00108105386141085, 1e-09); assert_equal (C(2,6), 2.7779386789517e-05, 1e-09); assert_equal (C(3,6), 1.3599854038198e-06, 1e-09); assert_equal (C(4,6), 7.58830197867751e-13, 1e-09); assert_equal (C(5,6), 0.984039948220281, 1e-09); assert_equal (C(6,6), 0.539077018557706, 1e-09); assert_equal (C(7,6), 5.59475764460574e-06, 1e-09); assert_equal (C(8,6), 0.771173490574105, 1e-09); assert_equal (C(9,6), 2.52838425729905e-06, 1e-09); assert_equal (C(10,6), 0.000200719143889168, 1e-09); ## Compare "bonferroni" adjusted p-values to those obtained using p.adjust in R [C, M, H, GNAMES] = multcompare (STATS, 'dim', 1, 'ctype', 'bonferroni', ... 'display', 'off'); assert_equal (C(1,6), 2.85812420217898e-04, 1e-09); assert_equal (C(2,6), 5.22936741204085e-06, 1e-09); assert_equal (C(3,6), 2.12794763209146e-07, 1e-09); assert_equal (C(4,6), 7.82091664406946e-14, 1e-09); assert_equal (C(5,6), 1.00000000000000e+00, 1e-09); assert_equal (C(6,6), 8.45897945254446e-01, 1e-09); assert_equal (C(7,6), 9.47436557975328e-07, 1e-09); assert_equal (C(8,6), 1.00000000000000e+00, 1e-09); assert_equal (C(9,6), 4.08974010364197e-07, 1e-09); assert_equal (C(10,6), 4.44427348175241e-05, 1e-09); ## Test for anova1 ("equal")- comparison of results from Matlab [P, ATAB, STATS] = anova1 (dv, g, 'off', 'equal'); [C, M, H, GNAMES] = multcompare (STATS, 'ctype', 'lsd', 'display', 'off'); assert_equal (C(1,6), 2.85812420217898e-05, 1e-09); assert_equal (C(2,6), 5.22936741204085e-07, 1e-09); assert_equal (C(3,6), 2.12794763209146e-08, 1e-09); assert_equal (C(4,6), 7.82091664406946e-15, 1e-09); assert_equal (C(5,6), 0.546591417210693, 1e-09); assert_equal (C(6,6), 0.0845897945254446, 1e-09); assert_equal (C(7,6), 9.47436557975328e-08, 1e-09); assert_equal (C(8,6), 0.188873478781067, 1e-09); assert_equal (C(9,6), 4.08974010364197e-08, 1e-09); assert_equal (C(10,6), 4.44427348175241e-06, 1e-09); assert_equal (M(1,1), 10, 1e-09); assert_equal (M(2,1), 18, 1e-09); assert_equal (M(3,1), 19, 1e-09); assert_equal (M(4,1), 21.0001428571429, 1e-09); assert_equal (M(5,1), 29.0001111111111, 1e-09); assert_equal (M(1,2), 1.0177537954095, 1e-09); assert_equal (M(2,2), 1.28736803631001, 1e-09); assert_equal (M(3,2), 1.0177537954095, 1e-09); assert_equal (M(4,2), 1.0880245732889, 1e-09); assert_equal (M(5,2), 0.959547480416536, 1e-09); ## Test for anova1 ("unequal") - comparison with results from GraphPad Prism 8 [P, ATAB, STATS] = anova1 (dv, g, 'off', 'unequal'); [C, M, H, GNAMES] = multcompare (STATS, 'ctype', 'lsd', 'display', 'off'); assert_equal (C(1,6), 0.001247025266382, 1e-09); assert_equal (C(2,6), 0.000018037115146, 1e-09); assert_equal (C(3,6), 0.000002974595187, 1e-09); assert_equal (C(4,6), 0.000000000786046, 1e-09); assert_equal (C(5,6), 0.5693192886650109, 1e-09); assert_equal (C(6,6), 0.110501699029776, 1e-09); assert_equal (C(7,6), 0.000131226488700, 1e-09); assert_equal (C(8,6), 0.1912101409715992, 1e-09); assert_equal (C(9,6), 0.000005385256394, 1e-09); assert_equal (C(10,6), 0.000074089106171, 1e-09); ***** test ## Test for anova2 ("interaction") - comparison with results from Matlab for column effect popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; [P, ATAB, STATS] = anova2 (popcorn, 3, 'off'); [C, M, H, GNAMES] = multcompare (STATS, 'estimate', 'column',... 'ctype', 'lsd', 'display', 'off'); assert_equal (C(1,6), 1.49311100811177e-05, 1e-09); assert_equal (C(2,6), 2.20506904243535e-07, 1e-09); assert_equal (C(3,6), 0.00449897860490058, 1e-09); assert_equal (M(1,1), 6.25, 1e-09); assert_equal (M(2,1), 4.75, 1e-09); assert_equal (M(3,1), 4, 1e-09); assert_equal (M(1,2), 0.152145154862547, 1e-09); assert_equal (M(2,2), 0.152145154862547, 1e-09); assert_equal (M(3,2), 0.152145154862547, 1e-09); ***** test ## Test for anova2 ("linear") - comparison with results from GraphPad Prism 8 words = [10 13 13; 6 8 8; 11 14 14; 22 23 25; 16 18 20; ... 15 17 17; 1 1 4; 12 15 17; 9 12 12; 8 9 12]; [P, ATAB, STATS] = anova2 (words, 1, 'off', 'linear'); [C, M, H, GNAMES] = multcompare (STATS, 'estimate', 'column',... 'ctype', 'lsd', 'display', 'off'); assert_equal (C(1,6), 0.000020799832702, 1e-09); assert_equal (C(2,6), 0.000000035812410, 1e-09); assert_equal (C(3,6), 0.003038942449215, 1e-09); ***** test ## Test for anova2 ("nested") - comparison with results from GraphPad Prism 8 data = [4.5924 7.3809 21.322; -0.5488 9.2085 25.0426; ... 6.1605 13.1147 22.66; 2.3374 15.2654 24.1283; ... 5.1873 12.4188 16.5927; 3.3579 14.3951 10.2129; ... 6.3092 8.5986 9.8934; 3.2831 3.4945 10.0203]; [P, ATAB, STATS] = anova2 (data, 4, 'off', 'nested'); [C, M, H, GNAMES] = multcompare (STATS, 'estimate', 'column',... 'ctype', 'lsd', 'display', 'off'); assert_equal (C(1,6), 0.261031111511073, 1e-09); assert_equal (C(2,6), 0.065879755907745, 1e-09); assert_equal (C(3,6), 0.241874613529270, 1e-09); ***** shared visibility_setting visibility_setting = get (0, 'DefaultFigureVisible'); ***** test set (0, 'DefaultFigureVisible', 'off'); ## Test for kruskalwallis - comparison with results from MATLAB data = [3,2,4; 5,4,4; 4,2,4; 4,2,4; 4,1,5; ... 4,2,3; 4,3,5; 4,2,4; 5,2,4; 5,3,3]; group = [1:3] .* ones (10,3); [P, ATAB, STATS] = kruskalwallis (data(:), group(:), 'off'); C = multcompare (STATS, 'ctype', 'lsd', 'display', 'off'); assert_equal (C(1,6), 0.000163089828959986, 1e-09); assert_equal (C(2,6), 0.630298044801257, 1e-09); assert_equal (C(3,6), 0.00100567660695682, 1e-09); C = multcompare (STATS, 'ctype', 'bonferroni', 'display', 'off'); assert_equal (C(1,6), 0.000489269486879958, 1e-09); assert_equal (C(2,6), 1, 1e-09); assert_equal (C(3,6), 0.00301702982087047, 1e-09); C = multcompare (STATS, 'ctype', 'scheffe', 'display', 'off'); assert_equal (C(1,6), 0.000819054880289573, 1e-09); assert_equal (C(2,6), 0.890628039849261, 1e-09); assert_equal (C(3,6), 0.00447816059021654, 1e-09); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); ## Test for friedman - comparison with results from MATLAB popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; [P, ATAB, STATS] = friedman (popcorn, 3, 'off'); C = multcompare (STATS, 'ctype', 'lsd', 'display', 'off'); assert_equal (C(1,6), 0.227424558028569, 1e-09); assert_equal (C(2,6), 0.0327204848315735, 1e-09); assert_equal (C(3,6), 0.353160353315988, 1e-09); C = multcompare (STATS, 'ctype', 'bonferroni', 'display', 'off'); assert_equal (C(1,6), 0.682273674085708, 1e-09); assert_equal (C(2,6), 0.0981614544947206, 1e-09); assert_equal (C(3,6), 1, 1e-09); C = multcompare (STATS, 'ctype', 'scheffe', 'display', 'off'); assert_equal (C(1,6), 0.482657360384373, 1e-09); assert_equal (C(2,6), 0.102266573027672, 1e-09); assert_equal (C(3,6), 0.649836502233148, 1e-09); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); ## Test for anovan with 'simple' contrasts - same comparisons as for first anovan example y = [ 8.706 10.362 11.552 6.941 10.983 10.092 6.421 14.943 15.931 ... 22.968 18.590 16.567 15.944 21.637 14.492 17.965 18.851 22.891 ... 22.028 16.884 17.252 18.325 25.435 19.141 21.238 22.196 18.038 ... 22.628 31.163 26.053 24.419 32.145 28.966 30.207 29.142 33.212 ... 25.694 ]'; X = [1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5]'; [P, ATAB, STATS] = anovan (y, {X}, 'contrasts', 'simple', 'display', 'off'); [C, M] = multcompare (STATS, 'ctype', 'lsd', 'display', 'off'); assert_equal (C(1,6), 2.85812420217898e-05, 1e-09); assert_equal (C(2,6), 5.22936741204085e-07, 1e-09); assert_equal (C(3,6), 2.12794763209146e-08, 1e-09); assert_equal (C(4,6), 7.82091664406946e-15, 1e-09); assert_equal (C(5,6), 0.546591417210693, 1e-09); assert_equal (C(6,6), 0.0845897945254446, 1e-09); assert_equal (C(7,6), 9.47436557975328e-08, 1e-09); assert_equal (C(8,6), 0.188873478781067, 1e-09); assert_equal (C(9,6), 4.08974010364197e-08, 1e-09); assert_equal (C(10,6), 4.44427348175241e-06, 1e-09); assert_equal (M(1,1), 10, 1e-09); assert_equal (M(2,1), 18, 1e-09); assert_equal (M(3,1), 19, 1e-09); assert_equal (M(4,1), 21.0001428571429, 1e-09); assert_equal (M(5,1), 29.0001111111111, 1e-09); assert_equal (M(1,2), 1.0177537954095, 1e-09); assert_equal (M(2,2), 1.28736803631001, 1e-09); assert_equal (M(3,2), 1.0177537954095, 1e-09); assert_equal (M(4,2), 1.0880245732889, 1e-09); assert_equal (M(5,2), 0.959547480416536, 1e-09); set (0, 'DefaultFigureVisible', visibility_setting); ***** test ## Test p-value adjustments compared to R stats package function p.adjust ## Data from Westfall (1997) JASA. 92(437):299-306 p = [.005708; .023544; .024193; .044895; ... .048805; .221227; .395867; .693051; .775755]; padj = multcompare (p); assert_equal (padj(1), 0.051372, 1e-06); assert_equal (padj(2), 0.188352, 1e-06); assert_equal (padj(3), 0.188352, 1e-06); assert_equal (padj(4), 0.269370, 1e-06); assert_equal (padj(5), 0.269370, 1e-06); assert_equal (padj(6), 0.884908, 1e-06); assert_equal (padj(7), 1.000000, 1e-06); assert_equal (padj(8), 1.000000, 1e-06); assert_equal (padj(9), 1.000000, 1e-06); padj = multcompare (p,'ctype','holm'); assert_equal (padj(1), 0.051372, 1e-06); assert_equal (padj(2), 0.188352, 1e-06); assert_equal (padj(3), 0.188352, 1e-06); assert_equal (padj(4), 0.269370, 1e-06); assert_equal (padj(5), 0.269370, 1e-06); assert_equal (padj(6), 0.884908, 1e-06); assert_equal (padj(7), 1.000000, 1e-06); assert_equal (padj(8), 1.000000, 1e-06); assert_equal (padj(9), 1.000000, 1e-06); padj = multcompare (p,'ctype','hochberg'); assert_equal (padj(1), 0.051372, 1e-06); assert_equal (padj(2), 0.169351, 1e-06); assert_equal (padj(3), 0.169351, 1e-06); assert_equal (padj(4), 0.244025, 1e-06); assert_equal (padj(5), 0.244025, 1e-06); assert_equal (padj(6), 0.775755, 1e-06); assert_equal (padj(7), 0.775755, 1e-06); assert_equal (padj(8), 0.775755, 1e-06); assert_equal (padj(9), 0.775755, 1e-06); padj = multcompare (p,'ctype','fdr'); assert_equal (padj(1), 0.0513720, 1e-07); assert_equal (padj(2), 0.0725790, 1e-07); assert_equal (padj(3), 0.0725790, 1e-07); assert_equal (padj(4), 0.0878490, 1e-07); assert_equal (padj(5), 0.0878490, 1e-07); assert_equal (padj(6), 0.3318405, 1e-07); assert_equal (padj(7), 0.5089719, 1e-07); assert_equal (padj(8), 0.7757550, 1e-07); assert_equal (padj(9), 0.7757550, 1e-07); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/plsregress.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/plsregress.m ***** demo ## Perform Partial Least-Squares Regression ## Load the spectra data set and use the near infrared (NIR) spectral ## intensities (NIR) as the predictor and the corresponding octave ## ratings (octave) as the response. load spectra ## Perform PLS regression with 10 components [xload, yload, xscore, yscore, coef, ptcVar] = plsregress (NIR, octane, 10); ## Plot the percentage of explained variance in the response variable ## (PCTVAR) as a function of the number of components. plot (1:10, cumsum (100 * ptcVar(2,:)), '-ro'); xlim ([1, 10]); xlabel ('Number of PLS components'); ylabel ('Percentage of Explained Variance in octane'); title ('Explained Variance per PLS components'); ## Compute the fitted response and display the residuals. octane_fitted = [ones(size(NIR,1),1), NIR] * coef; residuals = octane - octane_fitted; figure stem (residuals, 'color', 'r', 'markersize', 4, 'markeredgecolor', 'r') xlabel ('Observations'); ylabel ('Residuals'); title ('Residuals in octane''s fitted response'); ***** demo ## Calculate Variable Importance in Projection (VIP) for PLS Regression ## Load the spectra data set and use the near infrared (NIR) spectral ## intensities (NIR) as the predictor and the corresponding octave ## ratings (octave) as the response. Variables with a VIP score greater than ## 1 are considered important for the projection of the PLS regression model. load spectra ## Perform PLS regression with 10 components [xload, yload, xscore, yscore, coef, pctVar, mse, stats] = ... plsregress (NIR, octane, 10); ## Calculate the normalized PLS weights W0 = stats.W ./ sqrt (sum (stats.W.^2,1)); ## Calculate the VIP scores for 10 components nobs = size (xload, 1); SS = sum (xscore .^ 2, 1) .* sum (yload .^ 2, 1); VIPscore = sqrt (nobs * sum (SS .* (W0 .^ 2), 2) ./ sum (SS, 2)); ## Find variables with a VIP score greater than or equal to 1 VIPidx = find (VIPscore >= 1); ## Plot the VIP scores scatter (1:length (VIPscore), VIPscore, 'xb'); hold on scatter (VIPidx, VIPscore(VIPidx), 'xr'); plot ([1, length(VIPscore)], [1, 1], '--k'); hold off axis ('tight'); xlabel ('Predictor Variables'); ylabel ('VIP scores'); title ('VIP scores for each predictor variable with 10 components'); ***** test load spectra [xload, yload, xscore, yscore, coef, pctVar] = plsregress (NIR, octane, 10); xload1_out = [-0.0170, 0.0039, 0.0095, 0.0258, 0.0025, ... -0.0075, 0.0000, 0.0018, -0.0027, 0.0020]; yload_out = [6.6384, 9.3106, 2.0505, 0.6471, 0.9625, ... 0.5905, 0.4244, 0.2437, 0.3516, 0.2548]; xscore1_out = [-0.0401, -0.1764, -0.0340, 0.1669, 0.1041, ... -0.2067, 0.0457, 0.1565, 0.0706, -0.1471]; yscore1_out = [-12.4635, -15.0003, 0.0638, 0.0652, -0.0070, ... -0.0634, 0.0062, -0.0012, -0.0151, -0.0173]; assert_equal (xload(1,:), xload1_out, 1e-4); assert_equal (yload, yload_out, 1e-4); assert_equal (xscore(1,:), xscore1_out, 1e-4); assert_equal (yscore(1,:), yscore1_out, 1e-4); ***** test load spectra [xload, yload, xscore, yscore, coef, pctVar] = plsregress (NIR, octane, 5); xload1_out = [-0.0170, 0.0039, 0.0095, 0.0258, 0.0025]; yload_out = [6.6384, 9.3106, 2.0505, 0.6471, 0.9625]; xscore1_out = [-0.0401, -0.1764, -0.0340, 0.1669, 0.1041]; yscore1_out = [-12.4635, -15.0003, 0.0638, 0.0652, -0.0070]; assert_equal (xload(1,:), xload1_out, 1e-4); assert_equal (yload, yload_out, 1e-4); assert_equal (xscore(1,:), xscore1_out, 1e-4); assert_equal (yscore(1,:), yscore1_out, 1e-4); ***** error plsregress (1) ***** error plsregress (1, 'asd') ***** error plsregress (1, {1,2,3}) ***** error plsregress ('asd', 1) ***** error plsregress ({1,2,3}, 1) ***** error ... plsregress (ones (20,3), ones (15,1)) ***** error ... plsregress (ones (20,3), ones (20,1), 0) ***** error ... plsregress (ones (20,3), ones (20,1), -5) ***** error ... plsregress (ones (20,3), ones (20,1), 3.2) ***** error ... plsregress (ones (20,3), ones (20,1), [2, 3]) ***** error ... plsregress (ones (20,3), ones (20,1), 4) ***** error ... plsregress (ones (20,3), ones (20,1), 3, 'cv', 4.5) ***** error ... plsregress (ones (20,3), ones (20,1), 3, 'cv', -1) ***** error ... plsregress (ones (20,3), ones (20,1), 3, 'cv', 'somestring') ***** error ... plsregress (ones (20,3), ones (20,1), 3, 'cv', 3, 'mcreps', 2.2) ***** error ... plsregress (ones (20,3), ones (20,1), 3, 'cv', 3, 'mcreps', -2) ***** error ... plsregress (ones (20,3), ones (20,1), 3, 'cv', 3, 'mcreps', [1, 2]) ***** error ... plsregress (ones (20,3), ones (20,1), 3, 'Name', 3, 'mcreps', 1) ***** error ... plsregress (ones (20,3), ones (20,1), 3, 'cv', 3, 'Name', 1) ***** error ... plsregress (ones (20,3), ones (20,1), 3, 'mcreps', 2) ***** error ... plsregress (ones (20,3), ones (20,1), 3, 'cv', 'resubstitution', 'mcreps', 2) ***** error plsregress (1, 2) 24 tests, 24 passed, 0 known failure, 0 skipped [inst/kstest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/kstest.m ***** demo ## Use the stock return data set to test the null hypothesis that the data ## come from a standard normal distribution against the alternative ## hypothesis that the population CDF of the data is larger that the ## standard normal CDF. load stockreturns; x = stocks(:,2); [h, p, k, c] = kstest (x, 'Tail', 'larger') ## Compute the empirical CDF and plot against the standard normal CDF [f, x_values] = ecdf (x); h1 = plot (x_values, f); hold on; h2 = plot (x_values, normcdf (x_values), 'r--'); set (h1, 'LineWidth', 2); set (h2, 'LineWidth', 2); legend ([h1, h2], 'Empirical CDF', 'Standard Normal CDF', ... 'Location', 'southeast'); title ('Empirical CDF of stock return data against standard normal CDF') ***** error kstest () ***** error kstest (ones (2, 4)) ***** error kstest ([2, 3, 5, 3+3i]) ***** error kstest ([2, 3, 4, 5, 6], 'opt', 0.51) ***** error ... kstest ([2, 3, 4, 5, 6], 'tail') ***** error ... kstest ([2,3,4,5,6],'alpha', [0.05, 0.05]) ***** error ... kstest ([2, 3, 4, 5, 6], 'alpha', NaN) ***** error ... kstest ([2, 3, 4, 5, 6], 'tail', 0) ***** error ... kstest ([2,3,4,5,6], 'tail', 'whatever') ***** error ... kstest ([1, 2, 3, 4, 5], 'CDF', @(x) repmat (x, 2, 3)) ***** error ... kstest ([1, 2, 3, 4, 5], 'CDF', 'somedist') ***** error ... kstest ([1, 2, 3, 4, 5], 'CDF', cvpartition (5, 'resubstitution')) ***** error ... kstest ([2, 3, 4, 5, 6], 'alpha', 0.05, 'CDF', [2, 3, 4; 1, 3, 4; 1, 2, 1]) ***** error ... kstest ([2, 3, 4, 5, 6], 'alpha', 0.05, 'CDF', nan (5, 2)) ***** error ... kstest ([2, 3, 4, 5, 6], 'CDF', [2, 3; 1, 4; 3, 2]) ***** error ... kstest ([2, 3, 4, 5, 6], 'CDF', [2, 3; 2, 4; 3, 5]) ***** error ... kstest ([2, 3, 4, 5, 6], 'CDF', {1, 2, 3, 4, 5}) ***** test load examgrades [h, p] = kstest (grades(:,1)); assert_equal (h, true); assert_equal (p, 7.58603305206105e-107, 1e-14); ***** test load examgrades [h, p] = kstest (grades(:,1), 'CDF', @(x) normcdf (x, 75, 10)); assert_equal (h, false); assert_equal (p, 0.5612, 1e-4); ***** test load examgrades x = grades(:,1); test_cdf = makedist ('tlocationscale', 'mu', 75, 'sigma', 10, 'nu', 1); [h, p] = kstest (x, 'alpha', 0.01, 'CDF', test_cdf); assert_equal (h, true); assert_equal (p, 0.0021, 1e-4); ***** test load stockreturns x = stocks(:,3); [h,p,k,c] = kstest (x, 'Tail', 'larger'); assert_equal (h, true); assert_equal (p, 5.085438806199252e-05, 1e-14); assert_equal (k, 0.2197, 1e-4); assert_equal (c, 0.1207, 1e-4); 21 tests, 21 passed, 0 known failure, 0 skipped [inst/mnrfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/mnrfit.m ***** error mnrfit (ones (50,1)) ***** error ... mnrfit ({1 ;2 ;3 ;4 ;5}, ones (5,1)) ***** error ... mnrfit (ones (50, 4, 2), ones (50, 1)) ***** error ... mnrfit (ones (50, 4), ones (50, 1, 3)) ***** error ... mnrfit (ones (50, 4), ones (45,1)) ***** error ... mnrfit (ones (5, 4), {1 ;2 ;3 ;4 ;5}) ***** error ... mnrfit (ones (5, 4), ones (5, 1), 'model') ***** error ... mnrfit (ones (5, 4), {'q','q';'w','w';'q','q';'w','w';'q','q'}) ***** error ... mnrfit (ones (5, 4), [1, 2; 1, 2; 1, 2; 1, 2; 1, 2]) ***** error ... mnrfit (ones (5, 4), [1; -1; 1; 2; 1]) ***** error ... mnrfit (ones (5, 4), [1; 2; 3; 2; 1], 'model', 'nominal') ***** error ... mnrfit (ones (5, 4), [1; 2; 3; 2; 1], 'model', 'hierarchical') ***** error ... mnrfit (ones (5, 4), [1; 2; 3; 2; 1], 'model', 'whatever') 13 tests, 13 passed, 0 known failure, 0 skipped [inst/ridge.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/ridge.m ***** demo ## Perform ridge regression for a range of ridge parameters and observe ## how the coefficient estimates change based on the acetylene dataset. load acetylene X = [x1, x2, x3]; x1x2 = x1 .* x2; x1x3 = x1 .* x3; x2x3 = x2 .* x3; D = [x1, x2, x3, x1x2, x1x3, x2x3]; k = 0:1e-5:5e-3; b = ridge (y, D, k); figure plot (k, b, 'LineWidth', 2) ylim ([-100, 100]) grid on xlabel ('Ridge Parameter') ylabel ('Standardized Coefficient') title ('Ridge Trace') legend ('x1', 'x2', 'x3', 'x1x2', 'x1x3', 'x2x3') ***** demo load carbig X = [Acceleration Weight Displacement Horsepower]; y = MPG; n = length (y); rand ('seed',1); % For reproducibility c = cvpartition (n,'HoldOut',0.3); idxTrain = training(c,1); idxTest = ! idxTrain; idxTrain = training(c,1); idxTest = ! idxTrain; k = 5; b = ridge (y(idxTrain),X(idxTrain,:),k,0); % Predict MPG values for the test data using the model. yhat = b(1) + X(idxTest,:)*b(2:end); scatter (y(idxTest),yhat) hold on plot (y(idxTest),y(idxTest),'r') xlabel ('Actual MPG') ylabel ('Predicted MPG') hold off ***** test b = ridge ([1 2 3 4]', [1 2 3 4; 2 3 4 5]', 1); assert_equal (b, [0.5533; 0.5533], 1e-4); ***** test b = ridge ([1 2 3 4]', [1 2 3 4; 2 3 4 5]', 2); assert_equal (b, [0.4841; 0.4841], 1e-4); ***** test load acetylene x = [x1, x2, x3]; b = ridge (y, x, 0); assert_equal (b,[10.2273;1.97128;-0.601818],1e-4); ***** test load acetylene x = [x1, x2, x3]; b = ridge (y, x, 0.0005); assert_equal (b,[10.2233;1.9712;-0.6056],1e-4); ***** test load acetylene x = [x1, x2, x3]; b = ridge (y, x, 0.001); assert_equal (b,[10.2194;1.9711;-0.6094],1e-4); ***** test load acetylene x = [x1, x2, x3]; b = ridge (y, x, 0.002); assert_equal (b,[10.2116;1.9709;-0.6169],1e-4); ***** test load acetylene x = [x1, x2, x3]; b = ridge (y, x, 0.005); assert_equal (b,[10.1882;1.9704;-0.6393],1e-4); ***** test load acetylene x = [x1, x2, x3]; b = ridge (y, x, 0.01); assert_equal (b,[10.1497;1.9695;-0.6761],1e-4); ***** error ridge (1) ***** error ridge (1, 2) ***** error ridge (ones (3), ones (3), 2) ***** error ridge ([1, 2], ones (2), 2) ***** error ridge ([], ones (3), 2) ***** error ridge (ones (5,1), [], 2) ***** error ... ridge ([1; 2; 3; 4; 5], ones (3), 3) ***** error ... ridge ([1; 2; 3], ones (3), 3, 2) ***** error ... ridge ([1; 2; 3], ones (3), 3, 'some') 17 tests, 17 passed, 0 known failure, 0 skipped [inst/logit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/logit.m ***** test p = [0.01:0.01:0.99]; assert_equal (logit (p), log (p ./ (1-p)), 25*eps); ***** assert_equal (logit ([-1, 0, 0.5, 1, 2]), [NaN, -Inf, 0, +Inf, NaN]) ***** error logit () ***** error logit (1, 2) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/createns.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/createns.m ***** test ## Default ExhaustiveSearcher X = [1, 2; 3, 4; 5, 6]; obj = createns (X); assert_equal (isa (obj, 'ExhaustiveSearcher'), true); assert_equal (obj.X, X); assert_equal (obj.Distance, "euclidean"); ***** test ## KDTreeSearcher with default parameters X = [1, 2; 3, 4; 5, 6]; obj = createns (X, 'NSMethod', 'kdtree'); assert_equal (isa (obj, 'KDTreeSearcher'), true); assert_equal (obj.X, X); assert_equal (obj.Distance, "euclidean"); ***** test ## hnswSearcher with custom parameters X = [1, 2; 3, 4; 5, 6]; obj = createns (X, 'NSMethod', 'hnsw', 'MaxNumLinksPerNode', 2, 'TrainSetSize', 3); assert_equal (isa (obj, 'hnswSearcher'), true); assert_equal (obj.X, X); assert_equal (obj.MaxNumLinksPerNode, 2); assert_equal (obj.TrainSetSize, 3); ***** test ## ExhaustiveSearcher with custom distance X = [1, 2; 3, 4]; obj = createns (X, 'NSMethod', 'exhaustive', 'Distance', 'cityblock'); assert_equal (isa (obj, 'ExhaustiveSearcher'), true); assert_equal (obj.Distance, "cityblock"); ***** error createns () ***** error X = [1, 2; 3, 4]; createns (X, 'NSMethod') ***** error createns ([1; Inf; 3]) ***** error X = [1, 2; 3, 4]; createns (X, 'NSMethod', 1) ***** error X = [1, 2; 3, 4]; createns (X, 'NSMethod', 'invalid') 9 tests, 9 passed, 0 known failure, 0 skipped [inst/pdist2.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/pdist2.m ***** shared x, y, xx x = [1, 1, 1; 2, 2, 2; 3, 3, 3]; y = [0, 0, 0; 1, 2, 3; 0, 2, 4; 4, 7, 1]; xx = [1 2 3; 4 5 6; 7 8 9; 3 2 1]; ***** test d = sqrt ([3, 5, 11, 45; 12, 2, 8, 30; 27, 5, 11, 21]); assert_equal (pdist2 (x, y), d); ***** test d = [5.1962, 2.2361, 3.3166, 6.7082; ... 3.4641, 2.2361, 3.3166, 5.4772]; i = [3, 1, 1, 1; 2, 3, 3, 2]; [D, I] = pdist2 (x, y, 'euclidean', 'largest', 2); assert_equal ({D, I}, {d, i}, 1e-4); ***** test d = [1.7321, 1.4142, 2.8284, 4.5826; ... 3.4641, 2.2361, 3.3166, 5.4772]; i = [1, 2, 2, 3;2, 1, 1, 2]; [D, I] = pdist2 (x, y, 'euclidean', 'smallest', 2); assert_equal ({D, I}, {d, i}, 1e-4); ***** test yy = [1 2 3;5 6 7;9 5 1]; d = [0, 6.1644, 5.3852; 1.4142, 6.9282, 8.7750; ... 3.7417, 7.0711, 9.9499; 6.1644, 10.4881, 10.3441]; i = [2, 4, 4; 3, 2, 2; 1, 3, 3; 4, 1, 1]; [D, I] = pdist2 (y, yy, 'euclidean', 'smallest', 4); assert_equal ({D, I}, {d, i}, 1e-4); ***** test yy = [1 2 3;5 6 7;9 5 1]; d = [0, 38, 29; 2, 48, 77; 14, 50, 99; 38, 110, 107]; i = [2, 4, 4; 3, 2, 2; 1, 3, 3; 4, 1, 1]; [D, I] = pdist2 (y, yy, 'squaredeuclidean', 'smallest', 4); assert_equal ({D, I}, {d, i}, 1e-4); ***** test yy = [1 2 3;5 6 7;9 5 1]; d = [0, 3.3256, 2.7249; 0.7610, 3.3453, 4.4799; ... 1.8514, 3.3869, 5.0703; 2.5525, 5.0709, 5.1297]; i = [2, 2, 4; 3, 4, 2; 1, 3, 1; 4, 1, 3]; [D, I] = pdist2 (y, yy, 'seuclidean', 'smallest', 4); assert_equal ({D, I}, {d, i}, 1e-4); ***** test d = [2.1213, 4.2426, 6.3640; 1.2247, 2.4495, 4.4159; ... 3.2404, 4.8990, 6.8191; 2.7386, 4.2426, 6.1237]; assert_equal (pdist2 (y, x, 'mahalanobis'), d, 1e-4); ***** test xx = [1, 3, 4; 3, 5, 4; 8, 7, 6]; d = [1.3053, 1.8257, 15.0499; 1.3053, 3.3665, 16.5680]; i = [2, 2, 2; 3, 4, 4]; [D, I] = pdist2 (y, xx, 'mahalanobis', 'smallest', 2); assert_equal ({D, I}, {d, i}, 1e-4); ***** test d = [2.5240, 4.1633, 17.3638; 2.0905, 3.9158, 17.0147]; i = [1, 1, 3; 4, 3, 1]; [D, I] = pdist2 (y, xx, 'mahalanobis', 'largest', 2); assert_equal ({D, I}, {d, i}, 1e-4); ***** test d = [3, 3, 5, 9; 6, 2, 4, 8; 9, 3, 5, 7]; assert_equal (pdist2 (x, y, 'cityblock'), d); ***** test d = [1, 2, 3, 6; 2, 1, 2, 5; 3, 2, 3, 4]; assert_equal (pdist2 (x, y, 'chebychev'), d); ***** test d = repmat ([NaN, 0.0742, 0.2254, 0.1472], [3, 1]); assert_equal (pdist2 (x, y, 'cosine'), d, 1e-4); ***** test yy = [1 2 3;5 6 7;9 5 1]; d = [0, 0, 0.5; 0, 0, 2; 1.5, 1.5, 2; NaN, NaN, NaN]; i = [2, 2, 4; 3, 3, 2; 4, 4, 3; 1, 1, 1]; [D, I] = pdist2 (y, yy, 'correlation', 'smallest', 4); assert_equal ({D, I}, {d, i}, eps); [D, I] = pdist2 (y, yy, 'spearman', 'smallest', 4); assert_equal ({D, I}, {d, i}, eps); ***** test d = [1, 2/3, 1, 1; 1, 2/3, 1, 1; 1, 2/3, 2/3, 2/3]; i = [1, 1, 1, 2; 2, 2, 3, 3; 3, 3, 2, 1]; [D, I] = pdist2 (x, y, 'hamming', 'largest', 4); assert_equal ({D, I}, {d, i}, eps); [D, I] = pdist2 (x, y, 'jaccard', 'largest', 4); assert_equal ({D, I}, {d, i}, eps); ***** test xx = [1, 2, 3, 4; 2, 3, 4, 5; 3, 4, 5, 6]; yy = [1, 2, 2, 3; 2, 3, 3, 4]; [D, I] = pdist2 (x, y, 'euclidean', 'Smallest', 4); eucldist = @(v,m) sqrt (sumsq (repmat (v,rows (m),1)-m,2)); [d, i] = pdist2 (x, y, eucldist, 'Smallest', 4); assert_equal ({D, I}, {d, i}); ***** warning ... pdist2 (xx, xx, 'mahalanobis'); ***** error pdist2 (1) ***** error ... pdist2 (ones (4, 5), ones (4)) ***** error ... pdist2 (ones (4, 2, 3), ones (3, 2)) ***** error ... pdist2 (ones (3), ones (3), 'euclidean', 'Largest') ***** error ... pdist2 (ones (3), ones (3), 'minkowski', 3, 'Largest') ***** error ... pdist2 (ones (3), ones (3), 'minkowski', 3, 'large', 4) ***** error ... pdist2 (ones (3), ones (3), 'minkowski', 3, 'largest', 4.5) ***** error ... pdist2 (ones (3), ones (3), 'minkowski', 3, 'Largest', 4, 'smallest', 5) ***** error ... [d, i] = pdist2 (ones (3), ones (3), 'minkowski', 3) ***** error ... pdist2 (ones (3), ones (3), 'seuclidean', 3) ***** error ... pdist2 (ones (3), ones (3), 'seuclidean', [1, -1, 3]) ***** error ... pdist2 (ones (3), eye (3), 'mahalanobis', eye (2)) ***** error ... pdist2 (ones (3), eye (3), 'mahalanobis', ones (3)) ***** error ... pdist2 (ones (3), eye (3), 'minkowski', 0) ***** error ... pdist2 (ones (3), eye (3), 'minkowski', -5) ***** error ... pdist2 (ones (3), eye (3), 'minkowski', [1, 2]) ***** error ... pdist2 (ones (3), ones (3), @(v,m) sqrt (repmat (v,rows (m),1)-m,2)) ***** error ... pdist2 (ones (3), ones (3), @(v,m) sqrt (sum (sumsq (repmat (v,rows (m),1)-m,2)))) 34 tests, 34 passed, 0 known failure, 0 skipped [inst/gmdistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/gmdistribution.m ***** test mu = eye (2); Sigma = eye (2); GM = gmdistribution (mu, Sigma); density = GM.pdf ([0 0; 1 1]); assert_equal (density(1) - density(2), 0, 1e-6); [idx, nlogl, P, logpdf,M] = cluster (GM, eye (2)); assert_equal (idx, [1; 2]); [idx2,nlogl2,P2,logpdf2] = GM.cluster (eye (2)); assert_equal (nlogl - nlogl2, 0, 1e-6); [idx3,nlogl3,P3] = cluster (GM, eye (2)); assert_equal (P - P3, zeros (2), 1e-6); [idx4,nlogl4] = cluster (GM, eye (2)); assert_equal (size (nlogl4), [1 1]); idx5 = cluster (GM, eye (2)); assert_equal (idx - idx5, zeros (2,1)); D = GM.mahal ([1;0]); assert_equal (D - M(1,:), zeros (1,2), 1e-6); P = GM.posterior ([0 1]); assert_equal (P - P2(2,:), zeros (1,2), 1e-6); R = GM.random(20); assert_equal (size (R), [20, 2]); R = GM.random(); assert_equal (size (R), [1, 2]); 1 test, 1 passed, 0 known failure, 0 skipped [inst/mhsample.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/mhsample.m ***** demo ## Define function to sample d = 2; mu = [-1; 2]; rand ('seed', 5) # for reproducibility Sigma = rand (d); Sigma = (Sigma + Sigma'); Sigma += eye (d) * abs (eigs (Sigma, 1, 'sa')) * 1.1; pdf = @(x)(2*pi)^(-d/2)*det (Sigma)^-.5*exp (-.5*sum ((x.'-mu).*(Sigma\(x.'-mu)),1)); ## Inputs start = ones (1, 2); nsamples = 500; sym = true; K = 500; m = 10; rand ('seed', 8) # for reproducibility proprnd = @(x) (rand (size (x)) - .5) * 3 + x; [smpl, accept] = mhsample (start, nsamples, 'pdf', pdf, 'proprnd', proprnd, ... 'symmetric', sym, 'burnin', K, 'thin', m); figure; hold on; plot (smpl(:, 1), smpl(:, 2), 'x'); [x, y] = meshgrid (linspace (-6, 4), linspace (-3, 7)); z = reshape (pdf ([x(:), y(:)]), size (x)); mesh (x, y, z, 'facecolor', 'None'); ## Using sample points to find the volume of half a sphere with radius of .5 f = @(x) ((.25-(x(:,1)+1).^2-(x(:,2)-2).^2).^.5.*(((x(:,1)+1).^2+(x(:,2)-2).^2)<.25)).'; int = mean (f(smpl) ./ pdf (smpl)); errest = std (f(smpl) ./ pdf (smpl)) / nsamples ^ .5; trueerr = abs (2 / 3 * pi * .25 ^ (3 / 2) - int); printf ("Monte Carlo integral estimate int f(x) dx = %f\n", int); printf ("Monte Carlo integral error estimate %f\n", errest); printf ("The actual error %f\n", trueerr); mesh (x, y, reshape (f([x(:), y(:)]), size (x)), 'facecolor', 'None'); ***** demo ## Integrate truncated normal distribution to find normalization constant pdf = @(x) exp (-.5*x.^2)/(pi^.5*2^.5); nsamples = 1e3; rand ('seed', 5) # for reproducibility proprnd = @(x) (rand (size (x)) - .5) * 3 + x; [smpl, accept] = mhsample (1, nsamples, 'pdf', pdf, 'proprnd', proprnd, ... 'symmetric', true, 'thin', 4); f = @(x) exp (-.5 * x .^ 2) .* (x >= -2 & x <= 2); x = linspace (-3, 3, 1000); area (x, f(x)); xlabel ('x'); ylabel ('f(x)'); int = mean (f(smpl) ./ pdf (smpl)); errest = std (f(smpl) ./ pdf (smpl)) / nsamples^ .5; trueerr = abs (erf (2 ^ .5) * 2 ^ .5 * pi ^ .5 - int); printf ("Monte Carlo integral estimate int f(x) dx = %f\n", int); printf ("Monte Carlo integral error estimate %f\n", errest); printf ("The actual error %f\n", trueerr); ***** test nchain = 1e4; start = rand (nchain, 1); nsamples = 1e3; pdf = @(x) exp (-.5*(x-1).^2)/(2*pi)^.5; proppdf = @(x, y) 1/3; proprnd = @(x) 3 * (rand (size (x)) - .5) + x; [smpl, accept] = mhsample (start, nsamples, 'pdf', pdf, 'proppdf', proppdf, ... 'proprnd', proprnd, 'thin', 2, 'nchain', nchain, ... 'burnin', 0); assert_equal (mean (mean (smpl, 1), 3), 1, .01); assert_equal (mean (var (smpl, 1), 3), 1, .01) ***** error mhsample (); ***** error mhsample (1); ***** error mhsample (1, 1); ***** error mhsample (1, 1, 'pdf', @(x)x); ***** error mhsample (1, 1, 'pdf', @(x)x, 'proprnd', @(x)x+rand (size (x))); 6 tests, 6 passed, 0 known failure, 0 skipped [inst/trimmean.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/trimmean.m ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; assert_equal (trimmean (x, 10, 'all'), 19.4722, 1e-4); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; out = trimmean (x, 10, [1, 2]); assert_equal (out(1,1,1), 10.3889, 1e-4); assert_equal (out(1,1,2), 29.6111, 1e-4); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; x([4, 38]) = NaN; assert_equal (trimmean (x, 10, 'all'), 19.3824, 1e-4); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; out = trimmean (x, 10, 1); assert_equal (out(:,:,1), [-17.6, 8, 13, 18]); assert_equal (out(:,:,2), [23, 28, 33, 10.6]); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; x([4, 38]) = NaN; out = trimmean (x, 10, 1); assert_equal (out(:,:,1), [-23, 8, 13, 18]); assert_equal (out(:,:,2), [23, 28, 33, 3.75]); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; out = trimmean (x, 10, 2); assert_equal (out(:,:,1), [8.5; 9.5; -15.25; 11.5; 12.5]); assert_equal (out(:,:,2), [28.5; -4.75; 30.5; 31.5; 32.5]); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; x([4, 38]) = NaN; out = trimmean (x, 10, 2); assert_equal (out(:,:,1), [8.5; 9.5; -15.25; 14; 12.5]); assert_equal (out(:,:,2), [28.5; -4.75; 28; 31.5; 32.5]); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; out = trimmean (x, 10, [1, 2, 3]); assert_equal (out, trimmean (x, 10, 'all')); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; x([4, 38]) = NaN; out = trimmean (x, 10, [1, 2]); assert_equal (out(1,1,1), 10.7647, 1e-4); assert_equal (out(1,1,2), 29.1176, 1e-4); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; x([4, 38]) = NaN; out = trimmean (x, 10, [1, 3]); assert_equal (out, [2.5556, 18, 23, 11.6667], 1e-4); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; x([4, 38]) = NaN; out = trimmean (x, 10, [2, 3]); assert_equal (out, [18.5; 2.3750; 3.2857; 24; 22.5], 1e-4); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; x([4, 38]) = NaN; out = trimmean (x, 10, [1, 2, 3]); assert_equal (out, trimmean (x, 10, 'all')); ***** test x = reshape (1:40, [5, 4, 2]); x([3, 37]) = -100; x([4, 38]) = NaN; out = trimmean (x, 10, [2, 3, 5]); assert_equal (out, [18.5; 2.3750; 3.2857; 24; 22.5], 1e-4); ***** assert_equal (trimmean ([1, 2, 3, 4, 5], 40), 3) ***** assert_equal (trimmean (reshape (1:40, [5, 4, 2]), 10, 4), reshape (1:40, [5, 4, 2])) ***** assert_equal (trimmean ([], 10), NaN) ***** assert_equal (trimmean ([1;2;3;4;5], 10, 2), [1;2;3;4;5]) ***** test ## Row vector with explicit dimension 1 assert_equal (trimmean ([1, 2, 3], 10, 1), [1, 2, 3]); ***** test ## Row vector with explicit dimension 2 assert_equal (trimmean ([1, 2, 3], 10, 2), 2); ***** test ## Empty array with non-operating dimension preserved (dim=1) assert_equal (trimmean (zeros (0, 5), 10, 1), NaN (1, 5)); ***** test ## Empty array with non-operating dimension preserved (dim=2) assert_equal (trimmean (zeros (2, 0), 10, 2), NaN (2, 1)); ***** error trimmean (1) ***** error trimmean (1,2,3,4,5) ***** error trimmean ([1 2 3 4], -10) ***** error trimmean ([1 2 3 4], 100) ***** error trimmean ([1 2 3 4], 10, 'flag') ***** error trimmean ([1 2 3 4], 10, 'flag', 1) ***** error ... trimmean ([1 2 3 4], 10, -1) ***** error ... trimmean ([1 2 3 4], 10, 'floor', -1) ***** error ... trimmean (reshape (1:40, [5, 4, 2]), 10, [-1, 2]) ***** error ... trimmean (reshape (1:40, [5, 4, 2]), 10, [1, 2, 2]) 31 tests, 31 passed, 0 known failure, 0 skipped [inst/confusionchart.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/confusionchart.m ***** demo close all ## Setting the chart properties Yt = [8 5 6 8 5 3 1 6 4 2 5 3 1 4]'; Yp = [8 5 6 8 5 2 3 4 4 5 5 7 2 6]'; confusionchart (Yt, Yp, 'Title', ... 'Demonstration with summaries','Normalization',... 'absolute','ColumnSummary', 'column-normalized','RowSummary',... 'row-normalized') ***** demo close all ## Cellstr as inputs Yt = {'Positive', 'Positive', 'Positive', 'Negative', 'Negative'}; Yp = {'Positive', 'Positive', 'Negative', 'Negative', 'Negative'}; m = confusionmat (Yt, Yp); confusionchart (m, {'Positive', 'Negative'}); hold off ***** demo close all ## Editing the object properties Yt = {'Positive', 'Positive', 'Positive', 'Negative', 'Negative'}; Yp = {'Positive', 'Positive', 'Negative', 'Negative', 'Negative'}; cm = confusionchart (Yt, Yp); cm.Title = 'This is an example with a green diagonal'; cm.DiagonalColor = [0.4660, 0.6740, 0.1880]; hold off ***** demo close all ## Confusion chart in a uipanel h = uipanel (); Yt = {'Positive', 'Positive', 'Positive', 'Negative', 'Negative'}; Yp = {'Positive', 'Positive', 'Negative', 'Negative', 'Negative'}; cm = confusionchart (h, Yt, Yp); hold off ***** demo close all ## Sorting classes Yt = [8 5 6 8 5 3 1 6 4 2 5 3 1 4]'; Yp = [8 5 6 8 5 2 3 4 4 5 5 7 2 6]'; cm = confusionchart (Yt, Yp, 'Title', ... 'Classes are sorted in ascending order'); cm = confusionchart (Yt, Yp, 'Title', ... 'Classes are sorted according to clusters'); sortClasses (cm, 'cluster'); ***** shared visibility_setting visibility_setting = get (0, 'DefaultFigureVisible'); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ()', 'Invalid call'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 1; 2 2; 3 3])', 'invalid argument'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''xxx'', 1)', 'invalid property'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''XLabel'', 1)', 'XLabel .* string'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''YLabel'', [1 0])', ... '.* YLabel .* string'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''Title'', .5)', '.* Title .* string'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''FontName'', [])', ... '.* FontName .* string'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''FontSize'', ''b'')', ... '.* FontSize .* numeric'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''DiagonalColor'', ''h'')', ... '.* DiagonalColor .* color'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''OffDiagonalColor'', [])', ... '.* OffDiagonalColor .* color'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''Normalization'', '''')', ... '.* invalid .* Normalization'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''ColumnSummary'', [])', ... '.* invalid .* ColumnSummary'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''RowSummary'', 1)', ... '.* invalid .* RowSummary'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''GridVisible'', .1)', ... '.* invalid .* GridVisible'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''HandleVisibility'', .1)', ... '.* invalid .* HandleVisibility'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''OuterPosition'', .1)', ... '.* invalid .* OuterPosition'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''Position'', .1)', ... '.* invalid .* Position'); set (0, 'DefaultFigureVisible', visibility_setting); ***** test set (0, 'DefaultFigureVisible', 'off'); fail ('confusionchart ([1 2], [0 1], ''Units'', .1)', '.* invalid .* Units'); set (0, 'DefaultFigureVisible', visibility_setting); 18 tests, 18 passed, 0 known failure, 0 skipped [inst/violin.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/violin.m ***** demo clf x = zeros (9e2, 10); for i=1:10 x(:,i) = (0.1 * randn (3e2, 3) * (randn (3,1) + 1) + 2 * randn (1,3))(:); endfor h = violin (x, 'color', 'c'); axis tight set (h.violin, 'linewidth', 2); set (gca, 'xgrid', 'on'); xlabel ('Variables') ylabel ('Values') ***** demo clf data = {randn(100,1)*5+140, randn(130,1)*8+135}; subplot (1,2,1) title ('Grade 3 heights - vertical'); set (gca, 'xtick', 1:2, 'xticklabel', {'girls'; 'boys'}); violin (data, 'Nbins', 10); axis tight subplot (1,2,2) title ('Grade 3 heights - horizontal'); set (gca, 'ytick', 1:2, 'yticklabel', {'girls'; 'boys'}); violin (data, 'horizontal', 'Nbins', 10); axis tight ***** demo clf data = exprnd (0.1, 500,4); violin (data, 'nbins', {5,10,50,100}); axis ([0 5 0 max(data(:))]) ***** demo clf data = exprnd (0.1, 500,4); violin (data, 'color', jet (4)); axis ([0 5 0 max(data(:))]) ***** demo clf data = repmat (exprnd (0.1, 500,1), 1, 4); violin (data, 'width', linspace (0.1,0.5,4)); axis ([0 5 0 max(data(:))]) ***** demo clf data = repmat (exprnd (0.1, 500,1), 1, 4); violin (data, 'nbins', [5,10,50,100], 'smoothfactor', [4 4 8 10]); axis ([0 5 0 max(data(:))]) ***** test hf = figure ('visible', 'off'); unwind_protect data = exprnd (0.1, 500,4); violin (data, 'color', jet (4)); axis ([0 5 0 max(data(:))]) unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect data = {randn(100,1)*5+140, randn(130,1)*8+135}; subplot (1,2,1) title ('Grade 3 heights - vertical'); set (gca, 'xtick', 1:2, 'xticklabel', {'girls'; 'boys'}); violin (data, 'Nbins', 10); axis tight unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect data = {randn(100,1)*5+140, randn(130,1)*8+135}; subplot (1,2,1) title ('Grade 3 heights - vertical'); set (gca, 'xtick', 1:2, 'xticklabel', {'girls'; 'boys'}); violin (data, 'Nbins', 10); axis tight subplot (1,2,2) title ('Grade 3 heights - horizontal'); set (gca, 'ytick', 1:2, 'yticklabel', {'girls'; 'boys'}); violin (data, 'horizontal', 'Nbins', 10); axis tight unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect data = repmat (exprnd (0.1, 500,1), 1, 4); violin (data, 'nbins', [5,10,50,100], 'smoothfactor', [4 4 8 10]); axis ([0 5 0 max(data(:))]) unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect data = repmat (exprnd (0.1, 500,1), 1, 4); violin (data, 'width', linspace (0.1,0.5,4)); axis ([0 5 0 max(data(:))]) unwind_protect_cleanup close (hf); end_unwind_protect 5 tests, 5 passed, 0 known failure, 0 skipped [inst/runstest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/runstest.m ***** test ## NIST beam deflection data ## http://www.itl.nist.gov/div898/handbook/eda/section4/eda425.htm data = [-213, -564, -35, -15, 141, 115, -420, -360, 203, -338, -431, ... 194, -220, -513, 154, -125, -559, 92, -21, -579, -52, 99, -543, ... -175, 162, -457, -346, 204, -300, -474, 164, -107, -572, -8, 83, ... -541, -224, 180, -420, -374, 201, -236, -531, 83, 27, -564, -112, ... 131, -507, -254, 199, -311, -495, 143, -46, -579, -90, 136, ... -472, -338, 202, -287, -477, 169, -124, -568, 17, 48, -568, -135, ... 162, -430, -422, 172, -74, -577, -13, 92, -534, -243, 194, -355, ... -465, 156, -81, -578, -64, 139, -449, -384, 193, -198, -538, 110, ... -44, -577, -6, 66, -552, -164, 161, -460, -344, 205, -281, -504, ... 134, -28, -576, -118, 156, -437, -381, 200, -220, -540, 83, 11, ... -568, -160, 172, -414, -408, 188, -125, -572, -32, 139, -492, ... -321, 205, -262, -504, 142, -83, -574, 0, 48, -571, -106, 137, ... -501, -266, 190, -391, -406, 194, -186, -553, 83, -13, -577, -49, ... 103, -515, -280, 201, 300, -506, 131, -45, -578, -80, 138, -462, ... -361, 201, -211, -554, 32, 74, -533, -235, 187, -372, -442, 182, ... -147, -566, 25, 68, -535, -244, 194, -351, -463, 174, -125, -570, ... 15, 72, -550, -190, 172, -424, -385, 198, -218, -536, 96]; [h, p, stats] = runstest (data, median (data)); expected_h = 1; expected_p = 0.008562; expected_z = 2.6229; assert_equal (h, expected_h); assert_equal (p, expected_p, 1E-6); assert_equal (stats.z, expected_z, 1E-4); ***** shared x x = [45, -60, 1.225, 55.4, -9 27]; ***** test [h, p, stats] = runstest (x); assert_equal (h, 0); assert_equal (p, 0.6, 1e-14); assert_equal (stats.nruns, 5); assert_equal (stats.n1, 3); assert_equal (stats.n0, 3); assert_equal (stats.z, 0.456435464587638, 1e-14); ***** test [h, p, stats] = runstest (x, [], 'method', 'approximate'); assert_equal (h, 0); assert_equal (p, 0.6481, 1e-4); assert_equal (stats.z, 0.456435464587638, 1e-14); ***** test [h, p, stats] = runstest (x, [], 'tail', 'left'); assert_equal (h, 0); assert_equal (p, 0.9, 1e-14); assert_equal (stats.z, 1.369306393762915, 1e-14); ***** error runstest (ones (2,20)) ***** error runstest (['asdasda']) ***** error ... runstest ([2 3 4 3 2 3 4], 'updown') ***** error ... runstest ([2 3 4 3 2 3 4], [], 'alpha', 0) ***** error ... runstest ([2 3 4 3 2 3 4], [], 'alpha', [0.02 0.2]) ***** error ... runstest ([2 3 4 3 2 3 4], [], 'alpha', 1.2) ***** error ... runstest ([2 3 4 3 2 3 4], [], 'alpha', -0.05) ***** error ... runstest ([2 3 4 3 2 3 4], [], 'method', 'some') ***** error ... runstest ([2 3 4 3 2 3 4], [], 'tail', 'some') ***** error ... runstest ([2 3 4 3 2 3 4], [], 'option', 'some') 14 tests, 14 passed, 0 known failure, 0 skipped [inst/Clustering/GapEvaluation.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Clustering/GapEvaluation.m ***** test load fisheriris eva = evalclusters (meas([1:50],:), 'kmeans', 'gap', 'KList', [1:3], ... 'referencedistribution', 'uniform'); assert_equal (class (eva), "GapEvaluation"); ***** function C = count_calls_gap (X, k) global count_calls_gap_n; count_calls_gap_n += 1; C = mod ((0 : rows (X) - 1)', k) + 1; ***** endfunction ***** test ## custom function must be called exactly once per inspected K per run global count_calls_gap_n; count_calls_gap_n = 0; evalclusters (rand (20, 2), @count_calls_gap, 'gap', ... 'KList', [2, 3], 'B', 2); assert_equal (count_calls_gap_n, 6); clear -global count_calls_gap_n; warning: GapEvaluation: 'PCA' distribution not implemented, defaulting to 'uniform'. warning: called from GapEvaluation at line 249 column 9 evalclusters at line 323 column 7 __test__ at line 6 column 2 test at line 685 column 11 /tmp/tmp.1M9SA09GRj at line 3118 column 2 2 tests, 2 passed, 0 known failure, 0 skipped [inst/Clustering/cvpartition.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Clustering/cvpartition.m ***** test custom = [1, 1, 1, 2, 2, 2, 1, 2, 3, 2, 3, 3, 2, 1, 3]'; cv = cvpartition ('CustomPartition', custom); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 15); assert_equal (cv.NumTestSets, 3); assert_equal (cv.TrainSize, [10, 9, 11]); assert_equal (cv.TestSize, [5, 6, 4]); assert_equal (cv.IsCustom, true); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); idx = training (cv, 1); assert_equal (idx, custom != 1); idx = test (cv, 1); assert_equal (idx, custom == 1); idx = training (cv, 2); assert_equal (idx, custom != 2); idx = test (cv, 2); assert_equal (idx, custom == 2); idx = training (cv, 3); assert_equal (idx, custom != 3); idx = test (cv, 3); assert_equal (idx, custom == 3); idx1 = training (cv, 'all'); idx2 = test (cv, 'all'); assert_equal (idx1, ! idx2); ***** test custom = logical ([1, 1, 1, 0, 0, 0, 1, 0, 1, 1])'; cv = cvpartition ('CustomPartition', custom); assert_equal (cv.Type, 'holdout'); assert_equal (cv.NumObservations, 10); assert_equal (cv.NumTestSets, 1); assert_equal (cv.TrainSize, 4); assert_equal (cv.TestSize, 6); assert_equal (cv.IsCustom, true); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); idx = training (cv, 1); assert_equal (idx, custom != 1); assert_equal (idx, training (cv, 'all')); idx = test (cv, 1); assert_equal (idx, custom == 1); assert_equal (idx, test (cv, 'all')); ***** test custom = logical ([1, 0, 0; 0, 1, 0; 1, 0, 0; 0, 0, 1]); cv = cvpartition ('CustomPartition', custom); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 4); assert_equal (cv.NumTestSets, 3); assert_equal (cv.TrainSize, [2, 3, 3]); assert_equal (cv.TestSize, [2, 1, 1]); assert_equal (cv.IsCustom, true); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); idx = training (cv, 1); assert_equal (idx, custom(:,1) == false); idx = test (cv, 1); assert_equal (idx, custom(:,1) == true); idx = training (cv, 2); assert_equal (idx, custom(:,2) == false); idx = test (cv, 2); assert_equal (idx, custom(:,2) == true); assert_equal (! custom, training (cv, 'all')); assert_equal (custom, test (cv, 'all')); ***** test cv = cvpartition ('CustomPartition', [1:8]); assert_equal (cv.Type, 'leaveout'); assert_equal (cv.NumObservations, 8); assert_equal (cv.NumTestSets, 8); assert_equal (cv.TrainSize, [7, 7, 7, 7, 7, 7, 7, 7]); assert_equal (cv.TestSize, [1, 1, 1, 1, 1, 1, 1, 1]); assert_equal (cv.IsCustom, true); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); assert_equal (class (training (cv, 1)), 'logical'); assert_equal (sum (training (cv, 1)), 7); assert_equal (sum (training (cv, 'all')), cv.TrainSize); assert_equal (class (test (cv, 1)), 'logical'); assert_equal (sum (test (cv, 1)), 1); assert_equal (sum (test (cv, 'all')), cv.TestSize); assert_equal (! training (cv, 'all'), test (cv, 'all')); ***** test cv = cvpartition ('CustomPartition', logical (eye (8))); assert_equal (cv.Type, 'leaveout'); assert_equal (cv.NumObservations, 8); assert_equal (cv.NumTestSets, 8); assert_equal (cv.TrainSize, [7, 7, 7, 7, 7, 7, 7, 7]); assert_equal (cv.TestSize, [1, 1, 1, 1, 1, 1, 1, 1]); assert_equal (cv.IsCustom, true); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); assert_equal (class (training (cv, 1)), 'logical'); assert_equal (sum (training (cv, 1)), 7); assert_equal (sum (training (cv, 'all')), cv.TrainSize); assert_equal (class (test (cv, 1)), 'logical'); assert_equal (sum (test (cv, 1)), 1); assert_equal (sum (test (cv, 'all')), cv.TestSize); assert_equal (! training (cv, 'all'), test (cv, 'all')); ***** test cv = cvpartition (10, 'resubstitution'); assert_equal (cv.Type, 'resubstitution'); assert_equal (cv.NumObservations, 10); assert_equal (cv.NumTestSets, 1); assert_equal (cv.TrainSize, 10); assert_equal (cv.TestSize, 10); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); assert_equal (class (training (cv, 1)), 'logical'); assert_equal (sum (training (cv, 1)), 10); assert_equal (training (cv, 'all'), logical (ones (10, 1))); assert_equal (class (test (cv, 1)), 'logical'); assert_equal (sum (test (cv, 1)), 10); assert_equal (test (cv, 'all'), logical (ones (10, 1))); assert_equal (test (cv), training (cv)); ***** test cv = cvpartition (10, 'leaveout'); assert_equal (cv.Type, 'leaveout'); assert_equal (cv.NumObservations, 10); assert_equal (cv.NumTestSets, 10); assert_equal (cv.TrainSize, ones (1, 10) * 9); assert_equal (cv.TestSize, ones (1, 10)); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); assert_equal (class (training (cv, 1)), 'logical'); assert_equal (sum (training (cv, 1)), 9); assert_equal (training (cv, 'all'), ! logical (eye (10))); assert_equal (class (test (cv, 1)), 'logical'); assert_equal (sum (test (cv, 1)), 1); assert_equal (test (cv, 'all'), logical (eye (10))); assert_equal (test (cv), ! training (cv)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); ***** test rand ('seed', 5); # for reproducibility cv = cvpartition (10, 'holdout', 0.3); assert_equal (cv.Type, 'holdout'); assert_equal (cv.NumObservations, 10); assert_equal (cv.NumTestSets, 1); assert_equal (cv.TrainSize, 7); assert_equal (cv.TestSize, 3); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); assert_equal (class (training (cv, 1)), 'logical'); assert_equal (sum (training (cv, 1)), 7); assert_equal (training (cv, 'all'), logical ([1, 0, 1, 1, 0, 1, 1, 1, 0, 1])'); assert_equal (class (test (cv, 1)), 'logical'); assert_equal (sum (test (cv, 1)), 3); assert_equal (test (cv, 'all'), logical ([0, 1, 0, 0, 1, 0, 0, 0, 1, 0])'); assert_equal (test (cv), ! training (cv)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); ***** test cv = cvpartition (10, 'holdout', 4); assert_equal (cv.Type, 'holdout'); assert_equal (cv.NumObservations, 10); assert_equal (cv.NumTestSets, 1); assert_equal (cv.TrainSize, 6); assert_equal (cv.TestSize, 4); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); assert_equal (class (training (cv, 1)), 'logical'); assert_equal (sum (training (cv, 1)), 6); assert_equal (class (test (cv, 1)), 'logical'); assert_equal (sum (test (cv, 1)), 4); assert_equal (test (cv), ! training (cv)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); ***** test cv = cvpartition (5, 'holdout', 4); assert_equal (cv.Type, 'holdout'); assert_equal (cv.NumObservations, 5); assert_equal (cv.NumTestSets, 1); assert_equal (cv.TrainSize, 1); assert_equal (cv.TestSize, 4); assert_equal (sum (test (cv, 1)), 4); ***** test cv = cvpartition (5, 'holdout', 1); assert_equal (cv.Type, 'holdout'); assert_equal (cv.NumObservations, 5); assert_equal (cv.NumTestSets, 1); assert_equal (cv.TrainSize, 4); assert_equal (cv.TestSize, 1); assert_equal (sum (test (cv, 1)), 1); ***** test cv = cvpartition (5, 'kfold'); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 5); assert_equal (cv.NumTestSets, 5); ***** test cv = cvpartition (20, 'kfold'); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 20); assert_equal (cv.NumTestSets, 10); ***** test cv = cvpartition (10, 'kfold', 5); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 10); assert_equal (cv.NumTestSets, 5); assert_equal (cv.TrainSize, [8, 8, 8, 8, 8]); assert_equal (cv.TestSize, [2, 2, 2, 2, 2]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); assert_equal (size (test (cv, 'all')), [10, 5]); ***** test grpvar = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 5]; rand ('seed', 5); cv = cvpartition (12, 'kfold', 5, 'GroupingVariables', grpvar); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 12); assert_equal (cv.NumTestSets, 5); assert_equal (cv.TrainSize, [10, 10, 10, 8, 10]); assert_equal (cv.TestSize, [2, 2, 2, 4, 2]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, true); assert_equal (cv.IsStratified, false); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); assert_equal (size (test (cv, 'all')), [12, 5]); assert_equal (sum (test (cv, 'all')), [2, 2, 2, 4, 2]); assert_equal (sum (training (cv, 'all')), [10, 10, 10, 8, 10]); ***** test grpvar = [1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3]; rand ('seed', 5); cv = cvpartition (12, 'kfold', 3, 'GroupingVariables', grpvar); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 12); assert_equal (cv.NumTestSets, 3); assert_equal (cv.TrainSize, [9, 10, 5]); assert_equal (cv.TestSize, [3, 2, 7]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, true); assert_equal (cv.IsStratified, false); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); assert_equal (size (test (cv, 'all')), [12, 3]); assert_equal (sum (test (cv, 'all')), [3, 2, 7]); assert_equal (sum (training (cv, 'all')), [9, 10, 5]); ***** test grpvar = [1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3]; rand ('seed', 5); cv = cvpartition (12, 'kfold', 2, 'GroupingVariables', grpvar); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 12); assert_equal (cv.NumTestSets, 2); assert_equal (cv.TrainSize, [6, 6]); assert_equal (cv.TestSize, [6, 6]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, true); assert_equal (cv.IsStratified, false); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); assert_equal (size (test (cv, 'all')), [12, 2]); assert_equal (sum (test (cv, 'all')), [6, 6]); assert_equal (sum (training (cv, 'all')), [6, 6]); ***** test grpvar = [1, 1, 1, 2, 2, 2, 2, NaN, 2, 3, 3, 3]; rand ('seed', 5); cv = cvpartition (12, 'kfold', 2, 'GroupingVariables', grpvar); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 12); assert_equal (cv.NumTestSets, 2); assert_equal (cv.TrainSize, [6, 5]); assert_equal (cv.TestSize, [5, 6]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, true); assert_equal (cv.IsStratified, false); idx = ! isnan (grpvar); assert_equal (test (cv, 1)(idx), ! training (cv, 1)(idx)); assert_equal (test (cv, 'all')(idx, :), ! training (cv, 'all')(idx, :)); assert_equal (size (test (cv, 'all')), [12, 2]); assert_equal (sum (test (cv, 'all')), [5, 6]); assert_equal (sum (training (cv, 'all')), [6, 5]); ***** test grpvar = [1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3]; rand ('seed', 5); cv = cvpartition (12, 'kfold', 2, 'GroupingVariables', grpvar); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 12); assert_equal (cv.NumTestSets, 2); assert_equal (cv.TrainSize, [5, 7]); assert_equal (cv.TestSize, [7, 5]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, true); assert_equal (cv.IsStratified, false); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); assert_equal (size (test (cv, 'all')), [12, 2]); assert_equal (sum (test (cv, 'all')), [7, 5]); assert_equal (sum (training (cv, 'all')), [5, 7]); assert_equal (test (cv, 1)', grpvar == 2); assert_equal (test (cv, 2)', grpvar != 2); ***** test grpvar = [1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3]; rand ('seed', 5); cv = cvpartition (12, 'kfold', 2, 'GroupingVariables', grpvar); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 12); assert_equal (cv.NumTestSets, 2); assert_equal (cv.TrainSize, [7, 5]); assert_equal (cv.TestSize, [5, 7]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, true); assert_equal (cv.IsStratified, false); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); assert_equal (size (test (cv, 'all')), [12, 2]); assert_equal (sum (test (cv, 'all')), [5, 7]); assert_equal (sum (training (cv, 'all')), [7, 5]); assert_equal (test (cv, 1)', grpvar == 2); assert_equal (test (cv, 2)', grpvar != 2); ***** test grpvar = [1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3]; rand ('seed', 5); cv = cvpartition (12, 'kfold', 2, 'GroupingVariables', grpvar); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 12); assert_equal (cv.NumTestSets, 2); assert_equal (cv.TrainSize, [7, 5]); assert_equal (cv.TestSize, [5, 7]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, true); assert_equal (cv.IsStratified, false); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); assert_equal (size (test (cv, 'all')), [12, 2]); assert_equal (sum (test (cv, 'all')), [5, 7]); assert_equal (sum (training (cv, 'all')), [7, 5]); assert_equal (test (cv, 1)', grpvar == 3); assert_equal (test (cv, 2)', grpvar != 3); ***** test status = warning; warning ('off'); cv = cvpartition (5, 'kfold', 5, 'GroupingVariables', {'a';'a';'b';'b';''}); warning (status); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 5); assert_equal (cv.NumTestSets, 2); assert_equal (cv.TrainSize, [2, 2]); assert_equal (cv.TestSize, [2, 2]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, true); assert_equal (cv.IsStratified, false); idx = ! ismissing ({'a';'a';'b';'b';''}); assert_equal (test (cv, 1)(idx), ! training (cv, 1)(idx)); assert_equal (test (cv, 'all')(idx,:), ! training (cv, 'all')(idx,:)); assert_equal (size (test (cv, 'all')), [5, 2]); assert_equal (sum (test (cv, 'all')), [2, 2]); assert_equal (sum (test (cv, 'all'), 2), [1; 1; 1; 1; 0]); ***** test rand ('seed', 5); cv = cvpartition ([1, 1, 1, 1, 1, 2, 2, 2, 2, 2], 'holdout', 3); assert_equal (cv.Type, 'holdout'); assert_equal (cv.NumObservations, 10); assert_equal (cv.NumTestSets, 1); assert_equal (cv.TrainSize, 7); assert_equal (cv.TestSize, 3); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, true); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (test (cv), logical ([0, 0, 0, 0, 1, 0, 1, 0, 0, 1])'); ***** test cv = cvpartition ([1, 1, 1, 1, 1, 2, 2, 2, 2, 2], 'holdout', 4); assert_equal (cv.Type, 'holdout'); assert_equal (cv.NumObservations, 10); assert_equal (cv.NumTestSets, 1); assert_equal (cv.TrainSize, 6); assert_equal (cv.TestSize, 4); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, true); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (sum (test (cv)(1:5)), 2); assert_equal (sum (test (cv)(6:10)), 2); ***** test grpvar = [1, 1, 1, 1, 1, 2, 2, 2, 2, 2]; rand ('seed', 5); cv = cvpartition (grpvar, 'holdout', 4, 'Stratify', false); assert_equal (cv.Type, 'holdout'); assert_equal (cv.NumObservations, 10); assert_equal (cv.NumTestSets, 1); assert_equal (cv.TrainSize, 6); assert_equal (cv.TestSize, 4); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (sum (test (cv)(1:5)), 3); assert_equal (sum (test (cv)(6:10)), 1); ***** test cv = cvpartition ([1 1 1 1 1 2 2 2 2 1], 'kfold', 2); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 10); assert_equal (cv.NumTestSets, 2); assert_equal (cv.TrainSize, [5, 5]); assert_equal (cv.TestSize, [5, 5]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, true); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); assert_equal (sum (test (cv, 1)(1:5)), 3); assert_equal (sum (test (cv, 2)(1:5)), 2); assert_equal (sum (test (cv, 1)(6:10)), 2); assert_equal (sum (test (cv, 2)(6:10)), 3); ***** test grpvar = [1 1 1 1 1 2 2 2 2 1]; rand ('seed', 5); cv = cvpartition (grpvar, 'kfold', 2, 'Stratify', false); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 10); assert_equal (cv.NumTestSets, 2); assert_equal (cv.TrainSize, [5, 5]); assert_equal (cv.TestSize, [5, 5]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, false); assert_equal (test (cv, 1), ! training (cv, 1)); assert_equal (test (cv, 'all'), ! training (cv, 'all')); assert_equal (sum (test (cv, 1)(1:5)), 4); assert_equal (sum (test (cv, 2)(1:5)), 1); assert_equal (sum (test (cv, 1)(6:10)), 1); assert_equal (sum (test (cv, 2)(6:10)), 4); ***** test status = warning; warning ('off'); cv = cvpartition ({'a','a','b','b',''}, 'kfold'); warning (status); assert_equal (cv.Type, 'kfold'); assert_equal (cv.NumObservations, 5); assert_equal (cv.NumTestSets, 4); assert_equal (cv.TrainSize, [3, 3, 3, 3]); assert_equal (cv.TestSize, [1, 1, 1, 1]); assert_equal (cv.IsCustom, false); assert_equal (cv.IsGrouped, false); assert_equal (cv.IsStratified, true); idx = ! ismissing ({'a','a','b','b',''}); assert_equal (test (cv, 1)(idx), ! training (cv, 1)(idx)); assert_equal (test (cv, 'all')(idx,:), ! training (cv, 'all')(idx,:)); assert_equal (sum (test (cv, 'all'), 2), [1; 1; 1; 1; 0]); ***** error cvpartition (2) ***** error cvpartition (1, 2, 3, 4, 5, 6) ***** error ... cvpartition ('CustomPartition', 'a') ***** error ... cvpartition ('CustomPartition', [2, 3; 2, 3]) ***** error ... cvpartition ('CustomPartition', false (3, 3, 3)) ***** error ... cvpartition ('CustomPartition', [false, true; true, true; true, false]) ***** error ... cvpartition ('CustomPartition', false (3, 5)) ***** error ... cvpartition (-20, 'LeaveOut') ***** error ... cvpartition (20.5, 'LeaveOut') ***** error ... cvpartition (20, 'HoldOut', [0.2, 0.3]) ***** error ... cvpartition (20, 'HoldOut', 'a') ***** error ... cvpartition (20, 'HoldOut', 0) ***** error ... cvpartition (20, 'HoldOut', -0.1) ***** error ... cvpartition (20, 'HoldOut', 21) ***** error ... cvpartition (20, 'kfold', [2, 3]) ***** error ... cvpartition (20, 'kfold', 'a') ***** error ... cvpartition (20, 'kfold', 2.5) ***** error ... cvpartition (20, 'kfold', 21) ***** error ... cvpartition (10, 'kfold', 3, 'Group') ***** error ... cvpartition (10, 'kfold', 3, 'GroupingVariables') ***** error ... cvpartition (10, 'kfold', 3, 'GroupingVariables', ones (3, 3, 3)) ***** error ... cvpartition (10, 'kfold', 3, 'GroupingVariables', {'a', 'a', 'a', 'b', 'b'}) ***** warning ... cvpartition (5, 'kfold', 3, 'GroupingVariables', {'a', 'a', 'a', 'b', 'b'}); ***** error ... cvpartition (20, 'some') ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 2, 'strat') ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 2, 'stratify') ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 2, 'stratify', [true, true]) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 2, 'stratify', 'no') ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', 'a') ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', 'a', 'stratify', true) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', [0.2, 0.3]) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', [0.2, 0.3], 'stratify', true) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', 0) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', 0, 'stratify', true) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', -0.1) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', -0.1, 'stratify', true) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', 1.2) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', 1.2, 'stratify', false) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', 6) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'holdout', 6, 'stratify', false) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 'a') ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 'a', 'stratify', true) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', [2, 3]) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', [2, 3], 'stratify', false) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 0) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 0, 'stratify', true) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 1.5) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 1.5, 'stratify', true) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 6) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'kfold', 6, 'stratify', true) ***** error ... cvpartition ([1, 1, 1, 2, 2], 'leaveout') ***** error ... cvpartition ([1, 1, 1, 2, 2], 'resubstitution') ***** error ... cvpartition ([1, 1, 1, 2, 2], 'some') ***** error ... cvpartition ({1, 1; 2, 2}, 'kfold') ***** error ... repartition (cvpartition ('CustomPartition', [1,1,2,2,3,3])) ***** error ... repartition (cvpartition ([1 1 1 1 1 2 2 2 2 1], 'kfold', 2, 'Stratify', true), 'legacy') ***** error ... repartition (cvpartition (20, 'Leaveout', 0.2), 'legacy') ***** error ... repartition (cvpartition (20, 'Leaveout', 0.2), 'asd') ***** error ... repartition (cvpartition (20, 'Leaveout', 0.2), 2+i) ***** error ... repartition (cvpartition (20, 'KFold', 5), [34, 56; 2, 3]) ***** error ... test (cvpartition (20, 'kfold'), 2, 3) ***** error ... test (cvpartition (20, 'kfold'), 0) ***** error ... test (cvpartition (20, 'kfold'), 1.5) ***** error ... test (cvpartition (20, 'kfold'), [1, 1.5]) ***** error ... test (cvpartition (20, 'kfold'), [2, 3; 2, 3]) ***** error ... test (cvpartition (20, 'kfold'), 21) ***** error ... test (cvpartition (20, 'kfold'), [18, 21]) ***** error ... training (cvpartition (20, 'kfold'), 2, 3) ***** error ... training (cvpartition (20, 'kfold'), 0) ***** error ... training (cvpartition (20, 'kfold'), 1.5) ***** error ... training (cvpartition (20, 'kfold'), [1, 1.5]) ***** error ... training (cvpartition (20, 'kfold'), [2, 3; 2, 3]) ***** error ... training (cvpartition (20, 'kfold'), 21) ***** error ... training (cvpartition (20, 'kfold'), [18, 21]) ***** test ## 1. Stratified K-Fold: Basic Text Labels species = [repmat({'Setosa'}, 10, 1); repmat({'Versicolor'}, 10, 1)]; rand ('state', 42); c = cvpartition (species, 'KFold', 2); T = summary (c); assert_equal (height (T), 10); assert_equal (all (ismember ({'Set', 'SetSize', 'StratificationLabel', ... 'StratificationCount', 'PercentInSet'}, ... T.Properties.VariableNames)), true); ## Check Output Type (String Array) and Counts if (exist ('string', 'class')) assert_equal (isa (T.Set, 'string'), true); assert_equal (isa (T.StratificationLabel, 'string'), true); mask = (T.Set == 'all') & (T.StratificationLabel == 'Setosa'); else ## Fallback for older environments mask = strcmp (T.Set, 'all') & strcmp (T.StratificationLabel, 'Setosa'); endif assert_equal (T.StratificationCount(mask), 10); ***** test ## 2. Grouped K-Fold: Basic Numeric Labels groups = [1; 1; 1; 2; 2; 3; 3; 3; 3; 3]; rand ('state', 100); c = cvpartition (numel (groups), 'KFold', 2, 'GroupingVariables', groups); T = summary (c); assert_equal (any (strcmp ('GroupLabel', T.Properties.VariableNames)), true); ## Verify Group Integrity if (iscell (T.GroupLabel)) vals = cell2mat (T.GroupLabel); else vals = T.GroupLabel; endif mask_g3 = (vals == 3); if (exist ('string', 'class')) mask_t1 = (T.Set == 'test1'); else mask_t1 = strcmp (T.Set, 'test1'); endif count_g3 = T.GroupCount(mask_g3 & mask_t1); assert_equal (count_g3 == 5 || count_g3 == 0, true); ***** test ## 3. Grouped K-Fold: Matrix Grouping g1 = [1; 1; 1; 2; 2; 2]; g2 = [1; 1; 2; 1; 2; 2]; groups = [g1, g2]; c = cvpartition (6, 'KFold', 2, 'GroupingVariables', groups); T = summary (c); ## 4 unique groups * 5 sets (all + 2 train + 2 test) assert_equal (height (T), 20); ***** test ## 4. Stratified Holdout: Basic species = [repmat({'A'}, 10, 1); repmat({'B'}, 10, 1)]; c = cvpartition (species, 'Holdout', 0.5); T = summary (c); sets = unique (T.Set); assert_equal (numel (sets), 3); ## all, train1, test1 ***** test ## 5. Mathematical Consistency: Percentages classes = [1; 1; 2; 2; 3; 3]; c = cvpartition (classes, 'KFold', 2); T = summary (c); if (exist ('string', 'class')) mask_all = (T.Set == 'all'); mask_tr1 = (T.Set == 'train1'); else mask_all = strcmp (T.Set, 'all'); mask_tr1 = strcmp (T.Set, 'train1'); endif assert_equal (sum (T.PercentInSet(mask_all)), 100, 1e-10); assert_equal (sum (T.PercentInSet(mask_tr1)), 100, 1e-10); ***** test ## 6. Mathematical Consistency: Set Sizes N = 20; c = cvpartition (ones (N, 1), 'KFold', 4); T = summary (c); if (exist ('string', 'class')) mask_tr1 = (T.Set == 'train1'); mask_ts1 = (T.Set == 'test1'); else mask_tr1 = strcmp (T.Set, 'train1'); mask_ts1 = strcmp (T.Set, 'test1'); endif size_tr1 = T.SetSize(find (mask_tr1, 1)); size_ts1 = T.SetSize(find (mask_ts1, 1)); assert_equal (size_tr1 + size_ts1, N); ***** test ## 7. Logical Grouping Variables groups = [true; true; true; false; false]; c = cvpartition (5, 'KFold', 2, 'GroupingVariables', groups); T = summary (c); assert_equal (height (T), 2 * 5); if (iscell (T.GroupLabel)) u_labels = unique (cell2mat (T.GroupLabel)); else u_labels = unique (T.GroupLabel); endif assert_equal (numel (u_labels), 2); ***** test ## 8. Char Array Grouping Variables groups = ['A'; 'A'; 'B'; 'B'; 'C']; c = cvpartition (5, 'KFold', 2, 'GroupingVariables', groups); T = summary (c); assert_equal (height (T), 3 * 5); assert_equal (any (strcmp ('GroupLabel', T.Properties.VariableNames)), true); ***** test ## 9. Floating Point Grouping Variables groups = [1.1; 1.1; 2.2; 2.2]; c = cvpartition (4, 'KFold', 2, 'GroupingVariables', groups); T = summary (c); if (iscell (T.GroupLabel)) vals = cell2mat (T.GroupLabel); else vals = T.GroupLabel; endif assert_equal (any (abs (vals - 1.1) < 1e-10), true); assert_equal (any (abs (vals - 2.2) < 1e-10), true); ***** test ## 10. Negative Numeric Grouping groups = [-5; -5; -10; -10]; c = cvpartition (4, 'KFold', 2, 'GroupingVariables', groups); T = summary (c); assert_equal (height (T), 2 * 5); ***** test ## 11. Missing Values in Stratification (NaN) classes = [1; 1; 2; 2; NaN; NaN]; c = cvpartition (classes, 'KFold', 2); T = summary (c); if (exist ('string', 'class')) mask_all = (T.Set == 'all'); else mask_all = strcmp (T.Set, 'all'); endif total_obs = T.SetSize(find (mask_all, 1)); assert_equal (total_obs, 4); ***** test ## 12. Missing Values in Grouping (NaN) groups = [1; 1; 2; 2; NaN]; c = cvpartition (5, 'KFold', 2, 'GroupingVariables', groups); T = summary (c); if (exist ('string', 'class')) mask_all = (T.Set == 'all'); else mask_all = strcmp (T.Set, 'all'); endif assert_equal (T.SetSize(find (mask_all, 1)), 4); ***** test ## 13. Unbalanced Stratification species = [repmat({'C1'}, 90, 1); repmat({'C2'}, 10, 1)]; c = cvpartition (species, 'KFold', 2); T = summary (c); if (exist ('string', 'class')) mask_ts1 = (T.Set == 'test1'); subT = T(mask_ts1, :); c1_count = subT.StratificationCount(subT.StratificationLabel == 'C1'); c2_count = subT.StratificationCount(subT.StratificationLabel == 'C2'); else mask_ts1 = strcmp (T.Set, 'test1'); subT = T(mask_ts1, :); c1_count = subT.StratificationCount(strcmp (subT.StratificationLabel, 'C1')); c2_count = subT.StratificationCount(strcmp (subT.StratificationLabel, 'C2')); endif assert_equal (c1_count == 45, true); assert_equal (c2_count == 5, true); ***** test ## 14. Single Observation per Group (Edge Case) groups = [1; 2; 3; 4]; c = cvpartition (4, 'KFold', 2, 'GroupingVariables', groups); T = summary (c); if (exist ('string', 'class')) mask_ts1 = (T.Set == 'test1'); else mask_ts1 = strcmp (T.Set, 'test1'); endif counts = T.GroupCount(mask_ts1); assert_equal (sum (counts == 1), 2); assert_equal (sum (counts == 0), 2); ***** test ## 15. Set Name Generation Verification species = [1; 1; 2; 2]; c = cvpartition (species, 'KFold', 2); T = summary (c); set_names = unique (T.Set); expected = {'all'; 'train1'; 'test1'; 'train2'; 'test2'}; if (exist ('string', 'class')) ## Convert string array to cell for sort comparison assert_equal (sort (cellstr (set_names)), sort (expected)); else assert_equal (sort (set_names), sort (expected)); endif ***** test ## 16. Label Column Consistency groups = ['A'; 'B']; c = cvpartition (2, 'KFold', 2, 'GroupingVariables', groups); T = summary (c); if (exist ('string', 'class')) assert_equal (isa (T.GroupLabel, 'string'), true); else assert_equal (iscellstr (T.GroupLabel), true); endif ***** test ## 17. Valid "Blank" Labels (Space) - FIX APPLIED species = {'A'; 'A'; ' '; ' '}; c = cvpartition (species, 'KFold', 2); T = summary (c); if (exist ('string', 'class')) labels = cellstr (T.StratificationLabel); sets = cellstr (T.Set); assert_equal (any (strcmp (labels, ' ')), true); mask_space = strcmp (labels, ' '); mask_all = strcmp (sets, 'all'); else assert_equal (any (strcmp (T.StratificationLabel, ' ')), true); mask_space = strcmp (T.StratificationLabel, ' '); mask_all = strcmp (T.Set, 'all'); endif assert_equal (sum (T.StratificationCount(mask_space & mask_all)), 2); ***** test ## 18. Large K (Leave-One-Out Simulation) - FIX APPLIED species = [1; 1; 2; 2]; warn_state = warning ("off", 'all'); c = cvpartition (species, 'KFold', 4); warning (warn_state); T = summary (c); assert_equal (height (T), 18); if (exist ('string', 'class')) mask_test = startsWith (cellstr(T.Set), 'test'); else mask_test = strncmp (T.Set, 'test', 4); endif assert_equal (all (T.SetSize(mask_test) == 1), true); ***** test ## 19. Repeated Holdout Integrity species = [1; 1; 2; 2]; rand ('state', 42); c = cvpartition (species, 'Holdout', 0.5); T = summary (c); if (exist ('string', 'class')) mask_ts1 = (T.Set == 'test1'); else mask_ts1 = strcmp (T.Set, 'test1'); endif size_ts1 = T.SetSize(find (mask_ts1, 1)); assert_equal (size_ts1, 2); ***** test ## 20. Empty String Handling (Missing Data) species = {'A'; 'A'; ''; ''}; c = cvpartition (species, 'KFold', 2); T = summary (c); if (exist ('string', 'class')) assert_equal (! any (T.StratificationLabel == ''), true); mask_all = (T.Set == 'all'); else assert_equal (! any (strcmp (T.StratificationLabel, '')), true); mask_all = strcmp (T.Set, 'all'); endif total_rows = T.SetSize(find (mask_all, 1)); assert_equal (total_rows, 2); ***** test ## 21. Basic Unstacking (Stratified K-Fold) species = [repmat({'Alpha'}, 10, 1); repmat({'Beta'}, 10, 1)]; c = cvpartition (species, 'KFold', 2); T = summary (c); T_wide = unstack (T(:, 1:4), 'StratificationCount', 'StratificationLabel'); ## Check dimensions: 3 sets (all, train1, test1, etc) x (Set+SetSize + 2 Labels) assert_equal (height (T_wide), 5); assert_equal (width (T_wide), 4); assert_equal (all (ismember ({'Alpha', 'Beta'}, T_wide.Properties.VariableNames)), true); ***** test ## 22. Data Integrity Check (Row Sums) species = [repmat({'Control'}, 20, 1); repmat({'Treatment'}, 80, 1)]; c = cvpartition (species, 'Holdout', 0.25); T = summary (c); T_wide = unstack (T(:, 1:4), 'StratificationCount', 'StratificationLabel'); row_sums = T_wide.Control + T_wide.Treatment; assert_equal (all (row_sums == T_wide.SetSize), true); ***** test ## 23. Unstacking Grouped Data (Numeric Labels) groups = [1; 1; 2; 2; 2]; c = cvpartition (5, 'KFold', 2, 'GroupingVariables', groups); T = summary (c); T_wide = unstack (T(:, 1:4), 'GroupCount', 'GroupLabel'); ## Check if numeric columns were created successfully col_names = T_wide.Properties.VariableNames; assert_equal (any (cellfun (@(x) ! isempty (strfind (x, '1')), col_names)), true); assert_equal (any (cellfun (@(x) ! isempty (strfind (x, '2')), col_names)), true); ***** test ## 24. Unstacking with Missing/NaN Groups groups = [1; 1; 2; 2; NaN]; c = cvpartition (5, 'KFold', 2, 'GroupingVariables', groups); T = summary (c); T_wide = unstack (T(:, 1:4), 'GroupCount', 'GroupLabel'); ## Should only have columns for 1 and 2, not NaN or 'undefined' assert_equal (width (T_wide), 4); ## Set, SetSize, x1, x2 ***** test ## 25. Unstacking String Array Inputs species = {'Red'; 'Blue'; 'Red'; 'Blue'}; c = cvpartition (species, 'KFold', 2); T = summary (c); ## Verify input is actually string before unstacking checks if (exist ('string', 'class')) assert_equal (isa (T.Set, 'string'), true); endif T_wide = unstack (T(:, 1:4), 'StratificationCount', 'StratificationLabel'); ## Check the 'all' row count for Red assert_equal (T_wide.Red(strcmp(cellstr(T_wide.Set), 'all')) == 2, true); ***** test ## 26. Large K Unstacking (Many Rows) species = [repmat({'High'}, 10, 1); repmat({'Low'}, 10, 1)]; c = cvpartition (species, 'KFold', 10); T = summary (c); T_wide = unstack (T(:, 1:4), 'StratificationCount', 'StratificationLabel'); ## 10 folds * 2 (train/test) + 1 (all) = 21 rows assert_equal (height (T_wide), 21); ***** test ## 27. Unstacking with Special Characters in Labels species = {'Type A'; 'Type A'; 'Type-B'; 'Type-B'}; c = cvpartition (species, 'KFold', 2); T = summary (c); T_wide = unstack (T(:, 1:4), 'StratificationCount', 'StratificationLabel'); vnames = T_wide.Properties.VariableNames; ## Check if spaces/dashes were handled/preserved in some valid form assert_equal (numel (vnames), 4); ***** test ## 28. Verification of 'all' row logic after Unstacking species = [repmat({'Yes'}, 50, 1); repmat({'No'}, 50, 1)]; c = cvpartition (species, 'Holdout', 0.2); T = summary (c); T_wide = unstack (T(:, 1:4), 'StratificationCount', 'StratificationLabel'); mask = strcmp (cellstr (T_wide.Set), 'all'); assert_equal (T_wide.Yes(mask) == 50, true); assert_equal (T_wide.No(mask) == 50, true); ***** test ## 29. Robustness against re-ordering species = {'Left'; 'Left'; 'Right'; 'Right'}; c = cvpartition (species, 'Holdout', 0.5); T = summary (c); T_shuffled = T([3, 1, 2], :); T_wide = unstack (T_shuffled(:, 1:4), 'StratificationCount', 'StratificationLabel'); mask = strcmp (cellstr (T_wide.Set), 'all'); assert_equal (T_wide.Left(mask) == 2, true); ***** error c = cvpartition (20, 'KFold', 5); summary (c); ***** error c = cvpartition (10, 'LeaveOut'); summary (c); 133 tests, 133 passed, 0 known failure, 0 skipped [inst/Clustering/CalinskiHarabaszEvaluation.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Clustering/CalinskiHarabaszEvaluation.m ***** test load fisheriris eva = evalclusters (meas, 'kmeans', 'calinskiharabasz', 'KList', [1:6]); assert_equal (class (eva), "CalinskiHarabaszEvaluation"); ***** function C = count_calls_calinskiharabasz (X, k) global count_calls_calinskiharabasz_n; count_calls_calinskiharabasz_n += 1; C = mod ((0 : rows (X) - 1)', k) + 1; ***** endfunction ***** test ## custom function must be called exactly once per inspected K global count_calls_calinskiharabasz_n; count_calls_calinskiharabasz_n = 0; evalclusters (rand (20, 2), @count_calls_calinskiharabasz, ... 'CalinskiHarabasz', 'KList', [2, 3]); assert_equal (count_calls_calinskiharabasz_n, 2); clear -global count_calls_calinskiharabasz_n; 2 tests, 2 passed, 0 known failure, 0 skipped [inst/Clustering/hnswSearcher.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Clustering/hnswSearcher.m ***** demo ## Create an hnswSearcher with Euclidean distance X = [1, 2; 3, 4; 5, 6]; obj = hnswSearcher (X); ## Find the nearest neighbor to [2, 3] Y = [2, 3]; [idx, D] = knnsearch (obj, Y, 'K', 1); disp ('Nearest neighbor index:'); disp (idx); disp ('Distance:'); disp (D); ***** demo ## Create an hnswSearcher with Minkowski distance (P=3) X = [0, 0; 1, 0; 2, 0]; obj = hnswSearcher (X, 'Distance', 'minkowski', 'P', 3); ## Find the nearest neighbor to [1, 0] Y = [1, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1); disp ('Nearest neighbor index:'); disp (idx); disp ('Distance:'); disp (D); ***** test load fisheriris X = meas; obj = hnswSearcher (X, 'Distance', 'chebychev'); Y = X(30:35,:); [idx, D] = knnsearch (obj, Y, 'K', 4); assert_equal (idx, [[30 31 4 12]; [31 30 10 35]; [32 21 37 28]; [33 47 20 34]; ... [34 16 33 15]; [35 10 26 2]]) assert_equal (D, [[0 0.1000 0.1000 0.2000]; [0 0.1000 0.1000 0.1000]; [0 0.2000 ... 0.2000 0.2000]; [0 0.3000 0.3000 0.3000]; [0 0.2000 0.3000 ... 0.3000]; [0 0.1000 0.1000 0.1000]], 5e-15) ***** test load fisheriris X = meas; C = cov (X); obj = hnswSearcher (X, 'Distance', 'mahalanobis', 'Cov', C); Y = X(120:125,:); [idx, D] = knnsearch (obj, Y, 'K', 2); assert_equal (idx(1, :), [120 82]) assert_equal (idx(4, :), [123 106]) assert_equal (idx(5, :), [124 127]) assert_equal (idx(6, :), [125 57]) assert_equal (D(1, :), [0 0.7734], 1e-4) assert_equal (D(4, :), [0 0.8452], 1e-4) assert_equal (D(5, :), [0 0.4152], 1e-4) assert_equal (D(6, :), [0 0.7322], 1e-4) ***** test ## Basic constructor with default Euclidean X = [1, 2; 3, 4; 5, 6]; obj = hnswSearcher (X); assert_equal (obj.X, X); assert_equal (obj.Distance, "euclidean"); assert_equal (isempty (obj.DistParameter), true); ***** test ## Minkowski distance with custom P X = [0, 0; 1, 1; 2, 2]; obj = hnswSearcher (X, 'Distance', 'minkowski', 'P', 3); assert_equal (obj.Distance, "minkowski"); assert_equal (obj.DistParameter, 3); ***** test ## Seuclidean distance with custom Scale X = [1, 2; 3, 4; 5, 6]; S = [1, 2]; obj = hnswSearcher (X, 'Distance', 'seuclidean', 'Scale', S); assert_equal (obj.Distance, "seuclidean"); assert_equal (obj.DistParameter, S); ***** test ## Mahalanobis distance with custom Cov X = [1, 2; 3, 4; 5, 6]; C = [1, 0; 0, 1]; obj = hnswSearcher (X, 'Distance', 'mahalanobis', 'Cov', C); assert_equal (obj.Distance, "mahalanobis"); assert_equal (obj.DistParameter, C); ***** test ## knnsearch with Euclidean distance X = [1, 2; 3, 4; 5, 6]; obj = hnswSearcher (X); Y = [2, 3]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [2]), true); assert_equal (abs (D - sqrt (2)) < 1e-2, true); ***** test ## knnsearch with Cityblock distance X = [0, 0; 1, 1; 2, 2]; obj = hnswSearcher (X, 'Distance', 'cityblock'); Y = [1, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [1, 2]), true); assert_equal (abs (D - 1) < 1e-2, true); ***** test ## knnsearch with Chebychev distance X = [1, 1; 2, 3; 4, 2]; obj = hnswSearcher (X, 'Distance', 'chebychev'); Y = [2, 2]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [1, 2]), true); assert_equal (abs (D - 1) < 1e-2, true); ***** test ## knnsearch with Minkowski P=3 X = [0, 0; 1, 0; 2, 0]; obj = hnswSearcher (X, 'Distance', 'minkowski', 'P', 3); Y = [1, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [2]), true); assert_equal (abs (D - 0) < 1e-2, true); ***** test ## Diverse dataset with Euclidean X = [0, 10; 5, 5; 10, 0]; obj = hnswSearcher (X); Y = [5, 5]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [2]), true); assert_equal (abs (D - 0) < 1e-2, true); ***** test ## High-dimensional data with Cityblock X = [1, 2, 3; 4, 5, 6; 7, 8, 9]; obj = hnswSearcher (X, 'Distance', 'cityblock'); Y = [4, 5, 6]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [2]), true); assert_equal (abs (D - 0) < 1e-2, true); ***** error ... hnswSearcher () ***** error ... hnswSearcher (ones (3,2), 'Distance') ***** error ... hnswSearcher ([]) ***** error ... hnswSearcher ('abc') ***** error ... hnswSearcher ([1; Inf; 3]) ***** error ... hnswSearcher (ones (3,2), 'foo', 'bar') ***** error ... hnswSearcher (ones (3,2), 'Distance', 'invalid') ***** error ... hnswSearcher (ones (3,2), 'Distance', 1) ***** error ... hnswSearcher (ones (3,2), 'Distance', 'minkowski', 'P', -1) ***** error ... hnswSearcher (ones (3,2), 'Distance', 'seuclidean', 'Scale', [-1, 1]) ***** error ... hnswSearcher (ones (3,2), 'Distance', 'mahalanobis', 'Cov', ones (3,3)) ***** error ... hnswSearcher (ones (3,2), 'Distance', 'mahalanobis', 'Cov', [1, 2; 3, 4]) ***** error ... hnswSearcher (ones (3,2), 'Distance', 'mahalanobis', 'Cov', -eye (2)) ***** error ... hnswSearcher (ones (3,2), 'MaxNumLinksPerNode', 0) ***** error ... hnswSearcher (ones (3,2), 'TrainSetSize', -1) ***** error ... hnswSearcher (ones (3,2), 'TrainSetSize', 4) ***** error ... hnswSearcher (ones (3,2), 'MaxNumLinksPerNode', 200, 'TrainSetSize', 100) ***** error ... knnsearch (hnswSearcher (ones (3,2))) ***** error ... knnsearch (hnswSearcher (ones (3,2)), ones (3,2), 'K') ***** error ... knnsearch (hnswSearcher (ones (3,2)), []) ***** error ... knnsearch (hnswSearcher (ones (3,2)), 'abc') ***** error ... knnsearch (hnswSearcher (ones (3,2)), ones (3,3)) ***** error ... knnsearch (hnswSearcher (ones (3,2)), ones (3,2), 'K', 0) ***** error ... knnsearch (hnswSearcher (ones (3,2)), ones (3,2), 'foo', 'bar') ***** error ... obj = hnswSearcher (ones (3,2)); obj(1) ***** error ... obj = hnswSearcher (ones (3,2)); obj{1} ***** error ... obj = hnswSearcher (ones (3,2)); obj.invalid ***** error ... obj = hnswSearcher (ones (3,2)); obj(1) = 1 ***** error ... obj = hnswSearcher (ones (3,2)); obj{1} = 1 ***** error ... obj = hnswSearcher (ones (3,2)); obj.X = 1 ***** error ... obj = hnswSearcher (ones (3,2)); obj.HNSWGraph = 1 ***** error ... obj = hnswSearcher (ones (3,2)); obj.Distance = 'invalid' ***** error ... obj = hnswSearcher (ones (3,2)); obj.Distance = 1 ***** error ... obj = hnswSearcher (ones (3,2), 'Distance', 'minkowski'); obj.DistParameter = -1 ***** error ... obj = hnswSearcher (ones (3,2), 'Distance', 'seuclidean'); obj.DistParameter = [-1, 1] ***** error ... obj = hnswSearcher (ones (3,2), 'Distance', 'mahalanobis'); obj.DistParameter = ones (3,3) ***** error ... obj = hnswSearcher (ones (3,2), 'Distance', 'mahalanobis'); obj.DistParameter = -eye (2) ***** error ... obj = hnswSearcher (ones (3,2)); obj.DistParameter = 1 ***** error ... obj = hnswSearcher (ones (3,2)); obj.MaxNumLinksPerNode = 0 ***** error ... obj = hnswSearcher (ones (3,2)); obj.TrainSetSize = -1 ***** error ... obj = hnswSearcher (ones (3,2)); obj.efSearch = 1.5 ***** error ... obj = hnswSearcher (ones (3,2)); obj.invalid = 1 54 tests, 54 passed, 0 known failure, 0 skipped [inst/Clustering/ExhaustiveSearcher.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Clustering/ExhaustiveSearcher.m ***** demo ## Demo to verify implementation using fisheriris dataset load fisheriris rng ('default'); numSamples = size (meas, 1); queryIndices = [20, 95, 123, 136, 138]; dataPoints = meas(! ismember (1:numSamples, queryIndices), :); queryPoints = meas(queryIndices, :); searchModel = ExhaustiveSearcher (dataPoints, 'Distance', 'mahalanobis') mahalanobisParam = searchModel.DistParameter searchRadius = 3; nearestNeighbors = knnsearch (searchModel, queryPoints, 'K', 2) neighborsInRange = rangesearch (searchModel, queryPoints, searchRadius) ***** demo ## Create an ExhaustiveSearcher with Euclidean distance X = [1, 2; 3, 4; 5, 6]; obj = ExhaustiveSearcher (X); ## Find the nearest neighbor to [2, 3] Y = [2, 3]; [idx, D] = knnsearch (obj, Y); disp ('Nearest neighbor index:'); disp (idx); disp ('Distance:'); disp (D); ## Find all points within radius 2 [idx, D] = rangesearch (obj, Y, 2); disp ('Indices within radius:'); disp (idx); disp ('Distances:'); disp (D); ***** demo ## Create an ExhaustiveSearcher with Minkowski distance (P=1) X = [0, 0; 1, 0; 0, 1]; obj = ExhaustiveSearcher (X, 'Distance', 'minkowski', 'P', 1); ## Find the 2 nearest neighbors to [0.5, 0.5] Y = [0.5, 0.5]; [idx, D] = knnsearch (obj, Y, 'K', 2); disp ('Nearest neighbor indices:'); disp (idx); disp ('Distances:'); disp (D); ***** demo rng (42); disp ('Demonstrating ExhaustiveSearcher'); n = 100; mu1 = [0.3, 0.3]; mu2 = [0.7, 0.7]; sigma = 0.1; X1 = mu1 + sigma * randn (n/2, 2); X2 = mu2 + sigma * randn (n/2, 2); X = [X1; X2]; obj = ExhaustiveSearcher (X); Y = [0.3, 0.3; 0.7, 0.7; 0.5, 0.5]; K = 5; [idx, D] = knnsearch (obj, Y, 'K', K); disp ('For the first query point:'); disp (['Query point: ', num2str(Y(1,:))]); disp ('Indices of nearest neighbors:'); disp (idx(1,:)); disp ('Distances:'); disp (D(1,:)); figure; scatter (X(:,1), X(:,2), 36, 'b', 'filled'); % Training points hold on; scatter (Y(:,1), Y(:,2), 36, 'r', 'filled'); % Query points for i = 1:size (Y,1) query = Y(i,:); neighbors = X(idx(i,:), :); for j = 1:K plot ([query(1), neighbors(j,1)], [query(2), neighbors(j,2)], 'k-'); endfor endfor hold off; title ('K Nearest Neighbors with ExhaustiveSearcher'); xlabel ('X1'); ylabel ('X2'); r = 0.15; [idx, D] = rangesearch (obj, Y, r); disp ('For the first query point in rangesearch:'); disp (['Query point: ', num2str(Y(1,:))]); disp ('Indices of points within radius:'); disp (idx{1}); disp ('Distances:'); disp (D{1}); figure; scatter (X(:,1), X(:,2), 36, 'b', 'filled'); hold on; scatter (Y(:,1), Y(:,2), 36, 'r', 'filled'); theta = linspace (0, 2*pi, 100); for i = 1:size (Y,1) center = Y(i,:); x_circle = center(1) + r * cos (theta); y_circle = center(2) + r * sin (theta); plot (x_circle, y_circle, 'g-'); % Highlight points within radius if ! isempty (idx{i}) in_radius = X(idx{i}, :); scatter (in_radius(:,1), in_radius(:,2), 36, 'g', 'filled'); endif endfor hold off; title ('Points within Radius with ExhaustiveSearcher'); xlabel ('X1'); ylabel ('X2'); ***** test ## Basic constructor with default Euclidean X = [1, 2; 3, 4; 5, 6]; obj = ExhaustiveSearcher (X); assert_equal (obj.X, X) assert_equal (obj.Distance, "euclidean") assert_equal (isempty (obj.DistParameter), true) ***** test ## Minkowski distance with custom P X = [1, 2; 3, 4]; obj = ExhaustiveSearcher (X, 'Distance', 'minkowski', 'P', 3); assert_equal (obj.Distance, "minkowski") assert_equal (obj.DistParameter, 3) ***** test ## Seuclidean distance with custom Scale X = [1, 2; 3, 4; 5, 6]; S = [1, 2]; obj = ExhaustiveSearcher (X, 'Distance', 'seuclidean', 'Scale', S); assert_equal (obj.Distance, "seuclidean") assert_equal (obj.DistParameter, S) ***** test ## Mahalanobis distance with custom Cov X = [1, 2; 3, 4; 5, 6]; C = [1, 0; 0, 1]; obj = ExhaustiveSearcher (X, 'Distance', 'mahalanobis', 'Cov', C); assert_equal (obj.Distance, "mahalanobis") assert_equal (obj.DistParameter, C) ***** test ## knnsearch with Euclidean distance X = [1, 2; 3, 4; 5, 6]; obj = ExhaustiveSearcher (X); Y = [2, 3]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (idx, 1) assert_equal (D, sqrt (2), 1e-10) ***** test ## knnsearch with Cityblock distance X = [0, 0; 1, 1; 2, 2]; obj = ExhaustiveSearcher (X, 'Distance', 'cityblock'); Y = [1, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (idx, 1) assert_equal (D, 1, 1e-10) ***** test ## knnsearch with Chebychev distance X = [1, 1; 2, 3; 4, 2]; obj = ExhaustiveSearcher (X, 'Distance', 'chebychev'); Y = [2, 2]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 1) assert_equal (D, 1, 1e-10) ***** test ## knnsearch with Cosine distance X = [1, 0; 0, 1; 1, 1]; obj = ExhaustiveSearcher (X, 'Distance', 'cosine'); Y = [1, 0.5]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 3) assert_equal (D < 0.1, true) ***** test ## knnsearch with Minkowski P=1 (Manhattan) X = [0, 0; 1, 0; 0, 1]; obj = ExhaustiveSearcher (X, 'Distance', 'minkowski', 'P', 1); Y = [0.5, 0.5]; [idx, D] = knnsearch (obj, Y, 'K', 2, 'IncludeTies', true); assert_equal (iscell (idx), true) assert_equal (idx{1}, [1, 2, 3]) assert_equal (D{1}, [1, 1, 1], 1e-10) ***** test ## rangesearch with Seuclidean X = [1, 1; 2, 2; 3, 3]; S = [1, 1]; obj = ExhaustiveSearcher (X, 'Distance', 'seuclidean', 'Scale', S); Y = [0, 0]; [idx, D] = rangesearch (obj, Y, 2); assert_equal (idx{1}, [1]) assert_equal (D{1}, [sqrt(2)], 1e-10) ***** test ## rangesearch with Mahalanobis X = [1, 1; 2, 2; 3, 3]; C = [1, 0; 0, 1]; obj = ExhaustiveSearcher (X, 'Distance', 'mahalanobis', 'Cov', C); Y = [0, 0]; [idx, D] = rangesearch (obj, Y, 3, 'SortIndices', false); assert_equal (idx{1}, [1, 2]) assert_equal (D{1}, [sqrt(2), sqrt(8)], 1e-10) ***** test ## rangesearch with Hamming distance X = [0, 1; 1, 0; 1, 1]; obj = ExhaustiveSearcher (X, 'Distance', 'hamming'); Y = [0, 0]; [idx, D] = rangesearch (obj, Y, 0.5); assert_equal (idx{1}, [1, 2]) assert_equal (D{1}, [0.5, 0.5], 1e-10) ***** test ## Custom distance function X = [1, 2; 3, 4]; custom_dist = @(x, y) sum (abs (x - y)); obj = ExhaustiveSearcher (X, 'Distance', custom_dist); Y = [2, 3]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 1) assert_equal (D, 2, 1e-10) ***** test ## IncludeTies returns all tied neighbors X = [0; 1; 2]; obj = ExhaustiveSearcher (X); Y = 1; [idx, D] = knnsearch (obj, Y, 'K', 2, 'IncludeTies', true); assert_equal (idx{1}, [2, 1, 3]) assert_equal (D{1}, [0, 1, 1]) ***** test ## Custom distance function with vectorized output X = [1, 2; 3, 4]; f = @(x, y) sum (abs (x - y), 2); obj = ExhaustiveSearcher (X, 'Distance', f); Y = [2, 3]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 1) assert_equal (D, 2) ***** test ## Euclidean with high-dimensional data X = [1, 2, 3; 4, 5, 6; 7, 8, 9; 10, 11, 12]; obj = ExhaustiveSearcher (X); Y = [5, 6, 7]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 2) assert_equal (D, sqrt (3), 1e-10) ***** test ## Minkowski P=3 with scaled data X = [0, 1; 2, 3; 4, 5] * 10; obj = ExhaustiveSearcher (X, 'Distance', 'minkowski', 'P', 3); Y = [20, 30]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 2) assert_equal (D, 0, 1e-10) ***** test ## Seuclidean with custom scales on diverse data X = [1, 10; 2, 20; 3, 30]; S = [1, 5]; obj = ExhaustiveSearcher (X, 'Distance', 'seuclidean', 'Scale', S); Y = [1.5, 15]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 1) assert_equal (D, sqrt ((0.5/1)^2 + (5/5)^2), 1e-10) ***** test ## Mahalanobis with correlated data X = [1, 1; 2, 1.5; 3, 2]; C = [1, 0.5; 0.5, 1]; obj = ExhaustiveSearcher (X, 'Distance', 'mahalanobis', 'Cov', C); Y = [2, 1.5]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 2) assert_equal (D, 0, 1e-10) ***** test ## Cityblock with sparse data X = [0, 0, 1; 1, 0, 0; 0, 1, 0]; obj = ExhaustiveSearcher (X, 'Distance', 'cityblock'); Y = [0, 0, 0]; [idx, D] = rangesearch (obj, Y, 1); assert_equal (idx{1}, [1, 2, 3]) assert_equal (D{1}, [1, 1, 1], 1e-10) ***** test ## Chebychev with extreme values X = [0, 100; 50, 50; 100, 0]; obj = ExhaustiveSearcher (X, 'Distance', 'chebychev'); Y = [60, 60]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 2) assert_equal (D, 10, 1e-10) ***** test ## Cosine with normalized data X = [1, 0; 0, 1; 1/sqrt(2), 1/sqrt(2)]; obj = ExhaustiveSearcher (X, 'Distance', 'cosine'); Y = [1, 1]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 3) assert_equal (D < 0.1, true) ***** test ## Correlation with time-series-like data X = [1, 2, 3; 2, 4, 6; 1, 1, 1]; obj = ExhaustiveSearcher (X, 'Distance', 'correlation'); Y = [1.5, 3, 4.5]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 1) assert_equal (D < 0.1, true) ***** test ## Spearman with ranked data X = [1, 2, 3; 3, 2, 1; 2, 1, 3]; obj = ExhaustiveSearcher (X, 'Distance', 'spearman'); Y = [1, 2, 3]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 1) assert_equal (D, 0, 1e-10) ***** test ## Jaccard with binary sparse data X = [1, 0, 0; 0, 1, 0; 1, 1, 0]; obj = ExhaustiveSearcher (X, 'Distance', 'jaccard'); Y = [1, 0, 0]; [idx, D] = knnsearch (obj, Y); assert_equal (idx, 1) assert_equal (D, 0, 1e-10) ***** test obj = ExhaustiveSearcher (ones (3,2)); assert_equal (obj.X, ones (3,2)) assert_equal (obj.Distance, "euclidean") assert_equal (isempty (obj.DistParameter), true) ***** test obj = ExhaustiveSearcher (ones (3,2)); obj.Distance = 'minkowski'; assert_equal (obj.Distance, "minkowski") ***** test obj = ExhaustiveSearcher (ones (3,2), 'Distance', 'minkowski'); obj.DistParameter = 3; assert_equal (obj.DistParameter, 3) ***** test obj = ExhaustiveSearcher (ones (3,2), 'Distance', 'seuclidean'); obj.DistParameter = [1, 2]; assert_equal (obj.DistParameter, [1, 2]) ***** test obj = ExhaustiveSearcher (ones (3,2), 'Distance', 'mahalanobis'); obj.DistParameter = eye (2); assert_equal (obj.DistParameter, eye (2)) ***** error ... ExhaustiveSearcher () ***** error ... ExhaustiveSearcher (ones (3,2), 'Distance') ***** error ... ExhaustiveSearcher ('abc') ***** error ... ExhaustiveSearcher ([1; Inf; 3]) ***** error ... ExhaustiveSearcher (ones (3,2), 'foo', 'bar') ***** error ... ExhaustiveSearcher (ones (3,2), 'Distance', 'invalid') ***** error ... ExhaustiveSearcher (ones (3,2), 'Distance', @(x) x) ***** error ... ExhaustiveSearcher (ones (3,2), 'Distance', 1) ***** error ... ExhaustiveSearcher (ones (3,2), 'Distance', 'minkowski', 'P', -1) ***** error ... ExhaustiveSearcher (ones (3,2), 'Distance', 'seuclidean', 'Scale', [-1, 1]) ***** error ... ExhaustiveSearcher (ones (3,2), 'Distance', 'mahalanobis', 'Cov', ones (3,3)) ***** error ... ExhaustiveSearcher (ones (3,2), 'Distance', 'mahalanobis', 'Cov', -eye (2)) ***** error ... knnsearch (ExhaustiveSearcher (ones (3,2))) ***** error ... knnsearch (ExhaustiveSearcher (ones (3,2)), ones (3,2), 'IncludeTies') ***** error ... knnsearch (ExhaustiveSearcher (ones (3,2)), 'abc') ***** error ... knnsearch (ExhaustiveSearcher (ones (3,2)), ones (3,3)) ***** error ... knnsearch (ExhaustiveSearcher (ones (3,2)), ones (3,2), 'K', 0) ***** error ... knnsearch (ExhaustiveSearcher (ones (3,2)), ones (3,2), 'foo', 'bar') ***** error ... knnsearch (ExhaustiveSearcher (ones (3,2)), ones (3,2), 'IncludeTies', 1) ***** error ... rangesearch (ExhaustiveSearcher (ones (3,2))) ***** error ... rangesearch (ExhaustiveSearcher (ones (3,2)), ones (3,2), 1, 'SortIndices') ***** error ... rangesearch (ExhaustiveSearcher (ones (3,2)), 'abc', 1) ***** error ... rangesearch (ExhaustiveSearcher (ones (3,2)), ones (3,3), 1) ***** error ... rangesearch (ExhaustiveSearcher (ones (3,2)), ones (3,2), -1) ***** error ... rangesearch (ExhaustiveSearcher (ones (3,2)), ones (3,2), 1, 'foo', 'bar') ***** error ... rangesearch (ExhaustiveSearcher (ones (3,2)), ones (3,2), 1, 'SortIndices', 1) ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj(1) ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj{1} ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj.(1) ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj.invalid ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj(1) = 1 ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj{1} = 1 ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj.X.Y = 1 ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj.(1) = 1 ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj.X = 1 ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj.Distance = 'invalid' ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj.Distance = @(x) x ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj.Distance = @(x, y) [1; 1] ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj.Distance = 1 ***** error ... obj = ExhaustiveSearcher (ones (3,2), 'Distance', 'minkowski'); obj.DistParameter = -1 ***** error ... obj = ExhaustiveSearcher (ones (3,2), 'Distance', 'seuclidean'); obj.DistParameter = [-1, 1] ***** error ... obj = ExhaustiveSearcher (ones (3,2), 'Distance', 'mahalanobis'); obj.DistParameter = ones (3,3) ***** error ... obj = ExhaustiveSearcher (ones (3,2), 'Distance', 'mahalanobis'); obj.DistParameter = -eye (2) ***** error ... obj = ExhaustiveSearcher (ones (3,2), 'Distance', 'euclidean'); obj.DistParameter = 1 ***** error ... obj = ExhaustiveSearcher (ones (3,2)); obj.invalid = 1 75 tests, 75 passed, 0 known failure, 0 skipped [inst/Clustering/KDTreeSearcher.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Clustering/KDTreeSearcher.m ***** demo ## Demo to verify implementation using fisheriris dataset load fisheriris numSamples = size (meas, 1); queryIndices = [1, 23, 46, 63, 109]; dataIndices = ! ismember (1:numSamples, queryIndices); queryPoints = meas(queryIndices, :); dataPoints = meas(dataIndices, :); searchRadius = 0.3; kdTree = KDTreeSearcher (dataPoints, 'Distance', 'minkowski') nearestNeighbors = knnsearch (kdTree, queryPoints, 'K', 2) neighborsInRange = rangesearch (kdTree, queryPoints, searchRadius) ***** demo ## Create a KDTreeSearcher with Euclidean distance X = [1, 2; 3, 4; 5, 6]; obj = KDTreeSearcher (X); ## Find the nearest neighbor to [2, 3] Y = [2, 3]; [idx, D] = knnsearch (obj, Y, 'K', 1); disp ('Nearest neighbor index:'); disp (idx); disp ('Distance:'); disp (D); ## Find all points within radius 2 [idx, D] = rangesearch (obj, Y, 2); disp ('Indices within radius:'); disp (idx); disp ('Distances:'); disp (D); ***** demo ## Create a KDTreeSearcher with Minkowski distance (P=3) X = [0, 0; 1, 0; 2, 0]; obj = KDTreeSearcher (X, 'Distance', 'minkowski', 'P', 3); ## Find the nearest neighbor to [1, 0] Y = [1, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1); disp ('Nearest neighbor index:'); disp (idx); disp ('Distance:'); disp (D); ***** demo rng (42); disp ('Demonstrating KDTreeSearcher'); n = 100; mu1 = [0.3, 0.3]; mu2 = [0.7, 0.7]; sigma = 0.1; X1 = mu1 + sigma * randn (n / 2, 2); X2 = mu2 + sigma * randn (n / 2, 2); X = [X1; X2]; obj = KDTreeSearcher (X); Y = [0.3, 0.3; 0.7, 0.7; 0.5, 0.5]; K = 5; [idx, D] = knnsearch (obj, Y, 'K', K); disp ('For the first query point:'); disp (['Query point: ', num2str(Y(1,:))]); disp ('Indices of nearest neighbors:'); disp (idx(1,:)); disp ('Distances:'); disp (D(1,:)); figure; scatter (X(:,1), X(:,2), 36, 'b', 'filled'); # Training points hold on; scatter (Y(:,1), Y(:,2), 36, 'r', 'filled'); # Query points for i = 1:size (Y, 1) query = Y(i,:); neighbors = X(idx(i,:), :); for j = 1:K plot ([query(1), neighbors(j,1)], [query(2), neighbors(j,2)], 'k-'); endfor endfor hold off; title ('K Nearest Neighbors with KDTreeSearcher'); xlabel ('X1'); ylabel ('X2'); r = 0.15; [idx, D] = rangesearch (obj, Y, r); disp ('For the first query point in rangesearch:'); disp (['Query point: ', num2str(Y(1,:))]); disp ('Indices of points within radius:'); disp (idx{1}); disp ('Distances:'); disp (D{1}); figure; scatter (X(:,1), X(:,2), 36, 'b', 'filled'); hold on; scatter (Y(:,1), Y(:,2), 36, 'r', 'filled'); theta = linspace (0, 2 * pi, 100); for i = 1:size (Y, 1) center = Y(i,:); x_circle = center(1) + r * cos (theta); y_circle = center(2) + r * sin (theta); plot (x_circle, y_circle, 'g-'); ## Highlight points within radius if (! isempty (idx{i})) in_radius = X(idx{i}, :); scatter (in_radius(:,1), in_radius(:,2), 36, 'g', 'filled'); endif endfor hold off title ('Points within Radius with KDTreeSearcher'); xlabel ('X1'); ylabel ('X2'); ***** test load fisheriris X = meas; obj = KDTreeSearcher (X); Y = X(1:5,:); [idx, D] = knnsearch (obj, Y, 'K', 3); assert_equal (idx, [[1, 18, 5]; [2, 35, 46]; [3, 48, 4]; [4, 48, 30]; [5, 38, 1]]) assert_equal (D, [[0, 0.1000, 0.1414]; [0, 0.1414, 0.1414]; [0, 0.1414, 0.2449]; [0, 0.1414, 0.1732]; [0, 0.1414, 0.1414]], 5e-5) ***** test load fisheriris X = meas; obj = KDTreeSearcher (X, 'Distance', 'minkowski', 'P', 3); Y = X(10:15,:); [idx, D] = knnsearch (obj, Y, 'K', 2); assert_equal (idx, [[10, 35]; [11, 49]; [12, 30]; [13, 2]; [14, 39]; [15, 34]]) assert_equal (D, [[0, 0.1000]; [0, 0.1000]; [0, 0.2080]; [0, 0.1260]; [0, 0.2154]; [0, 0.3503]], 5e-5) ***** test load fisheriris X = meas; obj = KDTreeSearcher (X, 'Distance', 'cityblock'); Y = X(20:25,:); [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (idx, [20; 21; 22; 23; 24; 25]) assert_equal (D, [0; 0; 0; 0; 0; 0]) ***** test load fisheriris X = meas; obj = KDTreeSearcher (X, 'Distance', 'chebychev'); Y = X(30:35,:); [idx, D] = knnsearch (obj, Y, 'K', 4); assert_equal (idx, [[30, 31, 4, 12]; [31, 30, 10, 35]; [32, 21, 37, 28]; [33, 20, 34, 47]; [34, 16, 15, 33]; [35, 10, 2, 26]]) assert_equal (D, [[0, 0.1000, 0.1000, 0.2000]; [0, 0.1000, 0.1000, 0.1000]; [0, 0.2000, 0.2000, 0.2000]; [0, 0.3000, 0.3000, 0.3000]; [0, 0.2000, 0.3000, 0.3000]; [0, 0.1000, 0.1000, 0.1000]], 5e-15) ***** test load fisheriris X = meas; obj = KDTreeSearcher (X, 'BucketSize', 20); Y = X(40:45,:); [idx, D] = knnsearch (obj, Y, 'K', 2); assert_equal (idx, [[40, 8]; [41, 18]; [42, 9]; [43, 39]; [44, 27]; [45, 47]]) assert_equal (D, [[0, 0.1000]; [0, 0.1414]; [0, 0.6245]; [0, 0.2000]; [0, 0.2236]; [0, 0.3606]], 4.7e-5) ***** test load fisheriris X = meas; obj = KDTreeSearcher (X); Y = X(50:55,:); [idx, D] = knnsearch (obj, Y, 'K', 3, 'IncludeTies', true); assert_equal (idx, {[50; 8; 40]; [51; 53; 87]; [52; 57; 76]; [53; 51; 87]; [54; ... 90; 81]; [55; 59; 76]}) assert_equal (D, {[0; 0.1414; 0.1732]; [0; 0.2646; 0.3317]; [0; 0.2646; 0.3162]; [0; 0.2646; 0.2828]; [0; 0.2000; 0.3000]; [0; 0.2449; 0.3162]}, 5e-5) ***** test load fisheriris X = meas; obj = KDTreeSearcher (X); Y = X(60:65,:); [idx, D] = rangesearch (obj, Y, 0.4); assert_equal (idx, {[60; 90]; [61; 94]; [62; 97; 79; 96; 100; 89; 98; 72]; [63]; [64; 92; 74; 79]; [65]}) assert_equal (D, {[0; 0.3873]; [0; 0.3606]; [0; 0.3000; 0.3317; 0.3606; 0.3606; 0.3742; 0.3873; 0.4000]; [0]; [0; 0.1414; 0.2236; 0.2449]; [0]}, 5e-5) ***** test load fisheriris X = meas; obj = KDTreeSearcher (X, 'Distance', 'cityblock'); Y = X(70:72,:); [idx, D] = rangesearch (obj, Y, 1.0); assert_equal (idx, {[70; 81; 90; 82; 83; 93; 54; 68; 95; 80; 91; 100; 60; 65; ... 89; 63]; [71; 139; 128; 150; 127; 57; 86; 64; 79; 92; 124]; [72; 100; 98; 83; 93; 97; 75; 68; 62; 89; 95; 74; 56; 90; ... 79; 92; 96; 64; 63; 65]}) assert_equal (D, {[0; 0.3000; 0.4000; 0.5000; 0.5000; 0.5000; 0.6000; 0.7000; ... 0.7000; 0.7000; 0.8000; 0.8000; 0.9000; 0.9000; 0.9000; 0.9000]; [0; 0.3000; 0.5000; 0.5000; 0.7000; 0.8000; 0.8000; 1.0000; ... 1.0000; 1.0000; 1]; [0; 0.5000; 0.5000; 0.6000; 0.6000; ... 0.7000; 0.7000; 0.8000; 0.8000; 0.8000; 0.8000; 0.8000; ... 0.9000; 0.9000; 0.9000; 0.9000; 0.9000; 0.9000; 1.0000; 1]}, 5e-5) ***** test load fisheriris X = meas; obj = KDTreeSearcher (X, 'Distance', 'minkowski', 'P', 3); Y = X(80:85,:); [idx, D] = rangesearch (obj, Y, 0.8); assert_equal (idx, {[80; 82; 81; 65; 70; 83; 93; 90; 54; 63; 68; 72; 100; 60; ... 89; 99; 95; 94; 97; 96]; [81; 82; 70; 54; 90; 93; 80; 83; ... 60; 68; 95; 100; 65; 63; 97; 61; 91; 94; 89; 96; 72; 58; ... 62; 56]; [82; 81; 70; 80; 54; 90; 93; 83; 68; 60; 65; 63; ... 100; 95; 94; 61; 58; 97; 89; 72; 96; 91; 99]; [83; 93; ... 100; 68; 70; 72; 95; 90; 97; 65; 89; 96; 81; 82; 80; 62; ... 54; 98; 63; 91; 56; 60; 79; 67; 75; 88; 85; 92; 69]; [84; ... 134; 102; 143; 150; 124; 128; 73; 127; 139; 147; 64; 112; ... 114; 120; 74; 135; 122; 71; 92; 104; 138; 148; 117; 79; ... 55; 56; 57; 67; 111; 129; 69; 78; 59; 52; 133; 85; 88; ... 87]; [85; 67; 56; 97; 95; 89; 96; 91; 100; 62; 71; 122; ... 79; 60; 107; 90; 139; 93; 68; 86; 83; 92; 64; 150; 102; ... 143; 74; 114; 70; 128; 84; 54; 72]}) assert_equal (D, {[0; 0.2884; 0.3530; 0.3826; 0.4062; 0.4198; 0.5117; 0.5440; 0.5718; 0.6000; 0.6018; 0.6073; 0.6308; 0.6333; 0.6753; 0.7000; 0.7192; 0.7230; 0.7350; 0.7459]; [0; 0.1260; 0.1442; 0.2571; 0.2571; 0.3530; 0.3530; 0.3826; 0.4344; 0.4344; 0.4642; 0.4747; 0.5217; 0.5217; 0.5896; 0.6009; 0.6082; 0.6316; 0.6316; 0.6611; 0.6664; 0.6993; 0.7417; 0.7507]; [0; 0.1260; 0.2224; 0.2884; 0.3803; 0.3803; 0.4121; 0.4121; 0.4905; 0.5013; 0.5360; 0.5429; 0.5463; 0.5646; 0.5749; 0.5819; 0.6542; 0.6581; 0.6753; 0.6938; 0.7094; 0.7107; 0.7423]; [0; 0.1260; 0.2224; 0.2520; 0.2571; 0.3107; 0.3302; 0.3332; 0.3332; 0.3530; 0.3530; 0.3803; 0.3826; 0.4121; 0.4198; 0.4344; 0.4531; 0.5155; 0.5217; 0.5348; 0.6028; 0.6073; 0.6374; 0.6527; 0.6611; 0.6804; 0.6938; 0.7399; 0.7560]; [0; 0.3072; 0.3271; 0.3271; 0.3302; 0.3503; 0.3530; 0.3530; 0.3530; 0.3958; 0.3979; 0.4327; 0.4626; 0.4642; 0.5027; 0.5066; 0.5130; 0.5155; 0.5440; 0.5440; 0.5518; 0.5848; 0.6009; 0.6073; 0.6082; 0.6316; 0.6471; 0.6746; 0.6753; 0.6797; 0.6804; 0.7047; 0.7192; 0.7218; 0.7405; 0.7405; 0.7719; 0.7725; 0.7786]; [0; 0.2000; 0.3503; 0.3979; 0.4121; 0.4309; 0.4327; 0.4531; 0.4747; 0.5337; 0.5718; 0.5896; 0.6009; 0.6316; 0.6366; 0.6374; 0.6463; 0.6542; 0.6542; 0.6550; 0.6938; 0.7014; 0.7067; 0.7166; 0.7186; 0.7186; 0.7281; 0.7380; 0.7447; 0.7571; 0.7719; 0.7813; 0.7851]}, 5e-5) ***** test load fisheriris X = meas; obj = KDTreeSearcher (X, 'Distance', 'chebychev'); Y = X(90,:); [idx, D] = rangesearch (obj, Y, 0.7); assert_equal (idx, {[90; 70; 54; 81; 95; 60; 83; 93; 100; 68; 82; 65; 97; 91; ... 56; 61; 62; 63; 67; 79; 80; 85; 89; 96; 72; 92; 107]}) assert_equal (D, {[0; 0.2000; 0.2000; 0.2000; 0.2000; 0.3000; 0.3000; 0.3000; ... 0.3000; 0.3000; 0.3000; 0.4000; 0.4000; 0.4000; 0.5000; ... 0.5000; 0.5000; 0.5000; 0.5000; 0.5000; 0.5000; 0.5000; ... 0.5000; 0.5000; 0.6000; 0.6000; 0.6000]}, 5e-16) ***** test ## Constructor with single-point dataset X = [0, 0]; obj = KDTreeSearcher (X); assert_equal (obj.X, X); assert_equal (obj.Distance, "euclidean"); assert_equal (isempty (obj.DistParameter), true); assert_equal (obj.BucketSize, 50); ***** test ## Constructor with duplicate points X = [0, 0; 0, 0; 1, 0]; obj = KDTreeSearcher (X, 'Distance', 'cityblock'); assert_equal (obj.X, X); assert_equal (obj.Distance, "cityblock"); ***** test ## Constructor with 3D data X = [0, 0, 0; 1, 0, 0; 0, 1, 0]; obj = KDTreeSearcher (X, 'Distance', 'minkowski', 'P', 3); assert_equal (obj.X, X); assert_equal (obj.DistParameter, 3); ***** test ## knnsearch with grid, K = 1 X = [0, 0; 0, 1; 1, 0; 1, 1]; obj = KDTreeSearcher (X, 'Distance', 'euclidean'); Y = [0.5, 0.5]; [idx, D] = knnsearch (obj, Y, 'K', 1); D_true = pdist2 (X, Y, 'euclidean'); assert_equal (D, min (D_true), 1e-10); assert_equal (any (idx == find (D_true == min (D_true))), true); ***** test ## knnsearch with IncludeTies, all points equidistant X = [0, 0; 0, 1; 1, 0; 1, 1]; obj = KDTreeSearcher (X); Y = [0.5, 0.5]; [idx, D] = knnsearch (obj, Y, 'K', 1, 'IncludeTies', true); D_true = pdist2 (X, Y, 'euclidean'); expected_idx = find (D_true == min (D_true)); assert_equal (sort (idx{1}(:)), sort (expected_idx)); assert_equal (D{1}(:)', repmat (min (D_true), 1, 4), 1e-10); ***** test ## rangesearch with line dataset X = [0, 0; 1, 0; 2, 0; 3, 0]; obj = KDTreeSearcher (X); Y = [1.5, 0]; r = 1; [idx, D] = rangesearch (obj, Y, r); D_true = pdist2 (X, Y, 'euclidean'); expected_idx = find (D_true <= r); assert_equal (sort (idx{1}(:)), sort (expected_idx)); assert_equal (D{1}, sort (D_true(expected_idx)), 1e-10); ***** test ## knnsearch with duplicates X = [0, 0; 0, 0; 1, 0]; obj = KDTreeSearcher (X, 'Distance', 'cityblock'); Y = [0, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1, 'IncludeTies', true); assert_equal (sort (idx{1}(:))', [1, 2]); assert_equal (D{1}', [0, 0], 1e-10); ***** test ## rangesearch with 3D data X = [0, 0, 0; 1, 0, 0; 0, 1, 0]; obj = KDTreeSearcher (X, 'Distance', 'cityblock'); Y = [0, 0, 0]; r = 1; [idx, D] = rangesearch (obj, Y, r); assert_equal (sort (idx{1}(:))', [1, 2, 3]); assert_equal (D{1}', [0, 1, 1], 1e-10); ***** test ## knnsearch with P = 2 (Euclidean equivalent) X = [0, 0; 1, 1]; obj = KDTreeSearcher (X, 'Distance', 'minkowski', 'P', 2); Y = [0, 1]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (idx, 1); assert_equal (D, 1, 1e-10); ***** test ## rangesearch with P = 3 X = [0, 0; 1, 0; 0, 1]; obj = KDTreeSearcher (X, 'Distance', 'minkowski', 'P', 3); Y = [0.5, 0.5]; r = 0.8; [idx, D] = rangesearch (obj, Y, r); D_true = pdist2 (X, Y, 'minkowski', 3); expected_idx = find (D_true <= r); assert_equal (sort (idx{1}(:)), sort (expected_idx)); assert_equal (D{1}, sort (D_true(expected_idx)), 1e-10); ***** test ## knnsearch with P = 4, random data X = rand (5, 2); obj = KDTreeSearcher (X, 'Distance', 'minkowski', 'P', 4); Y = rand (1, 2); [idx, D] = knnsearch (obj, Y, 'K', 3); D_true = pdist2 (X, Y, 'minkowski', 4); [sorted_D, sort_idx] = sort (D_true); assert_equal (idx', sort_idx(1:3)); assert_equal (D', sorted_D(1:3), 1e-10); ***** test ## knnsearch with all same points X = [1, 1; 1, 1; 1, 1]; obj = KDTreeSearcher (X, 'Distance', 'chebychev'); Y = [1, 1]; [idx, D] = knnsearch (obj, Y, 'K', 1, 'IncludeTies', true); assert_equal (sort (idx{1}(:))', [1, 2, 3]); assert_equal (D{1}', [0, 0, 0], 1e-10); ***** test ## rangesearch with grid X = [0, 0; 0, 1; 1, 0; 1, 1]; obj = KDTreeSearcher (X, 'Distance', 'chebychev'); Y = [0.5, 0.5]; r = 0.5; [idx, D] = rangesearch (obj, Y, r); D_true = pdist2 (X, Y, 'chebychev'); expected_idx = find (D_true <= r); assert_equal (sort (idx{1}(:)), sort (expected_idx)); assert_equal (D{1}, D_true(expected_idx), 1e-10); ***** test ## Changing Distance and verifying search X = [0,0; 1,0]; obj = KDTreeSearcher (X, 'Distance', 'euclidean'); Y = [0,1]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (D, 1, 1e-10); obj.Distance = 'chebychev'; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (D, 1, 1e-10); ***** test ## Changing DistParameter for minkowski X = [0,0; 1,0]; obj = KDTreeSearcher (X, 'Distance', 'minkowski', 'P', 1); Y = [0,1]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (D, 1, 1e-10); obj.DistParameter = 3; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (D, 1, 1e-10); ***** test ## Different BucketSize values X = rand (20,2); obj1 = KDTreeSearcher (X, 'BucketSize', 5); obj2 = KDTreeSearcher (X, 'BucketSize', 15); Y = rand (1,2); [idx1, D1] = knnsearch (obj1, Y, 'K', 3); [idx2, D2] = knnsearch (obj2, Y, 'K', 3); assert_equal (idx1, idx2); assert_equal (D1, D2, 1e-10); ***** test ## Basic constructor with default Euclidean X = [1, 2; 3, 4; 5, 6]; obj = KDTreeSearcher (X); assert_equal (obj.X, X); assert_equal (obj.Distance, "euclidean"); assert_equal (isempty (obj.DistParameter), true); assert_equal (obj.BucketSize, 50); ***** test ## Minkowski distance with custom P X = [0, 0; 1, 1; 2, 2]; obj = KDTreeSearcher (X, 'Distance', 'minkowski', 'P', 3); assert_equal (obj.Distance, "minkowski"); assert_equal (obj.DistParameter, 3); ***** test ## Cityblock distance X = [0, 0; 1, 0; 0, 1]; obj = KDTreeSearcher (X, 'Distance', 'cityblock'); assert_equal (obj.Distance, "cityblock"); assert_equal (isempty (obj.DistParameter), true); ***** test ## Chebychev distance X = [1, 1; 2, 3; 4, 2]; obj = KDTreeSearcher (X, 'Distance', 'chebychev'); assert_equal (obj.Distance, "chebychev"); assert_equal (isempty (obj.DistParameter), true); ***** test ## knnsearch with Euclidean distance X = [1, 2; 3, 4; 5, 6]; obj = KDTreeSearcher (X); Y = [2, 3]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (idx, 1); assert_equal (D, sqrt (2), 1e-10); ***** test ## knnsearch with Cityblock distance X = [0, 0; 1, 1; 2, 2]; obj = KDTreeSearcher (X, 'Distance', 'cityblock'); Y = [1, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [1, 2]), true); assert_equal (D, 1, 1e-10); ***** test ## knnsearch with Chebychev distance X = [1, 1; 2, 3; 4, 2]; obj = KDTreeSearcher (X, 'Distance', 'chebychev'); Y = [2, 2]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [1, 2]), true); assert_equal (D, 1, 1e-10); ***** test ## knnsearch with Minkowski P=3 X = [0, 0; 1, 0; 2, 0]; obj = KDTreeSearcher (X, 'Distance', 'minkowski', 'P', 3); Y = [1, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (idx, 2); assert_equal (D, 0, 1e-10); ***** test ## knnsearch with IncludeTies X = [0, 0; 1, 0; 0, 1]; obj = KDTreeSearcher (X); Y = [0.5, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1, 'IncludeTies', true); assert_equal (iscell (idx), true); assert_equal (sort (idx{1}(:))', [1, 2]); assert_equal (sort (D{1}(:)), [0.5; 0.5], 1e-10); ***** test ## rangesearch with Euclidean X = [1, 1; 2, 2; 3, 3]; obj = KDTreeSearcher (X); Y = [0, 0]; [idx, D] = rangesearch (obj, Y, 2); assert_equal (idx{1}, [1]); assert_equal (D{1}, [sqrt(2)], 1e-10); ***** test ## rangesearch with Cityblock X = [0, 0; 1, 1; 2, 2]; obj = KDTreeSearcher (X, 'Distance', 'cityblock'); Y = [0, 0]; [idx, D] = rangesearch (obj, Y, 1); assert_equal (idx{1}, [1]); assert_equal (D{1}, [0], 1e-10); ***** test ## rangesearch with Chebychev X = [1, 1; 2, 3; 4, 2]; obj = KDTreeSearcher (X, 'Distance', 'chebychev'); Y = [2, 2]; [idx, D] = rangesearch (obj, Y, 1); assert_equal (sort (idx{1}(:))', [1, 2]); assert_equal (sort (D{1}(:))', [1, 1], 1e-10); ***** test ## rangesearch with Minkowski P=3 X = [0, 0; 1, 0; 2, 0]; obj = KDTreeSearcher (X, 'Distance', 'minkowski', 'P', 3); Y = [1, 0]; [idx, D] = rangesearch (obj, Y, 1); assert_equal (sort (idx{1}(:))', [1, 2, 3]); assert_equal (sort (D{1}(:))', [0, 1, 1], 1e-10); ***** test ## Diverse dataset with Euclidean X = [0, 10; 5, 5; 10, 0]; obj = KDTreeSearcher (X); Y = [5, 5]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (idx, 2); assert_equal (D, 0, 1e-10); ***** test ## High-dimensional data with Cityblock X = [1, 2, 3; 4, 5, 6; 7, 8, 9]; obj = KDTreeSearcher (X, 'Distance', 'cityblock'); Y = [4, 5, 6]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (idx, 2); assert_equal (D, 0, 1e-10); ***** error ... KDTreeSearcher () ***** error ... KDTreeSearcher (ones (3,2), 'Distance') ***** error ... KDTreeSearcher ('abc') ***** error ... KDTreeSearcher ([1; Inf; 3]) ***** error ... KDTreeSearcher (ones (3,2), 'foo', 'bar') ***** error ... KDTreeSearcher (ones (3,2), 'Distance', 'invalid') ***** error ... KDTreeSearcher (ones (3,2), 'Distance', 1) ***** error ... KDTreeSearcher (ones (3,2), 'Distance', 'minkowski', 'P', -1) ***** error ... KDTreeSearcher (ones (3,2), 'BucketSize', 0) ***** error ... KDTreeSearcher (ones (3,2), 'BucketSize', -1) ***** error ... knnsearch (KDTreeSearcher (ones (3,2))) ***** error ... knnsearch (KDTreeSearcher (ones (3,2)), ones (3,2), 'K', 1, 'IncludeTies') ***** error ... knnsearch (KDTreeSearcher (ones (3,2)), 'abc', 'K', 1) ***** error ... knnsearch (KDTreeSearcher (ones (3,2)), ones (3,3), 'K', 1) ***** error ... knnsearch (KDTreeSearcher (ones (3,2)), ones (3,2), 'K', 0) ***** error ... obj = KDTreeSearcher (ones (3,2)); knnsearch (obj, ones (1,2), 'K', Inf) ***** error ... knnsearch (KDTreeSearcher (ones (3,2)), ones (3,2), 'K', 1, 'foo', 'bar') ***** error ... knnsearch (KDTreeSearcher (ones (3,2)), ones (3,2), 'K', 1, 'IncludeTies', 1) ***** error ... knnsearch (KDTreeSearcher (ones (3,2)), ones (3,2), 'K', 1, 'SortIndices', 1) ***** error ... rangesearch (KDTreeSearcher (ones (3,2))) ***** error ... rangesearch (KDTreeSearcher (ones (3,2)), ones (3,2), 1, 'SortIndices') ***** error ... rangesearch (KDTreeSearcher (ones (3,2)), 'abc', 1) ***** error ... rangesearch (KDTreeSearcher (ones (3,2)), ones (3,3), 1) ***** error ... rangesearch (KDTreeSearcher (ones (3,2)), ones (3,2), -1) ***** error ... obj = KDTreeSearcher (ones (3,2)); rangesearch (obj, ones (1,2), Inf) ***** error ... rangesearch (KDTreeSearcher (ones (3,2)), ones (3,2), 1, 'foo', 'bar') ***** error ... rangesearch (KDTreeSearcher (ones (3,2)), ones (3,2), 1, 'SortIndices', 1) ***** error ... obj = KDTreeSearcher (ones (3,2)); obj(1) ***** error ... obj = KDTreeSearcher (ones (3,2)); obj{1} ***** error ... obj = KDTreeSearcher (ones (3,2)); obj.invalid ***** error ... obj = KDTreeSearcher (ones (3,2)); obj(1) = 1 ***** error ... obj = KDTreeSearcher (ones (3,2)); obj{1} = 1 ***** error ... obj = KDTreeSearcher (ones (3,2)); obj.X.Y = 1 ***** error ... obj = KDTreeSearcher (ones (3,2)); obj.X = 1 ***** error ... obj = KDTreeSearcher (ones (3,2)); obj.KDTree = 1 ***** error ... obj = KDTreeSearcher (ones (3,2)); obj.Distance = 'invalid' ***** error ... obj = KDTreeSearcher (ones (3,2)); obj.Distance = 1 ***** error ... obj = KDTreeSearcher (ones (3,2), 'Distance', 'minkowski'); obj.DistParameter = -1 ***** error ... obj = KDTreeSearcher (ones (3,2)); obj.DistParameter = 1 ***** error ... obj = KDTreeSearcher (ones (3,2)); obj.BucketSize = 0 ***** error ... obj = KDTreeSearcher (ones (3,2)); obj.BucketSize = -1 ***** error ... obj = KDTreeSearcher (ones (3,2)); obj.BucketSize = 1.5 ***** error ... obj = KDTreeSearcher (ones (3,2)); obj.invalid = 1 84 tests, 84 passed, 0 known failure, 0 skipped [inst/Clustering/DaviesBouldinEvaluation.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Clustering/DaviesBouldinEvaluation.m ***** test load fisheriris eva = evalclusters (meas, 'kmeans', 'DaviesBouldin', 'KList', [1:6]); assert_equal (class (eva), "DaviesBouldinEvaluation"); ***** test ## Verify DB index for a known 2-cluster case X = [ones(5,1); 5 * ones(5,1)]; clust = [ones(5,1); 2 * ones(5,1)]; eva = evalclusters (X, clust, 'DaviesBouldin', 'KList', 2); assert_equal (eva.CriterionValues, 0, 1); ***** test ## Deterministic 1-D example; expected value is 7/30 (matches MATLAB) rand ('seed', 1); randn ('seed', 1); X = [0; 1; 4; 5; 9; 10]; eva = evalclusters (X, 'kmeans', 'DaviesBouldin', 'KList', 3); assert_equal (eva.CriterionValues, 7 / 30, 1e-12); ***** test ## Verify aggregation uses all cluster rows in Dij rand ('seed', 1); randn ('seed', 1); X = [0; 1; 4; 5; 9; 10]; eva = evalclusters (X, 'kmeans', 'DaviesBouldin', 'KList', 3); idx = eva.OptimalY; k = 3; vD = zeros (k, 1); C = zeros (k, 1); for i = 1:k Xi = X(idx == i); C(i) = mean (Xi); vD(i) = mean (abs (Xi - C(i))); endfor Dij = zeros (k); for i = 1:(k - 1) for j = (i + 1):k Dij(i, j) = (vD(i) + vD(j)) / abs (C(i) - C(j)); endfor endfor Dij = Dij + Dij'; expected = sum (max (Dij, [], 2)) / k; assert_equal (eva.CriterionValues, expected, 1e-12); ***** test ## MATLAB reference case: well-separated tight clusters rand ('seed', 1); randn ('seed', 1); X = [0; 0.1; 0.2; 5; 5.1; 5.2]; X = horzcat (X, zeros (rows (X), 1)); eva = evalclusters (X, 'kmeans', 'DaviesBouldin', 'KList', 2); assert_equal (eva.CriterionValues, 0.0267, 1e-4); ***** test ## MATLAB reference case: uneven spread clusters rand ('seed', 1); randn ('seed', 1); X = [0; 0.1; 0.2; 10; 20; 30]; X = horzcat (X, zeros (rows (X), 1)); eva = evalclusters (X, 'kmeans', 'DaviesBouldin', 'KList', 2); assert_equal (eva.CriterionValues, 0.3885, 1e-4); 6 tests, 6 passed, 0 known failure, 0 skipped [inst/Clustering/SilhouetteEvaluation.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Clustering/SilhouetteEvaluation.m ***** test load fisheriris eva = evalclusters (meas, 'kmeans', 'silhouette', 'KList', [1:6]); assert_equal (class (eva), "SilhouetteEvaluation"); ***** function C = count_calls_silhouette (X, k) global count_calls_silhouette_n; count_calls_silhouette_n += 1; C = mod ((0 : rows (X) - 1)', k) + 1; ***** endfunction ***** test ## custom function must be called exactly once per inspected K global count_calls_silhouette_n; count_calls_silhouette_n = 0; evalclusters (rand (20, 2), @count_calls_silhouette, ... 'silhouette', 'KList', [2, 3]); assert_equal (count_calls_silhouette_n, 2); clear -global count_calls_silhouette_n; 2 tests, 2 passed, 0 known failure, 0 skipped [inst/Clustering/ClusterCriterion.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Clustering/ClusterCriterion.m ***** error ... ClusterCriterion ('1', 'kmeans', [1:6]) ***** error ... ClusterCriterion ([1, 2, 1, 3, 2, 4, 3], 'k', [1:6]) ***** error ... ClusterCriterion ([1, 2, 1; 3, 2, 4], 1, [1:6]) ***** error ... ClusterCriterion ([1, 2, 1; 3, 2, 4], ones (2, 2, 2), [1:6]) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/ttest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/ttest.m ***** test x = 8:0.1:12; [h, pval, ci] = ttest (x, 10); assert_equal (h, 0) assert_equal (pval, 1, 10*eps) assert_equal (ci, [9.6219 10.3781], 1E-5) [h, pval, ci0] = ttest (x, 0); assert_equal (h, 1) assert_equal (pval, 0) assert_equal (ci0, ci, 2e-15) [h, pval, ci] = ttest (x, 10, 'tail', 'right', 'dim', 2, 'alpha', 0.05); assert_equal (h, 0) assert_equal (pval, 0.5, 10*eps) assert_equal (ci, [9.68498 Inf], 1E-5) ***** error ttest ([8:0.1:12], 10, 'tail', 'invalid'); ***** error ttest ([8:0.1:12], 10, 'tail', 25); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/pcacov.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/pcacov.m ***** demo x = [ 7 26 6 60; 1 29 15 52; 11 56 8 20; 11 31 8 47; 7 52 6 33; 11 55 9 22; 3 71 17 6; 1 31 22 44; 2 54 18 22; 21 47 4 26; 1 40 23 34; 11 66 9 12; 10 68 8 12 ]; Kxx = cov (x); [coeff, latent, explained] = pcacov (Kxx) ***** test load hald Kxx = cov (ingredients); [coeff,latent,explained] = pcacov (Kxx); c_out = [-0.0678, -0.6460, 0.5673, 0.5062; ... -0.6785, -0.0200, -0.5440, 0.4933; ... 0.0290, 0.7553, 0.4036, 0.5156; ... 0.7309, -0.1085, -0.4684, 0.4844]; l_out = [517.7969; 67.4964; 12.4054; 0.2372]; e_out = [ 86.5974; 11.2882; 2.0747; 0.0397]; assert_equal (coeff, c_out, 1e-4); assert_equal (latent, l_out, 1e-4); assert_equal (explained, e_out, 1e-4); ***** error pcacov (ones (2, 3)) ***** error pcacov (ones (3, 3, 3)) ***** error pcacov ([1, 2; 0, 1]) ***** error pcacov ([10, 0; 0, -1]) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/dist_fit/lognlike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/lognlike.m ***** test x = 1:50; [nlogL, avar] = lognlike ([0, 0.25], x); avar_out = [-5.4749e-03, 2.8308e-04; 2.8308e-04, -1.1916e-05]; assert_equal (nlogL, 3962.330333301793, 1e-10); assert_equal (avar, avar_out, 1e-7); ***** test x = 1:50; [nlogL, avar] = lognlike ([0, 0.25], x * 0.5); avar_out = [-7.6229e-03, 4.8722e-04; 4.8722e-04, -2.6754e-05]; assert_equal (nlogL, 2473.183051225747, 1e-10); assert_equal (avar, avar_out, 1e-7); ***** test x = 1:50; [nlogL, avar] = lognlike ([0, 0.5], x); avar_out = [-2.1152e-02, 2.2017e-03; 2.2017e-03, -1.8535e-04]; assert_equal (nlogL, 1119.072424020455, 1e-12); assert_equal (avar, avar_out, 1e-6); ***** test x = 1:50; censor = ones (1, 50); censor([2, 4, 6, 8, 12, 14]) = 0; [nlogL, avar] = lognlike ([0, 0.5], x, censor); avar_out = [-1.9823e-02, 2.0370e-03; 2.0370e-03, -1.6618e-04]; assert_equal (nlogL, 1091.746371145497, 1e-12); assert_equal (avar, avar_out, 1e-6); ***** test x = 1:50; censor = ones (1, 50); censor([2, 4, 6, 8, 12, 14]) = 0; [nlogL, avar] = lognlike ([0, 1], x, censor); avar_out = [-6.8634e-02, 1.3968e-02; 1.3968e-02, -2.1664e-03]; assert_equal (nlogL, 349.3969104144271, 1e-12); assert_equal (avar, avar_out, 1e-6); ***** error ... lognlike ([12, 15]); ***** error lognlike ([12, 15], ones (2)); ***** error ... lognlike ([12, 15, 3], [1:50]); ***** error ... lognlike ([12, 15], [1:50], [1, 2, 3]); ***** error ... lognlike ([12, 15], [1:50], [], [1, 2, 3]); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_fit/evfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/evfit.m ***** demo ## Sample 3 populations from different extreme value distributions rand ('seed', 1); # for reproducibility r1 = evrnd (2, 5, 400, 1); rand ('seed', 12); # for reproducibility r2 = evrnd (-5, 3, 400, 1); rand ('seed', 13); # for reproducibility r3 = evrnd (14, 8, 400, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, 25, 0.4); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 0.28]) xlim ([-30, 30]); hold on ## Estimate their MU and SIGMA parameters mu_sigmaA = evfit (r(:,1)); mu_sigmaB = evfit (r(:,2)); mu_sigmaC = evfit (r(:,3)); ## Plot their estimated PDFs x = [min(r(:)):max(r(:))]; y = evpdf (x, mu_sigmaA(1), mu_sigmaA(2)); plot (x, y, '-pr'); y = evpdf (x, mu_sigmaB(1), mu_sigmaB(2)); plot (x, y, '-sg'); y = evpdf (x, mu_sigmaC(1), mu_sigmaC(2)); plot (x, y, '-^c'); legend ({'Normalized HIST of sample 1 with μ=2 and σ=5', ... 'Normalized HIST of sample 2 with μ=-5 and σ=3', ... 'Normalized HIST of sample 3 with μ=14 and σ=8', ... sprintf("PDF for sample 1 with estimated μ=%0.2f and σ=%0.2f", ... mu_sigmaA(1), mu_sigmaA(2)), ... sprintf("PDF for sample 2 with estimated μ=%0.2f and σ=%0.2f", ... mu_sigmaB(1), mu_sigmaB(2)), ... sprintf("PDF for sample 3 with estimated μ=%0.2f and σ=%0.2f", ... mu_sigmaC(1), mu_sigmaC(2))}) title ('Three population samples from different extreme value distributions') hold off ***** test x = 1:50; [paramhat, paramci] = evfit (x); paramhat_out = [32.6811, 13.0509]; paramci_out = [28.8504, 10.5294; 36.5118, 16.1763]; assert_equal (paramhat, paramhat_out, 1e-4); assert_equal (paramci, paramci_out, 1e-4); ***** test x = 1:50; [paramhat, paramci] = evfit (x, 0.01); paramci_out = [27.6468, 9.8426; 37.7155, 17.3051]; assert_equal (paramci, paramci_out, 1e-4); ***** error evfit (ones (2,5)); ***** error evfit (single (ones (1,5))); ***** error evfit ([1, 2, 3, 4, NaN]); ***** error evfit ([1, 2, 3, 4, 5], 1.2); ***** error evfit ([1 2 3], 0.05, [], [1 5]) ***** error evfit ([1 2 3], 0.05, [], [1 5 -1]) ***** error ... evfit ([1:10], 0.05, [], [], 5) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/dist_fit/rayllike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/rayllike.m ***** test x = [1 3 2 4 5 4 3 4]; [nlogL, acov] = rayllike (3.25, x); assert_equal (nlogL, 14.7442, 1e-4) ***** test x = [1 2 3 4 5]; f = [1 1 2 3 1]; [nlogL, acov] = rayllike (3.25, x, [], f); assert_equal (nlogL, 14.7442, 1e-4) ***** test x = [1 2 3 4 5 6]; f = [1 1 2 3 1 0]; [nlogL, acov] = rayllike (3.25, x, [], f); assert_equal (nlogL, 14.7442, 1e-4) ***** test x = [1 2 3 4 5 6]; c = [0 0 0 0 0 1]; f = [1 1 2 3 1 0]; [nlogL, acov] = rayllike (3.25, x, c, f); assert_equal (nlogL, 14.7442, 1e-4) ***** error rayllike (1) ***** error rayllike ([1 2 3], [1 2]) ***** error ... rayllike (3.25, ones (10, 2)) ***** error ... rayllike (3.25, [1 2 3 -4 5]) ***** error ... rayllike (3.25, [1, 2, 3, 4, 5], [1 1 0]); ***** error ... rayllike (3.25, [1, 2, 3, 4, 5], [1 1 0 1 1]'); ***** error ... rayllike (3.25, [1, 2, 3, 4, 5], zeros (1,5), [1 1 0]); ***** error ... rayllike (3.25, [1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error ... rayllike (3.25, ones (1, 8), [], [1 1 1 1 1 1 1 -1]) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fit/betafit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/betafit.m ***** demo ## Sample 2 populations from different Beta distributions randg ('seed', 1); # for reproducibility r1 = betarnd (2, 5, 500, 1); randg ('seed', 2); # for reproducibility r2 = betarnd (2, 2, 500, 1); r = [r1, r2]; ## Plot them normalized and fix their colors hist (r, 12, 15); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); hold on ## Estimate their shape parameters a_b_A = betafit (r(:,1)); a_b_B = betafit (r(:,2)); ## Plot their estimated PDFs x = [min(r(:)):0.01:max(r(:))]; y = betapdf (x, a_b_A(1), a_b_A(2)); plot (x, y, '-pr'); y = betapdf (x, a_b_B(1), a_b_B(2)); plot (x, y, '-sg'); ylim ([0, 4]) legend ({'Normalized HIST of sample 1 with α=2 and β=5', ... 'Normalized HIST of sample 2 with α=2 and β=2', ... sprintf("PDF for sample 1 with estimated α=%0.2f and β=%0.2f", ... a_b_A(1), a_b_A(2)), ... sprintf("PDF for sample 2 with estimated α=%0.2f and β=%0.2f", ... a_b_B(1), a_b_B(2))}) title ('Two population samples from different Beta distributions') hold off ***** test x = 0.01:0.02:0.99; [paramhat, paramci] = betafit (x); paramhat_out = [1.0199, 1.0199]; paramci_out = [0.6947, 0.6947; 1.4974, 1.4974]; assert_equal (paramhat, paramhat_out, 1e-4); assert_equal (paramci, paramci_out, 1e-4); ***** test x = 0.01:0.02:0.99; [paramhat, paramci] = betafit (x, 0.01); paramci_out = [0.6157, 0.6157; 1.6895, 1.6895]; assert_equal (paramci, paramci_out, 1e-4); ***** test x = 0.00:0.02:1; [paramhat, paramci] = betafit (x); paramhat_out = [0.0875, 0.1913]; paramci_out = [0.0822, 0.1490; 0.0931, 0.2455]; assert_equal (paramhat, paramhat_out, 1e-4); assert_equal (paramci, paramci_out, 1e-4); ***** error betafit ([0.2, 0.5+i]); ***** error betafit (ones (2,2) * 0.5); ***** error betafit ([0.5, 1.2]); ***** error betafit ([0.1, 0.1]); ***** error betafit ([0.01:0.1:0.99], 1.2); ***** error ... betafit ([0.01:0.01:0.05], 0.05, [1, 2, 3, 2]); ***** error ... betafit ([0.01:0.01:0.05], 0.05, [1, 2, 3, 2, -1]); ***** error ... betafit ([0.01:0.01:0.05], 0.05, [1, 2, 3, 2, 1.5]); ***** error ... betafit ([0.01:0.01:0.05], 0.05, struct ('option', 234)); ***** error ... betafit ([0.01:0.01:0.05], 0.05, ones (1,5), struct ('option', 234)); 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fit/gplike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/gplike.m ***** test k = 0.8937; sigma = 1.3230; theta = 1; x = [2.2196, 11.9301, 4.3673, 1.0949, 6.5626, ... 1.2109, 1.8576, 1.0039, 12.7917, 2.2590]; [nlogL, acov] = gplike ([k, sigma, theta], x); assert_equal (nlogL, 21.736, 1e-3); assert_equal (acov, [0.7249, -0.7351, 0; -0.7351, 1.3040, 0; 0, 0, 0], 1e-4); ***** assert_equal (gplike ([2, 3, 0], 4), 3.047536764863501, 1e-14) ***** assert_equal (gplike ([2, 3, 4], 8), 3.047536764863501, 1e-14) ***** assert_equal (gplike ([1, 2, 0], 4), 2.890371757896165, 1e-14) ***** assert_equal (gplike ([1, 2, 4], 8), 2.890371757896165, 1e-14) ***** assert_equal (gplike ([2, 3, 0], [1:10]), 32.57864322725392, 1e-14) ***** assert_equal (gplike ([2, 3, 2], [1:10] + 2), 32.57864322725392, 1e-14) ***** assert_equal (gplike ([2, 3, 0], [1:10], ones (1,10)), 32.57864322725392, 1e-14) ***** assert_equal (gplike ([1, 2, 0], [1:10]), 31.65666282460443, 1e-14) ***** assert_equal (gplike ([1, 2, 3], [1:10] + 3), 31.65666282460443, 1e-14) ***** assert_equal (gplike ([1, 2, 0], [1:10], ones (1,10)), 31.65666282460443, 1e-14) ***** assert_equal (gplike ([1, NaN, 0], [1:10]), NaN) ***** error gplike () ***** error gplike (1) ***** error gplike ([1, 2, 0], []) ***** error gplike ([1, 2, 0], ones (2)) ***** error gplike (2, [1:10]) ***** error gplike ([2, 3], [1:10]) ***** error ... gplike ([1, 2, 0], ones (10, 1), ones (8,1)) ***** error ... gplike ([1, 2, 0], ones (1, 8), [1 1 1 1 1 1 1 -1]) 20 tests, 20 passed, 0 known failure, 0 skipped [inst/dist_fit/gpfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/gpfit.m ***** demo ## Sample 2 populations from different generalized Pareto distributions ## Assume location parameter θ is known theta = 0; rand ('seed', 5); # for reproducibility r1 = gprnd (1, 2, theta, 20000, 1); rand ('seed', 2); # for reproducibility r2 = gprnd (3, 1, theta, 20000, 1); r = [r1, r2]; ## Plot them normalized and fix their colors hist (r, [0.1:0.2:100], 5); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'r'); set (h(2), 'facecolor', 'c'); ylim ([0, 1]); xlim ([0, 5]); hold on ## Estimate their α and β parameters k_sigmaA = gpfit (r(:,1), theta); k_sigmaB = gpfit (r(:,2), theta); ## Plot their estimated PDFs x = [0.01, 0.1:0.2:18]; y = gppdf (x, k_sigmaA(1), k_sigmaA(2), theta); plot (x, y, '-pc'); y = gppdf (x, k_sigmaB(1), k_sigmaB(2), theta); plot (x, y, '-sr'); hold off legend ({'Normalized HIST of sample 1 with k=1 and σ=2', ... 'Normalized HIST of sample 2 with k=2 and σ=2', ... sprintf("PDF for sample 1 with estimated k=%0.2f and σ=%0.2f", ... k_sigmaA(1), k_sigmaA(2)), ... sprintf("PDF for sample 3 with estimated k=%0.2f and σ=%0.2f", ... k_sigmaB(1), k_sigmaB(2))}) title ('Two population samples from different generalized Pareto distributions') text (2, 0.7, 'Known location parameter θ = 0') hold off ***** test k = 0.8937; sigma = 1.3230; theta = 1; x = [2.2196, 11.9301, 4.3673, 1.0949, 6.5626, ... 1.2109, 1.8576, 1.0039, 12.7917, 2.2590]; [hat, ci] = gpfit (x, theta); assert_equal (hat, [k, sigma, theta], 1e-4); assert_equal (ci, [-0.7750, 0.2437, 1; 2.5624, 7.1820, 1], 1e-4); ***** error gpfit () ***** error gpfit (1) ***** error gpfit ([0.2, 0.5+i], 0); ***** error gpfit (ones (2,2) * 0.5, 0); ***** error ... gpfit ([0.5, 1.2], [0, 1]); ***** error ... gpfit ([0.5, 1.2], 5+i); ***** error ... gpfit ([1:5], 2); ***** error gpfit ([0.01:0.1:0.99], 0, 1.2); ***** error gpfit ([0.01:0.1:0.99], 0, i); ***** error gpfit ([0.01:0.1:0.99], 0, -1); ***** error gpfit ([0.01:0.1:0.99], 0, [0.05, 0.01]); ***** error gpfit ([1 2 3], 0, [], [1 5]) ***** error gpfit ([1 2 3], 0, [], [1 5 -1]) ***** error ... gpfit ([1:10], 1, 0.05, [], 5) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fit/geofit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/geofit.m ***** demo ## Sample 2 populations from different geometric distributions rande ('seed', 1); # for reproducibility r1 = geornd (0.15, 1000, 1); rande ('seed', 2); # for reproducibility r2 = geornd (0.5, 1000, 1); r = [r1, r2]; ## Plot them normalized and fix their colors hist (r, 0:0.5:20.5, 1); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); hold on ## Estimate their probability of success pshatA = geofit (r(:,1)); pshatB = geofit (r(:,2)); ## Plot their estimated PDFs x = [0:15]; y = geopdf (x, pshatA); plot (x, y, '-pg'); y = geopdf (x, pshatB); plot (x, y, '-sc'); xlim ([0, 15]) ylim ([0, 0.6]) legend ({'Normalized HIST of sample 1 with ps=0.15', ... 'Normalized HIST of sample 2 with ps=0.50', ... sprintf("PDF for sample 1 with estimated ps=%0.2f", ... mean (pshatA)), ... sprintf("PDF for sample 2 with estimated ps=%0.2f", ... mean (pshatB))}) title ('Two population samples from different geometric distributions') hold off ***** test x = 0:5; [pshat, psci] = geofit (x); assert_equal (pshat, 0.2857, 1e-4); assert_equal (psci, [0.092499; 0.478929], 1e-5); ***** test x = 0:5; [pshat, psci] = geofit (x, [], [1 1 1 1 1 1]); assert_equal (pshat, 0.2857, 1e-4); assert_equal (psci, [0.092499; 0.478929], 1e-5); ***** assert_equal (geofit ([1 1 2 3]), geofit ([1 2 3], [] ,[2 1 1])) ***** error geofit () ***** error geofit (-1, [1 2 3 3]) ***** error geofit (1, 0) ***** error geofit (1, 1.2) ***** error geofit (1, [0.02 0.05]) ***** error ... geofit ([1.5, 0.2], [], [0, 0, 0, 0, 0]) ***** error ... geofit ([1.5, 0.2], [], [1, 1, 1]) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_fit/gevfit_lmom.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/gevfit_lmom.m ***** xtest <31070> data = 1:50; [pfit, pci] = gevfit_lmom (data); expected_p = [-0.28 15.01 20.22]'; assert_equal (pfit, expected_p, 0.1); 1 test, 1 passed, 0 known failure, 0 skipped [inst/dist_fit/wblfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/wblfit.m ***** demo ## Sample 3 populations from 3 different Weibull distributions rande ('seed', 1); # for reproducibility r1 = wblrnd (2, 4, 2000, 1); rande ('seed', 2); # for reproducibility r2 = wblrnd (5, 2, 2000, 1); rande ('seed', 5); # for reproducibility r3 = wblrnd (1, 5, 2000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, 30, [2.5 2.1 3.2]); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 2]); xlim ([0, 10]); hold on ## Estimate their lambda parameter lambda_kA = wblfit (r(:,1)); lambda_kB = wblfit (r(:,2)); lambda_kC = wblfit (r(:,3)); ## Plot their estimated PDFs x = [0:0.1:15]; y = wblpdf (x, lambda_kA(1), lambda_kA(2)); plot (x, y, '-pr'); y = wblpdf (x, lambda_kB(1), lambda_kB(2)); plot (x, y, '-sg'); y = wblpdf (x, lambda_kC(1), lambda_kC(2)); plot (x, y, '-^c'); hold off legend ({'Normalized HIST of sample 1 with λ=2 and k=4', ... 'Normalized HIST of sample 2 with λ=5 and k=2', ... 'Normalized HIST of sample 3 with λ=1 and k=5', ... sprintf("PDF for sample 1 with estimated λ=%0.2f and k=%0.2f", ... lambda_kA(1), lambda_kA(2)), ... sprintf("PDF for sample 2 with estimated λ=%0.2f and k=%0.2f", ... lambda_kB(1), lambda_kB(2)), ... sprintf("PDF for sample 3 with estimated λ=%0.2f and k=%0.2f", ... lambda_kC(1), lambda_kC(2))}) title ('Three population samples from different Weibull distributions') hold off ***** test x = 1:50; [paramhat, paramci] = wblfit (x); paramhat_out = [28.3636, 1.7130]; paramci_out = [23.9531, 1.3551; 33.5861, 2.1655]; assert_equal (paramhat, paramhat_out, 1e-4); assert_equal (paramci, paramci_out, 1e-4); ***** test x = 1:50; [paramhat, paramci] = wblfit (x, 0.01); paramci_out = [22.7143, 1.2589; 35.4179, 2.3310]; assert_equal (paramci, paramci_out, 1e-4); ***** error wblfit (ones (2,5)); ***** error wblfit ([-1 2 3 4]); ***** error wblfit ([1, 2, 3, 4, 5], 1.2); ***** error wblfit ([1, 2, 3, 4, 5], 0); ***** error wblfit ([1, 2, 3, 4, 5], 'alpha'); ***** error ... wblfit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... wblfit ([1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error ... wblfit ([1, 2, 3, 4, 5], 0.05, zeros (1,5), [1 1 0]); ***** error ... wblfit ([1, 2, 3, 4, 5], [], [], [1 1 0 -1 1]); ***** error ... wblfit ([1, 2, 3, 4, 5], [], [], [1 1 0 1 1]'); ***** error ... wblfit ([1, 2, 3, 4, 5], 0.05, [], [], 2); 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fit/nakalike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/nakalike.m ***** test nlogL = nakalike ([0.735504, 858.5], [1:50]); assert_equal (nlogL, 202.8689, 1e-4); ***** test nlogL = nakalike ([1.17404, 11], [1:5]); assert_equal (nlogL, 8.6976, 1e-4); ***** test nlogL = nakalike ([1.17404, 11], [1:5], [], [1, 1, 1, 1, 1]); assert_equal (nlogL, 8.6976, 1e-4); ***** test nlogL = nakalike ([1.17404, 11], [1:6], [], [1, 1, 1, 1, 1, 0]); assert_equal (nlogL, 8.6976, 1e-4); ***** error nakalike (3.25) ***** error nakalike ([5, 0.2], ones (2)) ***** error ... nakalike ([1, 0.2, 3], [1, 3, 5, 7]) ***** error ... nakalike ([1.5, 0.2], [1:5], [0, 0, 0]) ***** error ... nakalike ([1.5, 0.2], [1:5], [0, 0, 0, 0, 0], [1, 1, 1]) ***** error ... nakalike ([1.5, 0.2], [1:5], [], [1, 1, 1]) ***** error ... nakalike ([1.5, 0.2], [1:5], [], [1, 1, 1, 1, -1]) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/dist_fit/normfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/normfit.m ***** demo ## Sample 3 populations from 3 different normal distributions randn ('seed', 1); # for reproducibility r1 = normrnd (2, 5, 5000, 1); randn ('seed', 2); # for reproducibility r2 = normrnd (5, 2, 5000, 1); randn ('seed', 3); # for reproducibility r3 = normrnd (9, 4, 5000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, 15, 0.4); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); hold on ## Estimate their mu and sigma parameters [muhat, sigmahat] = normfit (r); ## Plot their estimated PDFs x = [min(r(:)):max(r(:))]; y = normpdf (x, muhat(1), sigmahat(1)); plot (x, y, '-pr'); y = normpdf (x, muhat(2), sigmahat(2)); plot (x, y, '-sg'); y = normpdf (x, muhat(3), sigmahat(3)); plot (x, y, '-^c'); ylim ([0, 0.5]) xlim ([-20, 20]) hold off legend ({'Normalized HIST of sample 1 with mu=2, σ=5', ... 'Normalized HIST of sample 2 with mu=5, σ=2', ... 'Normalized HIST of sample 3 with mu=9, σ=4', ... sprintf("PDF for sample 1 with estimated mu=%0.2f and σ=%0.2f", ... muhat(1), sigmahat(1)), ... sprintf("PDF for sample 2 with estimated mu=%0.2f and σ=%0.2f", ... muhat(2), sigmahat(2)), ... sprintf("PDF for sample 3 with estimated mu=%0.2f and σ=%0.2f", ... muhat(3), sigmahat(3))}, 'location', 'northwest') title ('Three population samples from different normal distributions') hold off ***** test load lightbulb idx = find (lightbulb(:,2) == 0); censoring = lightbulb(idx,3) == 1; [muHat, sigmaHat] = normfit (lightbulb(idx,1), [], censoring); assert_equal (muHat, 9496.59586737857, 1e-11); assert_equal (sigmaHat, 3064.021012796456, 2e-12); ***** test randn ('seed', 234); x = normrnd (3, 5, [1000, 1]); [muHat, sigmaHat, muCI, sigmaCI] = normfit (x, 0.01); assert_equal (muCI(1) < 3, true); assert_equal (muCI(2) > 3, true); assert_equal (sigmaCI(1) < 5, true); assert_equal (sigmaCI(2) > 5, true); ***** error ... normfit (ones (3,3,3)) ***** error ... normfit (ones (20,3), [], zeros (20,1)) ***** error normfit (ones (20,1), 0) ***** error normfit (ones (20,1), -0.3) ***** error normfit (ones (20,1), 1.2) ***** error normfit (ones (20,1), [0.05 0.1]) ***** error normfit (ones (20,1), 0.02+i) ***** error ... normfit (ones (20,1), [], zeros (15,1)) ***** error ... normfit (ones (20,1), [], zeros (20,1), ones (25,1)) ***** error ... normfit (ones (5,1), [], zeros (5,1), [1, 2, 1, 2, -1]') ***** error normfit (ones (20,1), [], zeros (20,1), ones (20,1), 'options') 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fit/ricelike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/ricelike.m ***** test nlogL = ricelike ([15.3057344, 17.6668458], [1:50]); assert_equal (nlogL, 204.5230311010569, 1e-12); ***** test nlogL = ricelike ([2.312346885, 1.681228265], [1:5]); assert_equal (nlogL, 8.65562164930058, 1e-12); ***** error ricelike (3.25) ***** error ricelike ([5, 0.2], ones (2)) ***** error ... ricelike ([1, 0.2, 3], [1, 3, 5, 7]) ***** error ... ricelike ([1.5, 0.2], [1:5], [0, 0, 0]) ***** error ... ricelike ([1.5, 0.2], [1:5], [0, 0, 0, 0, 0], [1, 1, 1]) ***** error ... ricelike ([1.5, 0.2], [1:5], [], [1, 1, 1]) ***** error ... ricelike ([1.5, 0.2], [1:5], [], [1, 1, 1, 0, -1]) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/dist_fit/gevlike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/gevlike.m ***** test x = 1; k = 0.2; sigma = 0.3; mu = 0.5; [L, C] = gevlike ([k sigma mu], x); expected_L = 0.75942; expected_C = [-0.12547 1.77884 1.06731; 1.77884 16.40761 8.48877; 1.06731 8.48877 0.27979]; assert_equal (L, expected_L, 0.001); assert_equal (C, inv (expected_C), 0.001); ***** test x = 1; k = 0; sigma = 0.3; mu = 0.5; [L, C] = gevlike ([k sigma mu], x); expected_L = 0.65157; expected_C = [0.090036 3.41229 2.047337; 3.412229 24.760027 12.510190; 2.047337 12.510190 2.098618]; assert_equal (L, expected_L, 0.001); assert_equal (C, inv (expected_C), 0.001); ***** test x = -5:-1; k = -0.2; sigma = 0.3; mu = 0.5; [L, C] = gevlike ([k sigma mu], x); expected_L = 3786.4; expected_C = [1.6802e-07, 4.6110e-06, 8.7297e-05; ... 4.6110e-06, 7.5693e-06, 1.2034e-05; ... 8.7297e-05, 1.2034e-05, -0.0019125]; assert_equal (L, expected_L, -0.001); assert_equal (C, expected_C, -0.001); ***** test x = -5:0; k = -0.2; sigma = 0.3; mu = 0.5; [L, C] = gevlike ([k sigma mu], x, [1, 1, 1, 1, 1, 0]); expected_L = 3786.4; expected_C = [1.6802e-07, 4.6110e-06, 8.7297e-05; ... 4.6110e-06, 7.5693e-06, 1.2034e-05; ... 8.7297e-05, 1.2034e-05, -0.0019125]; assert_equal (L, expected_L, -0.001); assert_equal (C, expected_C, -0.001); ***** error gevlike (3.25) ***** error gevlike ([1, 2, 3], ones (2)) ***** error ... gevlike ([1, 2], [1, 3, 5, 7]) ***** error ... gevlike ([1, 2, 3, 4], [1, 3, 5, 7]) ***** error ... gevlike ([5, 0.2, 1], ones (10, 1), ones (8,1)) ***** error ... gevlike ([5, 0.2, 1], ones (1, 8), [1 1 1 1 1 1 1 -1]) ***** error ... gevlike ([5, 0.2, 1], ones (1, 8), [1 1 1 1 1 1 1 1.5]) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/dist_fit/bisafit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/bisafit.m ***** demo ## Sample 3 populations from different Birnbaum-Saunders distributions rand ('seed', 5); # for reproducibility r1 = bisarnd (1, 0.5, 2000, 1); rand ('seed', 2); # for reproducibility r2 = bisarnd (2, 0.3, 2000, 1); rand ('seed', 7); # for reproducibility r3 = bisarnd (4, 0.5, 2000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, 80, 4.2); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 1.1]); xlim ([0, 8]); hold on ## Estimate their α and β parameters beta_gammaA = bisafit (r(:,1)); beta_gammaB = bisafit (r(:,2)); beta_gammaC = bisafit (r(:,3)); ## Plot their estimated PDFs x = [0:0.1:8]; y = bisapdf (x, beta_gammaA(1), beta_gammaA(2)); plot (x, y, '-pr'); y = bisapdf (x, beta_gammaB(1), beta_gammaB(2)); plot (x, y, '-sg'); y = bisapdf (x, beta_gammaC(1), beta_gammaC(2)); plot (x, y, '-^c'); hold off legend ({'Normalized HIST of sample 1 with β=1 and γ=0.5', ... 'Normalized HIST of sample 2 with β=2 and γ=0.3', ... 'Normalized HIST of sample 3 with β=4 and γ=0.5', ... sprintf("PDF for sample 1 with estimated β=%0.2f and γ=%0.2f", ... beta_gammaA(1), beta_gammaA(2)), ... sprintf("PDF for sample 2 with estimated β=%0.2f and γ=%0.2f", ... beta_gammaB(1), beta_gammaB(2)), ... sprintf("PDF for sample 3 with estimated β=%0.2f and γ=%0.2f", ... beta_gammaC(1), beta_gammaC(2))}) title ('Three population samples from different Birnbaum-Saunders distributions') hold off ***** test paramhat = bisafit ([1:50]); paramhat_out = [16.2649, 1.0156]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = bisafit ([1:5]); paramhat_out = [2.5585, 0.5839]; assert_equal (paramhat, paramhat_out, 1e-4); ***** error bisafit (ones (2,5)); ***** error bisafit ([-1 2 3 4]); ***** error bisafit ([1, 2, 3, 4, 5], 1.2); ***** error bisafit ([1, 2, 3, 4, 5], 0); ***** error bisafit ([1, 2, 3, 4, 5], 'alpha'); ***** error ... bisafit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... bisafit ([1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error ... bisafit ([1, 2, 3, 4, 5], 0.05, zeros (1,5), [1 1 0]); ***** error ... bisafit ([1, 2, 3, 4, 5], [], [], [1 1 0 1 1]'); ***** error ... bisafit ([1, 2, 3, 4, 5], 0.05, [], [], 2); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/dist_fit/evlike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/evlike.m ***** test x = 1:50; [nlogL, acov] = evlike ([2.3, 1.2], x); avar_out = [-1.2778e-13, 3.1859e-15; 3.1859e-15, -7.9430e-17]; assert_equal (nlogL, 3.242264755689906e+17, 1e-14); assert_equal (acov, avar_out, 1e-3); ***** test x = 1:50; [nlogL, acov] = evlike ([2.3, 1.2], x * 0.5); avar_out = [-7.6094e-05, 3.9819e-06; 3.9819e-06, -2.0836e-07]; assert_equal (nlogL, 481898704.0472211, 1e-6); assert_equal (acov, avar_out, 1e-3); ***** test x = 1:50; [nlogL, acov] = evlike ([21, 15], x); avar_out = [11.73913876598908, -5.9546128523121216; ... -5.954612852312121, 3.708060045170236]; assert_equal (nlogL, 223.7612479380652, 1e-13); assert_equal (acov, avar_out, 1e-14); ***** error evlike ([12, 15]) ***** error evlike ([12, 15, 3], [1:50]) ***** error evlike ([12, 3], ones (10, 2)) ***** error ... evlike ([12, 15], [1:50], [1, 2, 3]) ***** error ... evlike ([12, 15], [1:50], [], [1, 2, 3]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fit/normlike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/normlike.m ***** error normlike ([12, 15]); ***** error normlike ([12, 15], ones (2)); ***** error ... normlike ([12, 15, 3], [1:50]); ***** error ... normlike ([12, 15], [1:50], [1, 2, 3]); ***** error ... normlike ([12, 15], [1:50], [], [1, 2, 3]); ***** error ... normlike ([12, 15], [1:5], [], [1, 2, 3, 2, -1]); ***** test x = 1:50; [nlogL, avar] = normlike ([2.3, 1.2], x); avar_out = [7.5767e-01, -1.8850e-02; -1.8850e-02, 4.8750e-04]; assert_equal (nlogL, 13014.95883783327, 1e-10); assert_equal (avar, avar_out, 1e-4); ***** test x = 1:50; [nlogL, avar] = normlike ([2.3, 1.2], x * 0.5); avar_out = [3.0501e-01, -1.5859e-02; -1.5859e-02, 9.1057e-04]; assert_equal (nlogL, 2854.802587833265, 1e-10); assert_equal (avar, avar_out, 1e-4); ***** test x = 1:50; [nlogL, avar] = normlike ([21, 15], x); avar_out = [5.460474308300396, -1.600790513833993; ... -1.600790513833993, 2.667984189723321]; assert_equal (nlogL, 206.738325604233, 1e-12); assert_equal (avar, avar_out, 1e-14); ***** test x = 1:50; censor = ones (1, 50); censor([2, 4, 6, 8, 12, 14]) = 0; [nlogL, avar] = normlike ([2.3, 1.2], x, censor); avar_out = [3.0501e-01, -1.5859e-02; -1.5859e-02, 9.1057e-04]; assert_equal (nlogL, Inf); assert_equal (avar, [NaN, NaN; NaN, NaN]); ***** test x = 1:50; censor = ones (1, 50); censor([2, 4, 6, 8, 12, 14]) = 0; [nlogL, avar] = normlike ([21, 15], x, censor); avar_out = [24.4824488866131, -10.6649544179636; ... -10.6649544179636, 6.22827849965737]; assert_equal (nlogL, 86.9254371829733, 1e-12); assert_equal (avar, avar_out, 8e-14); 11 tests, 11 passed, 0 known failure, 0 skipped [inst/dist_fit/nbinlike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/nbinlike.m ***** assert_equal (nbinlike ([2.42086, 0.0867043], [1:50]), 205.5942, 1e-4) ***** assert_equal (nbinlike ([3.58823, 0.254697], [1:20]), 63.6435, 1e-4) ***** assert_equal (nbinlike ([8.80671, 0.615565], [1:10]), 24.7410, 1e-4) ***** assert_equal (nbinlike ([22.1756, 0.831306], [1:8]), 17.9528, 1e-4) ***** assert_equal (nbinlike ([22.1756, 0.831306], [1:9], [ones(1,8), 0]), 17.9528, 1e-4) ***** error nbinlike (3.25) ***** error nbinlike ([5, 0.2], ones (2)) ***** error nbinlike ([5, 0.2], [-1, 3]) ***** error ... nbinlike ([1, 0.2, 3], [1, 3, 5, 7]) ***** error nbinlike ([-5, 0.2], [1:15]) ***** error nbinlike ([0, 0.2], [1:15]) ***** error nbinlike ([5, 1.2], [3, 5]) ***** error nbinlike ([5, -0.2], [3, 5]) ***** error ... nbinlike ([5, 0.2], ones (10, 1), ones (8,1)) ***** error ... nbinlike ([5, 0.2], ones (1, 8), [1 1 1 1 1 1 1 -1]) ***** error ... nbinlike ([5, 0.2], ones (1, 8), [1 1 1 1 1 1 1 1.5]) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fit/nbinfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/nbinfit.m ***** demo ## Sample 2 populations from different negative binomial distributions randp ('seed', 5); randg ('seed', 5); # for reproducibility r1 = nbinrnd (2, 0.15, 5000, 1); randp ('seed', 8); randg ('seed', 8); # for reproducibility r2 = nbinrnd (5, 0.2, 5000, 1); r = [r1, r2]; ## Plot them normalized and fix their colors hist (r, [0:51], 1); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); hold on ## Estimate their probability of success r_psA = nbinfit (r(:,1)); r_psB = nbinfit (r(:,2)); ## Plot their estimated PDFs x = [0:40]; y = nbinpdf (x, r_psA(1), r_psA(2)); plot (x, y, '-pg'); x = [min(r(:,2)):max(r(:,2))]; y = nbinpdf (x, r_psB(1), r_psB(2)); plot (x, y, '-sc'); ylim ([0, 0.1]) xlim ([0, 50]) legend ({'Normalized HIST of sample 1 with r=2 and ps=0.15', ... 'Normalized HIST of sample 2 with r=5 and ps=0.2', ... sprintf("PDF for sample 1 with estimated r=%0.2f and ps=%0.2f", ... r_psA(1), r_psA(2)), ... sprintf("PDF for sample 2 with estimated r=%0.2f and ps=%0.2f", ... r_psB(1), r_psB(2))}) title ('Two population samples from negative different binomial distributions') hold off ***** test [paramhat, paramci] = nbinfit ([1:50]); assert_equal (paramhat, [2.420857, 0.086704], 1e-6); assert_equal (paramci(:,1), [1.382702; 3.459012], 1e-6); assert_equal (paramci(:,2), [0.049676; 0.123732], 1e-6); ***** test [paramhat, paramci] = nbinfit ([1:20]); assert_equal (paramhat, [3.588233, 0.254697], 1e-6); assert_equal (paramci(:,1), [0.451693; 6.724774], 1e-6); assert_equal (paramci(:,2), [0.081143; 0.428251], 1e-6); ***** test [paramhat, paramci] = nbinfit ([1:10]); assert_equal (paramhat, [8.8067, 0.6156], 1e-4); assert_equal (paramci(:,1), [0; 30.7068], 1e-4); assert_equal (paramci(:,2), [0.0217; 1], 1e-4); ***** test [paramhat, paramci] = nbinfit ([1:10], 0.05, ones (1, 10)); assert_equal (paramhat, [8.8067, 0.6156], 1e-4); assert_equal (paramci(:,1), [0; 30.7068], 1e-4); assert_equal (paramci(:,2), [0.0217; 1], 1e-4); ***** test [paramhat, paramci] = nbinfit ([1:11], 0.05, [ones(1, 10), 0]); assert_equal (paramhat, [8.8067, 0.6156], 1e-4); assert_equal (paramci(:,1), [0; 30.7068], 1e-4); assert_equal (paramci(:,2), [0.0217; 1], 1e-4); ***** error nbinfit ([-1 2 3 3]) ***** error nbinfit (ones (2)) ***** error nbinfit ([1 2 1.2 3]) ***** error nbinfit ([1 2 3], 0) ***** error nbinfit ([1 2 3], 1.2) ***** error nbinfit ([1 2 3], [0.02 0.05]) ***** error ... nbinfit ([1, 2, 3, 4, 5], 0.05, [1, 2, 3, 2]); ***** error ... nbinfit ([1, 2, 3, 4, 5], 0.05, [1, 2, 3, 2, -1]); ***** error ... nbinfit ([1, 2, 3, 4, 5], 0.05, [1, 2, 3, 2, 1.5]); ***** error ... nbinfit ([1, 2, 3, 4, 5], 0.05, struct ('option', 234)); ***** error ... nbinfit ([1, 2, 3, 4, 5], 0.05, ones (1,5), struct ('option', 234)); 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fit/gumbellike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/gumbellike.m ***** test x = 1:50; [nlogL, avar] = gumbellike ([2.3, 1.2], x); avar_out = [-1.2778e-13, 3.1859e-15; 3.1859e-15, -7.9430e-17]; assert_equal (nlogL, 3.242264755689906e+17, 1e-14); assert_equal (avar, avar_out, 1e-3); ***** test x = 1:50; [nlogL, avar] = gumbellike ([2.3, 1.2], x * 0.5); avar_out = [-7.6094e-05, 3.9819e-06; 3.9819e-06, -2.0836e-07]; assert_equal (nlogL, 481898704.0472211, 1e-6); assert_equal (avar, avar_out, 1e-3); ***** test x = 1:50; [nlogL, avar] = gumbellike ([21, 15], x); avar_out = [11.73913876598908, -5.9546128523121216; ... -5.954612852312121, 3.708060045170236]; assert_equal (nlogL, 223.7612479380652, 1e-13); assert_equal (avar, avar_out, 1e-14); ***** error gumbellike ([12, 15]); ***** error gumbellike ([12, 15, 3], [1:50]); ***** error gumbellike ([12, 3], ones (10, 2)); ***** error gumbellike ([12, 15], [1:50], [1, 2, 3]); ***** error gumbellike ([12, 15], [1:50], [], [1, 2, 3]); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fit/tlsfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/tlsfit.m ***** demo ## Sample 3 populations from 3 different location-scale T distributions randn ('seed', 1); # for reproducibility randg ('seed', 2); # for reproducibility r1 = tlsrnd (-4, 3, 1, 2000, 1); randn ('seed', 3); # for reproducibility randg ('seed', 4); # for reproducibility r2 = tlsrnd (0, 3, 1, 2000, 1); randn ('seed', 5); # for reproducibility randg ('seed', 6); # for reproducibility r3 = tlsrnd (5, 5, 4, 2000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, [-21:21], [1, 1, 1]); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 0.25]); xlim ([-20, 20]); hold on ## Estimate their lambda parameter mu_sigma_nuA = tlsfit (r(:,1)); mu_sigma_nuB = tlsfit (r(:,2)); mu_sigma_nuC = tlsfit (r(:,3)); ## Plot their estimated PDFs x = [-20:0.1:20]; y = tlspdf (x, mu_sigma_nuA(1), mu_sigma_nuA(2), mu_sigma_nuA(3)); plot (x, y, '-pr'); y = tlspdf (x, mu_sigma_nuB(1), mu_sigma_nuB(2), mu_sigma_nuB(3)); plot (x, y, '-sg'); y = tlspdf (x, mu_sigma_nuC(1), mu_sigma_nuC(2), mu_sigma_nuC(3)); plot (x, y, '-^c'); hold off legend ({'Normalized HIST of sample 1 with μ=0, σ=2 and nu=1', ... 'Normalized HIST of sample 2 with μ=5, σ=2 and nu=1', ... 'Normalized HIST of sample 3 with μ=3, σ=4 and nu=3', ... sprintf("PDF for sample 1 with estimated μ=%0.2f, σ=%0.2f, and ν=%0.2f", ... mu_sigma_nuA(1), mu_sigma_nuA(2), mu_sigma_nuA(3)), ... sprintf("PDF for sample 2 with estimated μ=%0.2f, σ=%0.2f, and ν=%0.2f", ... mu_sigma_nuB(1), mu_sigma_nuB(2), mu_sigma_nuB(3)), ... sprintf("PDF for sample 3 with estimated μ=%0.2f, σ=%0.2f, and ν=%0.2f", ... mu_sigma_nuC(1), mu_sigma_nuC(2), mu_sigma_nuC(3))}) title ('Three population samples from different location-scale T distributions') hold off ***** test x = [-1.2352, -0.2741, 0.1726, 7.4356, 1.0392, 16.4165]; [paramhat, paramci] = tlsfit (x); paramhat_out = [0.035893, 0.862711, 0.649261]; paramci_out = [-0.949034, 0.154655, 0.181080; 1.02082, 4.812444, 2.327914]; assert_equal (paramhat, paramhat_out, 1e-6); assert_equal (paramci, paramci_out, 1e-5); ***** test x = [-1.2352, -0.2741, 0.1726, 7.4356, 1.0392, 16.4165]; [paramhat, paramci] = tlsfit (x, 0.01); paramci_out = [-1.2585, 0.0901, 0.1212; 1.3303, 8.2591, 3.4771]; assert_equal (paramci, paramci_out, 1e-4); ***** error tlsfit (ones (2,5)); ***** error tlsfit ([1, 2, 3, 4, 5], 1.2); ***** error tlsfit ([1, 2, 3, 4, 5], 0); ***** error tlsfit ([1, 2, 3, 4, 5], 'alpha'); ***** error ... tlsfit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... tlsfit ([1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error ... tlsfit ([1, 2, 3, 4, 5], 0.05, zeros (1,5), [1 1 0]); ***** error ... tlsfit ([1, 2, 3, 4, 5], [], [], [1 1 0 1 1]'); ***** error ... tlsfit ([1, 2, 3, 4, 5], [], [], [1 1 0 1 -1]); ***** error ... tlsfit ([1, 2, 3, 4, 5], 0.05, [], [], 2); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/dist_fit/logifit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/logifit.m ***** demo ## Sample 3 populations from different logistic distributions rand ('seed', 5) # for reproducibility r1 = logirnd (2, 1, 2000, 1); rand ('seed', 2) # for reproducibility r2 = logirnd (5, 2, 2000, 1); rand ('seed', 7) # for reproducibility r3 = logirnd (9, 4, 2000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, [-6:20], 1); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 0.3]); xlim ([-5, 20]); hold on ## Estimate their MU and LAMBDA parameters mu_sA = logifit (r(:,1)); mu_sB = logifit (r(:,2)); mu_sC = logifit (r(:,3)); ## Plot their estimated PDFs x = [-5:0.5:20]; y = logipdf (x, mu_sA(1), mu_sA(2)); plot (x, y, '-pr'); y = logipdf (x, mu_sB(1), mu_sB(2)); plot (x, y, '-sg'); y = logipdf (x, mu_sC(1), mu_sC(2)); plot (x, y, '-^c'); hold off legend ({'Normalized HIST of sample 1 with μ=1 and s=0.5', ... 'Normalized HIST of sample 2 with μ=2 and s=0.3', ... 'Normalized HIST of sample 3 with μ=4 and s=0.5', ... sprintf("PDF for sample 1 with estimated μ=%0.2f and s=%0.2f", ... mu_sA(1), mu_sA(2)), ... sprintf("PDF for sample 2 with estimated μ=%0.2f and s=%0.2f", ... mu_sB(1), mu_sB(2)), ... sprintf("PDF for sample 3 with estimated μ=%0.2f and s=%0.2f", ... mu_sC(1), mu_sC(2))}) title ('Three population samples from different logistic distributions') hold off ***** test paramhat = logifit ([1:50]); paramhat_out = [25.5, 8.7724]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = logifit ([1:5]); paramhat_out = [3, 0.8645]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = logifit ([1:6], [], [], [1 1 1 1 1 0]); paramhat_out = [3, 0.8645]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = logifit ([1:5], [], [], [1 1 1 1 2]); paramhat_out = logifit ([1:5, 5]); assert_equal (paramhat, paramhat_out, 1e-4); ***** error logifit (ones (2,5)); ***** error logifit ([1, 2, 3, 4, 5], 1.2); ***** error logifit ([1, 2, 3, 4, 5], 0); ***** error logifit ([1, 2, 3, 4, 5], 'alpha'); ***** error ... logifit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... logifit ([1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error ... logifit ([1, 2, 3, 4, 5], 0.05, zeros (1,5), [1 1 0]); ***** error ... logifit ([1, 2, 3, 4, 5], [], [], [1 1 0 1 1]'); ***** error ... logifit ([1, 2, 3, 4, 5], 0.05, [], [], 2); 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fit/unidfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/unidfit.m ***** demo ## Sample 2 populations from different discrete uniform distributions rand ('seed', 1); # for reproducibility r1 = unidrnd (5, 1000, 1); rand ('seed', 2); # for reproducibility r2 = unidrnd (9, 1000, 1); r = [r1, r2]; ## Plot them normalized and fix their colors hist (r, 0:0.5:20.5, 1); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); hold on ## Estimate their probability of success NhatA = unidfit (r(:,1)); NhatB = unidfit (r(:,2)); ## Plot their estimated PDFs x = [0:10]; y = unidpdf (x, NhatA); plot (x, y, '-pg'); y = unidpdf (x, NhatB); plot (x, y, '-sc'); xlim ([0, 10]) ylim ([0, 0.4]) legend ({'Normalized HIST of sample 1 with N=5', ... 'Normalized HIST of sample 2 with N=9', ... sprintf("PDF for sample 1 with estimated N=%0.2f", NhatA), ... sprintf("PDF for sample 2 with estimated N=%0.2f", NhatB)}) title ('Two population samples from different discrete uniform distributions') hold off ***** test x = 0:5; [Nhat, Nci] = unidfit (x); assert_equal (Nhat, 5); assert_equal (Nci, [5; 9]); ***** test x = 0:5; [Nhat, Nci] = unidfit (x, [], [1 1 1 1 1 1]); assert_equal (Nhat, 5); assert_equal (Nci, [5; 9]); ***** assert_equal (unidfit ([1 1 2 3]), unidfit ([1 2 3], [] ,[2 1 1])) ***** error unidfit () ***** error unidfit (-1, [1 2 3 3]) ***** error unidfit (1, 0) ***** error unidfit (1, 1.2) ***** error unidfit (1, [0.02 0.05]) ***** error ... unidfit ([1.5, 0.2], [], [0, 0, 0, 0, 0]) ***** error ... unidfit ([1.5, 0.2], [], [1, 1, 1]) ***** error ... unidfit ([1.5, 0.2], [], [1, -1]) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/dist_fit/wbllike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/wbllike.m ***** test x = 1:50; [nlogL, acov] = wbllike ([2.3, 1.2], x); avar_out = [0.0250, 0.0062; 0.0062, 0.0017]; assert_equal (nlogL, 945.9589180651594, 1e-12); assert_equal (acov, avar_out, 1e-4); ***** test x = 1:50; [nlogL, acov] = wbllike ([2.3, 1.2], x * 0.5); avar_out = [-0.3238, -0.1112; -0.1112, -0.0376]; assert_equal (nlogL, 424.9879809704742, 6e-14); assert_equal (acov, avar_out, 1e-4); ***** test x = 1:50; [nlogL, acov] = wbllike ([21, 15], x); avar_out = [-0.00001236, -0.00001166; -0.00001166, -0.00001009]; assert_equal (nlogL, 1635190.328991511, 1e-8); assert_equal (acov, avar_out, 1e-8); ***** error wbllike ([12, 15]); ***** error wbllike ([12, 15, 3], [1:50]); ***** error wbllike ([12, 3], ones (10, 2)); ***** error wbllike ([12, 15], [1:50], [1, 2, 3]); ***** error wbllike ([12, 15], [1:50], [], [1, 2, 3]); ***** error ... wbllike ([12, 15], [1:5], [], [1, 2, 3, -1, 0]); 9 tests, 9 passed, 0 known failure, 0 skipped [inst/dist_fit/gamlike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/gamlike.m ***** test [nlogL, acov] = gamlike ([2, 3], [2, 3, 4, 5, 6, 7, 8, 9]); assert_equal (nlogL, 19.4426, 1e-4); assert_equal (acov, [2.7819, -5.0073; -5.0073, 9.6882], 1e-4); ***** test [nlogL, acov] = gamlike ([2, 3], [5:45]); assert_equal (nlogL, 305.8070, 1e-4); assert_equal (acov, [0.0423, -0.0087; -0.0087, 0.0167], 1e-4); ***** test [nlogL, acov] = gamlike ([2, 13], [5:45]); assert_equal (nlogL, 163.2261, 1e-4); assert_equal (acov, [0.2362, -1.6631; -1.6631, 13.9440], 1e-4); ***** error ... gamlike ([12, 15]) ***** error gamlike ([12, 15, 3], [1:50]) ***** error gamlike ([12, 3], ones (10, 2)) ***** error ... gamlike ([12, 15], [1:50], [1, 2, 3]) ***** error ... gamlike ([12, 15], [1:50], [], [1, 2, 3]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fit/gumbelfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/gumbelfit.m ***** demo ## Sample 3 populations from different Gumbel distributions rand ('seed', 1); # for reproducibility r1 = gumbelrnd (2, 5, 400, 1); rand ('seed', 11); # for reproducibility r2 = gumbelrnd (-5, 3, 400, 1); rand ('seed', 16); # for reproducibility r3 = gumbelrnd (14, 8, 400, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, 25, 0.32); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 0.28]) xlim ([-11, 50]); hold on ## Estimate their MU and BETA parameters mu_betaA = gumbelfit (r(:,1)); mu_betaB = gumbelfit (r(:,2)); mu_betaC = gumbelfit (r(:,3)); ## Plot their estimated PDFs x = [min(r(:)):max(r(:))]; y = gumbelpdf (x, mu_betaA(1), mu_betaA(2)); plot (x, y, '-pr'); y = gumbelpdf (x, mu_betaB(1), mu_betaB(2)); plot (x, y, '-sg'); y = gumbelpdf (x, mu_betaC(1), mu_betaC(2)); plot (x, y, '-^c'); legend ({'Normalized HIST of sample 1 with μ=2 and β=5', ... 'Normalized HIST of sample 2 with μ=-5 and β=3', ... 'Normalized HIST of sample 3 with μ=14 and β=8', ... sprintf("PDF for sample 1 with estimated μ=%0.2f and β=%0.2f", ... mu_betaA(1), mu_betaA(2)), ... sprintf("PDF for sample 2 with estimated μ=%0.2f and β=%0.2f", ... mu_betaB(1), mu_betaB(2)), ... sprintf("PDF for sample 3 with estimated μ=%0.2f and β=%0.2f", ... mu_betaC(1), mu_betaC(2))}) title ('Three population samples from different Gumbel distributions') hold off ***** test x = 1:50; [paramhat, paramci] = gumbelfit (x); paramhat_out = [18.3188, 13.0509]; paramci_out = [14.4882, 10.5294; 22.1495, 16.1763]; assert_equal (paramhat, paramhat_out, 1e-4); assert_equal (paramci, paramci_out, 1e-4); ***** test x = 1:50; [paramhat, paramci] = gumbelfit (x, 0.01); paramci_out = [13.2845, 9.8426; 23.3532, 17.3051]; assert_equal (paramci, paramci_out, 1e-4); ***** error gumbelfit (ones (2,5)); ***** error ... gumbelfit (single (ones (1,5))); ***** error ... gumbelfit ([1, 2, 3, 4, NaN]); ***** error gumbelfit ([1, 2, 3, 4, 5], 1.2); ***** error ... gumbelfit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... gumbelfit ([1, 2, 3, 4, 5], 0.05, [], [1 1 0]); ***** error gamfit ([1, 2, 3], 0.05, [], [1 5 -1]) ***** error ... gumbelfit ([1, 2, 3, 4, 5], 0.05, [], [], 2); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_fit/invglike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/invglike.m ***** test nlogL = invglike ([25.5, 19.6973], [1:50]); assert_equal (nlogL, 219.1516, 1e-4); ***** test nlogL = invglike ([3, 8.1081], [1:5]); assert_equal (nlogL, 9.0438, 1e-4); ***** error invglike (3.25) ***** error invglike ([5, 0.2], ones (2)) ***** error invglike ([5, 0.2], [-1, 3]) ***** error ... invglike ([1, 0.2, 3], [1, 3, 5, 7]) ***** error ... invglike ([1.5, 0.2], [1:5], [0, 0, 0]) ***** error ... invglike ([1.5, 0.2], [1:5], [0, 0, 0, 0, 0], [1, 1, 1]) ***** error ... invglike ([1.5, 0.2], [1:5], [], [1, 1, 1]) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/dist_fit/invgfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/invgfit.m ***** demo ## Sample 3 populations from different inverse Gaussian distributions rand ('seed', 5); randn ('seed', 5); # for reproducibility r1 = invgrnd (1, 0.2, 2000, 1); rand ('seed', 2); randn ('seed', 2); # for reproducibility r2 = invgrnd (1, 3, 2000, 1); rand ('seed', 7); randn ('seed', 7); # for reproducibility r3 = invgrnd (3, 1, 2000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, [0.1:0.1:3.2], 9); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 3]); xlim ([0, 3]); hold on ## Estimate their MU and LAMBDA parameters mu_lambdaA = invgfit (r(:,1)); mu_lambdaB = invgfit (r(:,2)); mu_lambdaC = invgfit (r(:,3)); ## Plot their estimated PDFs x = [0:0.1:3]; y = invgpdf (x, mu_lambdaA(1), mu_lambdaA(2)); plot (x, y, '-pr'); y = invgpdf (x, mu_lambdaB(1), mu_lambdaB(2)); plot (x, y, '-sg'); y = invgpdf (x, mu_lambdaC(1), mu_lambdaC(2)); plot (x, y, '-^c'); hold off legend ({'Normalized HIST of sample 1 with μ=1 and λ=0.5', ... 'Normalized HIST of sample 2 with μ=2 and λ=0.3', ... 'Normalized HIST of sample 3 with μ=4 and λ=0.5', ... sprintf("PDF for sample 1 with estimated μ=%0.2f and λ=%0.2f", ... mu_lambdaA(1), mu_lambdaA(2)), ... sprintf("PDF for sample 2 with estimated μ=%0.2f and λ=%0.2f", ... mu_lambdaB(1), mu_lambdaB(2)), ... sprintf("PDF for sample 3 with estimated μ=%0.2f and λ=%0.2f", ... mu_lambdaC(1), mu_lambdaC(2))}) title ('Three population samples from different inverse Gaussian distributions') hold off ***** test paramhat = invgfit ([1:50]); paramhat_out = [25.5, 19.6973]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = invgfit ([1:5]); paramhat_out = [3, 8.1081]; assert_equal (paramhat, paramhat_out, 1e-4); ***** error invgfit (ones (2,5)); ***** error invgfit ([-1 2 3 4]); ***** error invgfit ([1, 2, 3, 4, 5], 1.2); ***** error invgfit ([1, 2, 3, 4, 5], 0); ***** error invgfit ([1, 2, 3, 4, 5], 'alpha'); ***** error ... invgfit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... invgfit ([1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error ... invgfit ([1, 2, 3, 4, 5], 0.05, zeros (1,5), [1 1 0]); ***** error ... invgfit ([1, 2, 3, 4, 5], [], [], [1 1 0 1 1]'); ***** error ... invgfit ([1, 2, 3, 4, 5], 0.05, [], [], 2); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/dist_fit/binolike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/binolike.m ***** assert_equal (binolike ([3, 0.333], [0:3]), 6.8302, 1e-4) ***** assert_equal (binolike ([3, 0.333], 0), 1.2149, 1e-4) ***** assert_equal (binolike ([3, 0.333], 1), 0.8109, 1e-4) ***** assert_equal (binolike ([3, 0.333], 2), 1.5056, 1e-4) ***** assert_equal (binolike ([3, 0.333], 3), 3.2988, 1e-4) ***** test [nlogL, acov] = binolike ([3, 0.333], 3); assert_equal (acov(4), 0.0740, 1e-4) ***** error binolike (3.25) ***** error binolike ([5, 0.2], ones (2)) ***** error ... binolike ([1, 0.2, 3], [1, 3, 5, 7]) ***** error binolike ([1.5, 0.2], 1) ***** error binolike ([-1, 0.2], 1) ***** error binolike ([Inf, 0.2], 1) ***** error binolike ([5, 1.2], [3, 5]) ***** error binolike ([5, -0.2], [3, 5]) ***** error ... binolike ([5, 0.5], ones (10, 1), ones (8,1)) ***** error ... binolike ([5, 0.5], ones (1, 8), [1 1 1 1 1 1 1 -1]) ***** error binolike ([5, 0.2], [-1, 3]) ***** error binolike ([5, 0.2], [3, 5, 7]) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/dist_fit/poissfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/poissfit.m ***** demo ## Sample 3 populations from 3 different Poisson distributions randp ('seed', 2); # for reproducibility r1 = poissrnd (1, 1000, 1); randp ('seed', 2); # for reproducibility r2 = poissrnd (4, 1000, 1); randp ('seed', 3); # for reproducibility r3 = poissrnd (10, 1000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, [0:20], 1); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); hold on ## Estimate their lambda parameter lambdahat = poissfit (r); ## Plot their estimated PDFs x = [0:20]; y = poisspdf (x, lambdahat(1)); plot (x, y, '-pr'); y = poisspdf (x, lambdahat(2)); plot (x, y, '-sg'); y = poisspdf (x, lambdahat(3)); plot (x, y, '-^c'); xlim ([0, 20]) ylim ([0, 0.4]) legend ({'Normalized HIST of sample 1 with λ=1', ... 'Normalized HIST of sample 2 with λ=4', ... 'Normalized HIST of sample 3 with λ=10', ... sprintf("PDF for sample 1 with estimated λ=%0.2f", ... lambdahat(1)), ... sprintf("PDF for sample 2 with estimated λ=%0.2f", ... lambdahat(2)), ... sprintf("PDF for sample 3 with estimated λ=%0.2f", ... lambdahat(3))}) title ('Three population samples from different Poisson distributions') hold off ***** test x = [1 3 2 4 5 4 3 4]; [lhat, lci] = poissfit (x); assert_equal (lhat, 3.25) assert_equal (lci, [2.123007901949543; 4.762003010390628], 1e-14) ***** test x = [1 3 2 4 5 4 3 4]; [lhat, lci] = poissfit (x, 0.01); assert_equal (lhat, 3.25) assert_equal (lci, [1.842572740234582; 5.281369033298528], 1e-14) ***** test x = [1 2 3 4 5]; f = [1 1 2 3 1]; [lhat, lci] = poissfit (x, [], f); assert_equal (lhat, 3.25) assert_equal (lci, [2.123007901949543; 4.762003010390628], 1e-14) ***** test x = [1 2 3 4 5]; f = [1 1 2 3 1]; [lhat, lci] = poissfit (x, 0.01, f); assert_equal (lhat, 3.25) assert_equal (lci, [1.842572740234582; 5.281369033298528], 1e-14) ***** error poissfit ([1 2 -1 3]) ***** error poissfit ([1 2 3], 0) ***** error poissfit ([1 2 3], 1.2) ***** error poissfit ([1 2 3], [0.02 0.05]) ***** error poissfit ([1 2 3], [], [1 5]) ***** error poissfit ([1 2 3], [], [1 5 -1]) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_fit/ricefit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/ricefit.m ***** demo ## Sample 3 populations from different Gamma distributions randg ('seed', 5); # for reproducibility randp ('seed', 6); r1 = ricernd (1, 2, 3000, 1); randg ('seed', 2); # for reproducibility randp ('seed', 8); r2 = ricernd (2, 4, 3000, 1); randg ('seed', 7); # for reproducibility randp ('seed', 9); r3 = ricernd (7.5, 1, 3000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, 75, 4); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 0.7]); xlim ([0, 12]); hold on ## Estimate their α and β parameters s_sigmaA = ricefit (r(:,1)); s_sigmaB = ricefit (r(:,2)); s_sigmaC = ricefit (r(:,3)); ## Plot their estimated PDFs x = [0.01,0.1:0.2:18]; y = ricepdf (x, s_sigmaA(1), s_sigmaA(2)); plot (x, y, '-pr'); y = ricepdf (x, s_sigmaB(1), s_sigmaB(2)); plot (x, y, '-sg'); y = ricepdf (x, s_sigmaC(1), s_sigmaC(2)); plot (x, y, '-^c'); hold off legend ({'Normalized HIST of sample 1 with s=1 and σ=2', ... 'Normalized HIST of sample 2 with s=2 and σ=4', ... 'Normalized HIST of sample 3 with s=7.5 and σ=1', ... sprintf("PDF for sample 1 with estimated s=%0.2f and σ=%0.2f", ... s_sigmaA(1), s_sigmaA(2)), ... sprintf("PDF for sample 2 with estimated s=%0.2f and σ=%0.2f", ... s_sigmaB(1), s_sigmaB(2)), ... sprintf("PDF for sample 3 with estimated s=%0.2f and σ=%0.2f", ... s_sigmaC(1), s_sigmaC(2))}) title ('Three population samples from different Rician distributions') hold off ***** test [paramhat, paramci] = ricefit ([1:50]); assert_equal (paramhat, [15.3057, 17.6668], 1e-4); assert_equal (paramci, [9.5468, 11.7802; 24.5383, 26.4952], 1e-4); ***** test [paramhat, paramci] = ricefit ([1:50], 0.01); assert_equal (paramhat, [15.3057, 17.6668], 1e-4); assert_equal (paramci, [8.2309, 10.3717; 28.4615, 30.0934], 1e-4); ***** test [paramhat, paramci] = ricefit ([1:5]); assert_equal (paramhat, [2.3123, 1.6812], 1e-4); assert_equal (paramci, [1.0819, 0.6376; 4.9424, 4.4331], 1e-4); ***** test [paramhat, paramci] = ricefit ([1:5], 0.01); assert_equal (paramhat, [2.3123, 1.6812], 1e-4); assert_equal (paramci, [0.8521, 0.4702; 6.2747, 6.0120], 1e-4); ***** test freq = [1 1 1 1 5]; [paramhat, paramci] = ricefit ([1:5], [], [], freq); assert_equal (paramhat, [3.5181, 1.5565], 1e-4); assert_equal (paramci, [2.5893, 0.9049; 4.7801, 2.6772], 1e-4); ***** test censor = [1 0 0 0 0]; [paramhat, paramci] = ricefit ([1:5], [], censor); assert_equal (paramhat, [3.2978, 1.1527], 1e-4); assert_equal (paramci, [2.3192, 0.5476; 4.6895, 2.4261], 1e-4); ***** assert_equal (class (ricefit (single ([1:50]))), "single") ***** error ricefit (ones (2)) ***** error ricefit ([1:50], 1) ***** error ricefit ([1:50], -1) ***** error ricefit ([1:50], {0.05}) ***** error ricefit ([1:50], 'k') ***** error ricefit ([1:50], i) ***** error ricefit ([1:50], [0.01 0.02]) ***** error ricefit ([1:50], [], [1 1]) ***** error ricefit ([1:50], [], [], [1 1]) ***** error ... ricefit ([1:5], [], [], [1, 1, 2, 1, -1]) ***** error ricefit ([1 2 3 -4]) ***** error ricefit ([1 2 0], [], [1 0 0]) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/dist_fit/binofit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/binofit.m ***** demo ## Sample 2 populations from different binomial distributions rand ('seed', 1); # for reproducibility r1 = binornd (50, 0.15, 1000, 1); rand ('seed', 2); # for reproducibility r2 = binornd (100, 0.5, 1000, 1); r = [r1, r2]; ## Plot them normalized and fix their colors hist (r, 23, 0.35); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); hold on ## Estimate their probability of success pshatA = binofit (r(:,1), 50); pshatB = binofit (r(:,2), 100); ## Plot their estimated PDFs x = [min(r(:,1)):max(r(:,1))]; y = binopdf (x, 50, mean (pshatA)); plot (x, y, '-pg'); x = [min(r(:,2)):max(r(:,2))]; y = binopdf (x, 100, mean (pshatB)); plot (x, y, '-sc'); ylim ([0, 0.2]) legend ({'Normalized HIST of sample 1 with ps=0.15', ... 'Normalized HIST of sample 2 with ps=0.50', ... sprintf("PDF for sample 1 with estimated ps=%0.2f", ... mean (pshatA)), ... sprintf("PDF for sample 2 with estimated ps=%0.2f", ... mean (pshatB))}) title ('Two population samples from different binomial distributions') hold off ***** test x = 0:3; [pshat, psci] = binofit (x, 3); assert_equal (pshat, [0, 0.3333, 0.6667, 1], 1e-4); assert_equal (psci(1,:), [0, 0.7076], 1e-4); assert_equal (psci(2,:), [0.0084, 0.9057], 1e-4); assert_equal (psci(3,:), [0.0943, 0.9916], 1e-4); assert_equal (psci(4,:), [0.2924, 1.0000], 1e-4); ***** error ... binofit ([1 2 3 4]) ***** error ... binofit ([-1, 4, 3, 2], [1, 2, 3, 3]) ***** error binofit (ones (2), [1, 2, 3, 3]) ***** error ... binofit ([1, 4, 3, 2], [1, 2, -1, 3]) ***** error ... binofit ([1, 4, 3, 2], [5, 5, 5]) ***** error ... binofit ([1, 4, 3, 2], [5, 3, 5, 5]) ***** error binofit ([1, 2, 1], 3, 1.2); ***** error binofit ([1, 2, 1], 3, 0); ***** error binofit ([1, 2, 1], 3, 'alpha'); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/dist_fit/burrlike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/burrlike.m ***** error burrlike (3.25) ***** error burrlike ([1, 2, 3], ones (2)) ***** error burrlike ([1, 2, 3], [-1, 3]) ***** error ... burrlike ([1, 2], [1, 3, 5, 7]) ***** error ... burrlike ([1, 2, 3, 4], [1, 3, 5, 7]) ***** error ... burrlike ([1, 2, 3], [1:5], [0, 0, 0]) ***** error ... burrlike ([1, 2, 3], [1:5], [0, 0, 0, 0, 0], [1, 1, 1]) ***** error ... burrlike ([1, 2, 3], [1:5], [], [1, 1, 1]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fit/gevfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/gevfit.m ***** demo ## Sample 2 populations from 2 different exponential distributions rand ('seed', 1); # for reproducibility r1 = gevrnd (-0.5, 1, 2, 5000, 1); rand ('seed', 2); # for reproducibility r2 = gevrnd (0, 1, -4, 5000, 1); r = [r1, r2]; ## Plot them normalized and fix their colors hist (r, 50, 5); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); hold on ## Estimate their k, sigma, and mu parameters k_sigma_muA = gevfit (r(:,1)); k_sigma_muB = gevfit (r(:,2)); ## Plot their estimated PDFs x = [-10:0.5:20]; y = gevpdf (x, k_sigma_muA(1), k_sigma_muA(2), k_sigma_muA(3)); plot (x, y, '-pr'); y = gevpdf (x, k_sigma_muB(1), k_sigma_muB(2), k_sigma_muB(3)); plot (x, y, '-sg'); ylim ([0, 0.7]) xlim ([-7, 5]) legend ({'Normalized HIST of sample 1 with k=-0.5, σ=1, μ=2', ... 'Normalized HIST of sample 2 with k=0, σ=1, μ=-4', sprintf("PDF for sample 1 with estimated k=%0.2f, σ=%0.2f, μ=%0.2f", ... k_sigma_muA(1), k_sigma_muA(2), k_sigma_muA(3)), ... sprintf("PDF for sample 3 with estimated k=%0.2f, σ=%0.2f, μ=%0.2f", ... k_sigma_muB(1), k_sigma_muB(2), k_sigma_muB(3))}) title ('Two population samples from different exponential distributions') hold off ***** test x = 1:50; [pfit, pci] = gevfit (x); pfit_out = [-0.4407, 15.1923, 21.5309]; pci_out = [-0.7532, 11.5878, 16.5686; -0.1282, 19.9183, 26.4926]; assert_equal (pfit, pfit_out, 1e-3); assert_equal (pci, pci_out, 1e-3); ***** test x = 1:2:50; [pfit, pci] = gevfit (x); pfit_out = [-0.4434, 15.2024, 21.0532]; pci_out = [-0.8904, 10.3439, 14.0168; 0.0035, 22.3429, 28.0896]; assert_equal (pfit, pfit_out, 1e-3); assert_equal (pci, pci_out, 1e-3); ***** error gevfit (ones (2,5)); ***** error gevfit ([1, 2, 3, 4, 5], 1.2); ***** error gevfit ([1, 2, 3, 4, 5], 0); ***** error gevfit ([1, 2, 3, 4, 5], 'alpha'); ***** error ... gevfit ([1, 2, 3, 4, 5], 0.05, [1, 2, 3, 2]); ***** error ... gevfit ([1, 2, 3, 4, 5], 0.05, [1, 2, 3, 2, -1]); ***** error ... gevfit ([1, 2, 3, 4, 5], 0.05, [1, 2, 3, 2, 1.5]); ***** error ... gevfit ([1, 2, 3, 4, 5], 0.05, struct ('option', 234)); ***** error ... gevfit ([1, 2, 3, 4, 5], 0.05, ones (1,5), struct ('option', 234)); 11 tests, 11 passed, 0 known failure, 0 skipped [inst/dist_fit/raylfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/raylfit.m ***** demo ## Sample 3 populations from 3 different Rayleigh distributions rand ('seed', 2); # for reproducibility r1 = raylrnd (1, 1000, 1); rand ('seed', 2); # for reproducibility r2 = raylrnd (2, 1000, 1); rand ('seed', 3); # for reproducibility r3 = raylrnd (4, 1000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, [0.5:0.5:10.5], 2); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); hold on ## Estimate their lambda parameter sigmaA = raylfit (r(:,1)); sigmaB = raylfit (r(:,2)); sigmaC = raylfit (r(:,3)); ## Plot their estimated PDFs x = [0:0.1:10]; y = raylpdf (x, sigmaA); plot (x, y, '-pr'); y = raylpdf (x, sigmaB); plot (x, y, '-sg'); y = raylpdf (x, sigmaC); plot (x, y, '-^c'); xlim ([0, 10]) ylim ([0, 0.7]) legend ({'Normalized HIST of sample 1 with σ=1', ... 'Normalized HIST of sample 2 with σ=2', ... 'Normalized HIST of sample 3 with σ=4', ... sprintf("PDF for sample 1 with estimated σ=%0.2f", ... sigmaA), ... sprintf("PDF for sample 2 with estimated σ=%0.2f", ... sigmaB), ... sprintf("PDF for sample 3 with estimated σ=%0.2f", ... sigmaC)}) title ('Three population samples from different Rayleigh distributions') hold off ***** test x = [1 3 2 4 5 4 3 4]; [shat, sci] = raylfit (x); assert_equal (shat, 2.4495, 1e-4) assert_equal (sci, [1.8243; 3.7279], 1e-4) ***** test x = [1 3 2 4 5 4 3 4]; [shat, sci] = raylfit (x, 0.01); assert_equal (shat, 2.4495, 1e-4) assert_equal (sci, [1.6738; 4.3208], 1e-4) ***** test x = [1 2 3 4 5]; f = [1 1 2 3 1]; [shat, sci] = raylfit (x, [], [], f); assert_equal (shat, 2.4495, 1e-4) assert_equal (sci, [1.8243; 3.7279], 1e-4) ***** test x = [1 2 3 4 5]; f = [1 1 2 3 1]; [shat, sci] = raylfit (x, 0.01, [], f); assert_equal (shat, 2.4495, 1e-4) assert_equal (sci, [1.6738; 4.3208], 1e-4) ***** test x = [1 2 3 4 5 6]; c = [0 0 0 0 0 1]; f = [1 1 2 3 1 1]; [shat, sci] = raylfit (x, 0.01, c, f); assert_equal (shat, 2.4495, 1e-4) assert_equal (sci, [1.6738; 4.3208], 1e-4) ***** error raylfit (ones (2,5)); ***** error raylfit ([1 2 -1 3]) ***** error raylfit ([1 2 3], 0) ***** error raylfit ([1 2 3], 1.2) ***** error raylfit ([1 2 3], [0.02 0.05]) ***** error ... raylfit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... raylfit ([1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error ... raylfit ([1, 2, 3, 4, 5], 0.05, zeros (1,5), [1 1 0]); ***** error ... raylfit ([1, 2, 3, 4, 5], [], [], [1 1 0 1 1]'); ***** error raylfit ([1 2 3], [], [], [1 5]) ***** error raylfit ([1 2 3], [], [], [1 5 -1]) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fit/betalike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/betalike.m ***** test x = 0.01:0.02:0.99; [nlogL, avar] = betalike ([2.3, 1.2], x); avar_out = [0.03691678, 0.02803056; 0.02803056, 0.03965629]; assert_equal (nlogL, 17.873477715879040, 3e-14); assert_equal (avar, avar_out, 1e-7); ***** test x = 0.01:0.02:0.99; [nlogL, avar] = betalike ([1, 4], x); avar_out = [0.02793282, 0.02717274; 0.02717274, 0.03993361]; assert_equal (nlogL, 79.648061114839550, 1e-13); assert_equal (avar, avar_out, 1e-7); ***** test x = 0.00:0.02:1; [nlogL, avar] = betalike ([1, 4], x); avar_out = [0.00000801564765, 0.00000131397245; ... 0.00000131397245, 0.00070827639442]; assert_equal (nlogL, 573.2008434477486, 1e-10); assert_equal (avar, avar_out, 1e-14); ***** error ... betalike ([12, 15]); ***** error betalike ([12, 15, 3], [1:50]); ***** error ... betalike ([12, 15], ones (10, 1), ones (8,1)) ***** error ... betalike ([12, 15], ones (1, 8), [1 1 1 1 1 1 1 -1]) ***** error ... betalike ([12, 15], ones (1, 8), [1 1 1 1 1 1 1 1.5]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fit/unifit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/unifit.m ***** demo ## Sample 2 populations from different continuous uniform distributions rand ('seed', 5); # for reproducibility r1 = unifrnd (2, 5, 2000, 1); rand ('seed', 6); # for reproducibility r2 = unifrnd (3, 9, 2000, 1); r = [r1, r2]; ## Plot them normalized and fix their colors hist (r, 0:0.5:10, 2); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); hold on ## Estimate their probability of success a_bA = unifit (r(:,1)); a_bB = unifit (r(:,2)); ## Plot their estimated PDFs x = [0:10]; y = unifpdf (x, a_bA(1), a_bA(2)); plot (x, y, '-pg'); y = unifpdf (x, a_bB(1), a_bB(2)); plot (x, y, '-sc'); xlim ([1, 10]) ylim ([0, 0.5]) legend ({'Normalized HIST of sample 1 with a=2 and b=5', ... 'Normalized HIST of sample 2 with a=3 and b=9', ... sprintf("PDF for sample 1 with estimated a=%0.2f and b=%0.2f", ... a_bA(1), a_bA(2)), ... sprintf("PDF for sample 2 with estimated a=%0.2f and b=%0.2f", ... a_bB(1), a_bB(2))}) title ('Two population samples from different continuous uniform distributions') hold off ***** test x = 0:5; [paramhat, paramci] = unifit (x); assert_equal (paramhat, [0, 5]); assert_equal (paramci, [-3.2377, 8.2377; 0, 5], 1e-4); ***** test x = 0:5; [paramhat, paramci] = unifit (x, [], [1 1 1 1 1 1]); assert_equal (paramhat, [0, 5]); assert_equal (paramci, [-3.2377, 8.2377; 0, 5], 1e-4); ***** assert_equal (unifit ([1 1 2 3]), unifit ([1 2 3], [] ,[2 1 1])) ***** error unifit () ***** error unifit (-1, [1 2 3 3]) ***** error unifit (1, 0) ***** error unifit (1, 1.2) ***** error unifit (1, [0.02 0.05]) ***** error ... unifit ([1.5, 0.2], [], [0, 0, 0, 0, 0]) ***** error ... unifit ([1.5, 0.2], [], [1, -1]) ***** error ... unifit ([1.5, 0.2], [], [1, 1, 1]) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/dist_fit/expfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/expfit.m ***** demo ## Sample 3 populations from 3 different exponential distributions rande ('seed', 1); # for reproducibility r1 = exprnd (2, 4000, 1); rande ('seed', 2); # for reproducibility r2 = exprnd (5, 4000, 1); rande ('seed', 3); # for reproducibility r3 = exprnd (12, 4000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, 48, 0.52); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); hold on ## Estimate their mu parameter muhat = expfit (r); ## Plot their estimated PDFs x = [0:max(r(:))]; y = exppdf (x, muhat(1)); plot (x, y, '-pr'); y = exppdf (x, muhat(2)); plot (x, y, '-sg'); y = exppdf (x, muhat(3)); plot (x, y, '-^c'); ylim ([0, 0.6]) xlim ([0, 40]) legend ({'Normalized HIST of sample 1 with μ=2', ... 'Normalized HIST of sample 2 with μ=5', ... 'Normalized HIST of sample 3 with μ=12', ... sprintf("PDF for sample 1 with estimated μ=%0.2f", muhat(1)), ... sprintf("PDF for sample 2 with estimated μ=%0.2f", muhat(2)), ... sprintf("PDF for sample 3 with estimated μ=%0.2f", muhat(3))}) title ('Three population samples from different exponential distributions') hold off ***** assert_equal (expfit (1), 1) ***** assert_equal (expfit (1:3), 2) ***** assert_equal (expfit ([1:3]'), 2) ***** assert_equal (expfit (1:3, []), 2) ***** assert_equal (expfit (1:3, [], [], []), 2) ***** assert_equal (expfit (magic (3)), [5 5 5]) ***** assert_equal (expfit (cat (3, magic (3), 2*magic (3))), cat (3,[5 5 5], [10 10 10])) ***** assert_equal (expfit (1:3, 0.1, [0 0 0], [1 1 1]), 2) ***** assert_equal (expfit ([1:3]', 0.1, [0 0 0]', [1 1 1]'), 2) ***** assert_equal (expfit (1:3, 0.1, [0 0 0]', [1 1 1]'), 2) ***** assert_equal (expfit (1:3, 0.1, [1 0 0], [1 1 1]), 3) ***** assert_equal (expfit (1:3, 0.1, [0 0 0], [4 1 1]), 1.5) ***** assert_equal (expfit (1:3, 0.1, [1 0 0], [4 1 1]), 4.5) ***** assert_equal (expfit (1:3, 0.1, [1 0 1], [4 1 1]), 9) ***** assert_equal (expfit (1:3, 0.1, [], [-1 1 1]), 4) ***** assert_equal (expfit (1:3, 0.1, [], [0.5 1 1]), 2.2) ***** assert_equal (expfit (1:3, 0.1, [1 1 1]), NaN) ***** assert_equal (expfit (1:3, 0.1, [], [0 0 0]), NaN) ***** assert_equal (expfit (reshape (1:9, [3 3])), [2 5 8]) ***** assert_equal (expfit (reshape (1:9, [3 3]), [], eye (3)), [3 7.5 12]) ***** assert_equal (expfit (reshape (1:9, [3 3]), [], 2*eye (3)), [3 7.5 12]) ***** assert_equal (expfit (reshape (1:9, [3 3]), [], [], [2 2 2; 1 1 1; 1 1 1]), ... [1.75 4.75 7.75]) ***** assert_equal (expfit (reshape (1:9, [3 3]), [], [], [2 2 2; 1 1 1; 1 1 1]), ... [1.75 4.75 7.75]) ***** assert_equal (expfit (reshape (1:9, [3 3]), [], eye (3), [2 2 2; 1 1 1; 1 1 1]), ... [3.5 19/3 31/3]) ***** assert_equal ([~,muci] = expfit (1:3, 0), [0; Inf]) ***** assert_equal ([~,muci] = expfit (1:3, 2), [Inf; 0]) ***** assert_equal ([~,muci] = expfit (1:3, 0.1, [1 1 1]), [NaN; NaN]) ***** assert_equal ([~,muci] = expfit (1:3, 0.1, [], [0 0 0]), [NaN; NaN]) ***** assert_equal ([~,muci] = expfit (1:3, -1), [NaN; NaN]) ***** assert_equal ([~,muci] = expfit (1:3, 5), [NaN; NaN]) ***** assert_equal ([~,muci] = expfit (1:3), [0.830485728373393; 9.698190330474096], ... 1000*eps) ***** assert_equal ([~,muci] = expfit (1:3, 0.1), ... [0.953017262058213; 7.337731146400207], 1000*eps) ***** assert_equal ([~,muci] = expfit ([1:3;2:4]), ... [0.538440777613095, 0.897401296021825, 1.256361814430554; ... 12.385982973214016, 20.643304955356694, 28.900626937499371], ... 1000*eps) ***** assert_equal ([~,muci] = expfit ([1:3;2:4], [], [1 1 1; 0 0 0]), ... 100*[0.008132550920455, 0.013554251534091, 0.018975952147727; ... 1.184936706156216, 1.974894510260360, 2.764852314364504], ... 1000*eps) ***** assert_equal ([~,muci] = expfit ([1:3;2:4], [], [], [3 3 3; 1 1 1]), ... [0.570302756652583, 1.026544961974649, 1.482787167296715; ... 4.587722594914109, 8.257900670845396, 11.928078746776684], ... 1000*eps) ***** assert_equal ([~,muci] = expfit ([1:3;2:4], [], [0 0 0; 1 1 1], [3 3 3; 1 1 1]), ... [0.692071440311161, 1.245728592560089, 1.799385744809018; ... 8.081825275395081, 14.547285495711145, 21.012745716027212], ... 1000*eps) ***** test x = reshape (1:8, [4 2]); x(4) = NaN; [muhat,muci] = expfit (x); assert_equal ({muhat, muci}, {[NaN, 6.5], ... [NaN, 2.965574334593430;NaN, 23.856157493553368]}, 1000*eps); ***** test x = magic (3); censor = [0 1 0; 0 1 0; 0 1 0]; freq = [1 1 0; 1 1 0; 1 1 0]; [muhat,muci] = expfit (x, [], censor, freq); assert_equal ({muhat, muci}, {[5 NaN NaN], ... [[2.076214320933482; 24.245475826185242],NaN(2)]}, 1000*eps); ***** error expfit () ***** error expfit (1,2,3,4,5) ***** error [a b censor] = expfit (1) ***** error expfit (1, [1 2]) ***** error expfit ([-1 2 3 4 5]) ***** error expfit ([1:5], [], 'test') ***** error expfit ([1:5], [], [], 'test') ***** error expfit ([1:5], [], [0 0 0 0]) ***** error expfit ([1:5], [], [], [1 1 1 1]) 47 tests, 47 passed, 0 known failure, 0 skipped [inst/dist_fit/nakafit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/nakafit.m ***** demo ## Sample 3 populations from different Nakagami distributions randg ('seed', 5) # for reproducibility r1 = nakarnd (0.5, 1, 2000, 1); randg ('seed', 2) # for reproducibility r2 = nakarnd (5, 1, 2000, 1); randg ('seed', 7) # for reproducibility r3 = nakarnd (2, 2, 2000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, [0.05:0.1:3.5], 10); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 2.5]); xlim ([0, 3.0]); hold on ## Estimate their MU and LAMBDA parameters mu_omegaA = nakafit (r(:,1)); mu_omegaB = nakafit (r(:,2)); mu_omegaC = nakafit (r(:,3)); ## Plot their estimated PDFs x = [0.01:0.1:3.01]; y = nakapdf (x, mu_omegaA(1), mu_omegaA(2)); plot (x, y, '-pr'); y = nakapdf (x, mu_omegaB(1), mu_omegaB(2)); plot (x, y, '-sg'); y = nakapdf (x, mu_omegaC(1), mu_omegaC(2)); plot (x, y, '-^c'); legend ({'Normalized HIST of sample 1 with μ=0.5 and ω=1', ... 'Normalized HIST of sample 2 with μ=5 and ω=1', ... 'Normalized HIST of sample 3 with μ=2 and ω=2', ... sprintf("PDF for sample 1 with estimated μ=%0.2f and ω=%0.2f", ... mu_omegaA(1), mu_omegaA(2)), ... sprintf("PDF for sample 2 with estimated μ=%0.2f and ω=%0.2f", ... mu_omegaB(1), mu_omegaB(2)), ... sprintf("PDF for sample 3 with estimated μ=%0.2f and ω=%0.2f", ... mu_omegaC(1), mu_omegaC(2))}) title ('Three population samples from different Nakagami distributions') hold off ***** test paramhat = nakafit ([1:50]); paramhat_out = [0.7355, 858.5]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = nakafit ([1:5]); paramhat_out = [1.1740, 11]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = nakafit ([1:6], [], [], [1 1 1 1 1 0]); paramhat_out = [1.1740, 11]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = nakafit ([1:5], [], [], [1 1 1 1 2]); paramhat_out = nakafit ([1:5, 5]); assert_equal (paramhat, paramhat_out, 1e-4); ***** error nakafit (ones (2,5)); ***** error nakafit ([1, 2, 3, 4, 5], 1.2); ***** error nakafit ([1, 2, 3, 4, 5], 0); ***** error nakafit ([1, 2, 3, 4, 5], 'alpha'); ***** error ... nakafit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... nakafit ([1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error ... nakafit ([1, 2, 3, 4, 5], 0.05, zeros (1,5), [1 1 0]); ***** error ... nakafit ([1, 2, 3, 4, 5], [], [], [1 1 0 1 1]'); ***** error ... nakafit ([1, 2, 3, 4, 5], [], [], [1 1 -1 1 1]); ***** error ... nakafit ([1, 2, 3, 4, 5], [], [], [1 1 1.5 1 1]); ***** error ... nakafit ([1, 2, 3, 4, 5], 0.05, [], [], 2); 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fit/loglfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/loglfit.m ***** demo ## Sample 3 populations from different log-logistic distributions rand ('seed', 5) # for reproducibility r1 = loglrnd (0, 1, 2000, 1); rand ('seed', 2) # for reproducibility r2 = loglrnd (0, 0.5, 2000, 1); rand ('seed', 7) # for reproducibility r3 = loglrnd (0, 0.125, 2000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, [0.05:0.1:2.5], 10); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 3.5]); xlim ([0, 2.0]); hold on ## Estimate their MU and LAMBDA parameters a_bA = loglfit (r(:,1)); a_bB = loglfit (r(:,2)); a_bC = loglfit (r(:,3)); ## Plot their estimated PDFs x = [0.01:0.1:2.01]; y = loglpdf (x, a_bA(1), a_bA(2)); plot (x, y, '-pr'); y = loglpdf (x, a_bB(1), a_bB(2)); plot (x, y, '-sg'); y = loglpdf (x, a_bC(1), a_bC(2)); plot (x, y, '-^c'); legend ({'Normalized HIST of sample 1 with α=1 and β=1', ... 'Normalized HIST of sample 2 with α=1 and β=2', ... 'Normalized HIST of sample 3 with α=1 and β=8', ... sprintf("PDF for sample 1 with estimated α=%0.2f and β=%0.2f", ... a_bA(1), a_bA(2)), ... sprintf("PDF for sample 2 with estimated α=%0.2f and β=%0.2f", ... a_bB(1), a_bB(2)), ... sprintf("PDF for sample 3 with estimated α=%0.2f and β=%0.2f", ... a_bC(1), a_bC(2))}) title ('Three population samples from different log-logistic distributions') hold off ***** test [paramhat, paramci] = loglfit ([1:50]); paramhat_out = [3.09717, 0.468525]; paramci_out = [2.87261, 0.370616; 3.32174, 0.5923]; assert_equal (paramhat, paramhat_out, 1e-5); assert_equal (paramci, paramci_out, 1e-5); ***** test paramhat = loglfit ([1:5]); paramhat_out = [1.01124, 0.336449]; assert_equal (paramhat, paramhat_out, 1e-5); ***** test paramhat = loglfit ([1:6], [], [], [1 1 1 1 1 0]); paramhat_out = [1.01124, 0.336449]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = loglfit ([1:5], [], [], [1 1 1 1 2]); paramhat_out = loglfit ([1:5, 5]); assert_equal (paramhat, paramhat_out, 1e-4); ***** error loglfit (ones (2,5)); ***** error loglfit ([1, 2, 3, 4, 5], 1.2); ***** error loglfit ([1, 2, 3, 4, 5], 0); ***** error loglfit ([1, 2, 3, 4, 5], 'alpha'); ***** error ... loglfit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... loglfit ([1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error ... loglfit ([1, 2, 3, 4, 5], 0.05, zeros (1,5), [1 1 0]); ***** error ... loglfit ([1, 2, 3, 4, 5], [], [], [1 1 0 1 1]'); ***** error ... loglfit ([1, 2, 3, 4, 5], 0.05, [], [], 2); 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fit/logllike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/logllike.m ***** test [nlogL, acov] = logllike ([3.09717, 0.468525], [1:50]); assert_equal (nlogL, 211.2965, 1e-4); assert_equal (acov, [0.0131, -0.0007; -0.0007, 0.0031], 1e-4); ***** test [nlogL, acov] = logllike ([1.01124, 0.336449], [1:5]); assert_equal (nlogL, 9.2206, 1e-4); assert_equal (acov, [0.0712, -0.0032; -0.0032, 0.0153], 1e-4); ***** error logllike (3.25) ***** error logllike ([5, 0.2], ones (2)) ***** error ... logllike ([1, 0.2, 3], [1, 3, 5, 7]) ***** error ... logllike ([1.5, 0.2], [1:5], [0, 0, 0]) ***** error ... logllike ([1.5, 0.2], [1:5], [0, 0, 0, 0, 0], [1, 1, 1]) ***** error ... logllike ([1.5, 0.2], [1:5], [], [1, 1, 1]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fit/burrfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/burrfit.m ***** demo ## Sample 3 populations from different Burr type XII distributions rand ('seed', 4); # for reproducibility r1 = burrrnd (3.5, 2, 2.5, 10000, 1); rand ('seed', 2); # for reproducibility r2 = burrrnd (1, 3, 1, 10000, 1); rand ('seed', 9); # for reproducibility r3 = burrrnd (0.5, 2, 3, 10000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, [0.1:0.2:20], [18, 5, 3]); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 3]); xlim ([0, 5]); hold on ## Estimate their α and β parameters lambda_c_kA = burrfit (r(:,1)); lambda_c_kB = burrfit (r(:,2)); lambda_c_kC = burrfit (r(:,3)); ## Plot their estimated PDFs x = [0.01:0.15:15]; y = burrpdf (x, lambda_c_kA(1), lambda_c_kA(2), lambda_c_kA(3)); plot (x, y, '-pr'); y = burrpdf (x, lambda_c_kB(1), lambda_c_kB(2), lambda_c_kB(3)); plot (x, y, '-sg'); y = burrpdf (x, lambda_c_kC(1), lambda_c_kC(2), lambda_c_kC(3)); plot (x, y, '-^c'); hold off legend ({'Normalized HIST of sample 1 with λ=3.5, c=2, and k=2.5', ... 'Normalized HIST of sample 2 with λ=1, c=3, and k=1', ... 'Normalized HIST of sample 3 with λ=0.5, c=2, and k=3', ... sprintf("PDF for sample 1 with estimated λ=%0.2f, c=%0.2f, and k=%0.2f", ... lambda_c_kA(1), lambda_c_kA(2), lambda_c_kA(3)), ... sprintf("PDF for sample 2 with estimated λ=%0.2f, c=%0.2f, and k=%0.2f", ... lambda_c_kB(1), lambda_c_kB(2), lambda_c_kB(3)), ... sprintf("PDF for sample 3 with estimated λ=%0.2f, c=%0.2f, and k=%0.2f", ... lambda_c_kC(1), lambda_c_kC(2), lambda_c_kC(3))}) title ('Three population samples from different Burr type XII distributions') hold off ***** test l = 1; c = 2; k = 3; r = burrrnd (l, c, k, 100000, 1); lambda_c_kA = burrfit (r); assert_equal (lambda_c_kA(1), l, 0.2); assert_equal (lambda_c_kA(2), c, 0.2); assert_equal (lambda_c_kA(3), k, 0.3); ***** test l = 0.5; c = 1; k = 3; r = burrrnd (l, c, k, 100000, 1); lambda_c_kA = burrfit (r); assert_equal (lambda_c_kA(1), l, 0.2); assert_equal (lambda_c_kA(2), c, 0.2); assert_equal (lambda_c_kA(3), k, 0.3); ***** test l = 1; c = 3; k = 1; r = burrrnd (l, c, k, 100000, 1); lambda_c_kA = burrfit (r); assert_equal (lambda_c_kA(1), l, 0.2); assert_equal (lambda_c_kA(2), c, 0.2); assert_equal (lambda_c_kA(3), k, 0.3); ***** test l = 3; c = 2; k = 1; r = burrrnd (l, c, k, 100000, 1); lambda_c_kA = burrfit (r); assert_equal (lambda_c_kA(1), l, 0.2); assert_equal (lambda_c_kA(2), c, 0.2); assert_equal (lambda_c_kA(3), k, 0.3); ***** test l = 4; c = 2; k = 4; r = burrrnd (l, c, k, 100000, 1); lambda_c_kA = burrfit (r); assert_equal (lambda_c_kA(1), l, 0.2); assert_equal (lambda_c_kA(2), c, 0.2); assert_equal (lambda_c_kA(3), k, 0.3); ***** error burrfit (ones (2,5)); ***** error burrfit ([-1 2 3 4]); ***** error burrfit ([1, 2, 3, 4, 5], 1.2); ***** error burrfit ([1, 2, 3, 4, 5], 0); ***** error burrfit ([1, 2, 3, 4, 5], 'alpha'); ***** error ... burrfit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... burrfit ([1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error burrfit ([1, 2, 3, 4, 5], 0.05, [], [1, 1, 5]) ***** error burrfit ([1, 2, 3, 4, 5], 0.05, [], [1, 5, 1, 1, -1]) ***** error ... burrfit ([1:10], 0.05, [], [], 5) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fit/gamfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/gamfit.m ***** demo ## Sample 3 populations from different Gamma distributions randg ('seed', 5); # for reproducibility r1 = gamrnd (1, 2, 2000, 1); randg ('seed', 2); # for reproducibility r2 = gamrnd (2, 2, 2000, 1); randg ('seed', 7); # for reproducibility r3 = gamrnd (7.5, 1, 2000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, 75, 4); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 0.62]); xlim ([0, 12]); hold on ## Estimate their α and β parameters a_bA = gamfit (r(:,1)); a_bB = gamfit (r(:,2)); a_bC = gamfit (r(:,3)); ## Plot their estimated PDFs x = [0.01,0.1:0.2:18]; y = gampdf (x, a_bA(1), a_bA(2)); plot (x, y, '-pr'); y = gampdf (x, a_bB(1), a_bB(2)); plot (x, y, '-sg'); y = gampdf (x, a_bC(1), a_bC(2)); plot (x, y, '-^c'); hold off legend ({'Normalized HIST of sample 1 with α=1 and β=2', ... 'Normalized HIST of sample 2 with α=2 and β=2', ... 'Normalized HIST of sample 3 with α=7.5 and β=1', ... sprintf("PDF for sample 1 with estimated α=%0.2f and β=%0.2f", ... a_bA(1), a_bA(2)), ... sprintf("PDF for sample 2 with estimated α=%0.2f and β=%0.2f", ... a_bB(1), a_bB(2)), ... sprintf("PDF for sample 3 with estimated α=%0.2f and β=%0.2f", ... a_bC(1), a_bC(2))}) title ('Three population samples from different Gamma distributions') hold off ***** shared x x = [1.2 1.6 1.7 1.8 1.9 2.0 2.2 2.6 3.0 3.5 4.0 4.8 5.6 6.6 7.6]; ***** test [paramhat, paramci] = gamfit (x); assert_equal (paramhat, [3.4248, 0.9752], 1e-4); assert_equal (paramci, [1.7287, 0.4670; 6.7852, 2.0366], 1e-4); ***** test [paramhat, paramci] = gamfit (x, 0.01); assert_equal (paramhat, [3.4248, 0.9752], 1e-4); assert_equal (paramci, [1.3945, 0.3705; 8.4113, 2.5668], 1e-4); ***** test freq = [1 1 1 1 2 1 1 1 1 2 1 1 1 1 2]; [paramhat, paramci] = gamfit (x, [], [], freq); assert_equal (paramhat, [3.3025, 1.0615], 1e-4); assert_equal (paramci, [1.7710, 0.5415; 6.1584, 2.0806], 1e-4); ***** test [paramhat, paramci] = gamfit (x, [], [], [1:15]); assert_equal (paramhat, [4.4484, 0.9689], 1e-4); assert_equal (paramci, [3.4848, 0.7482; 5.6785, 1.2546], 1e-4); ***** test [paramhat, paramci] = gamfit (x, 0.01, [], [1:15]); assert_equal (paramhat, [4.4484, 0.9689], 1e-4); assert_equal (paramci, [3.2275, 0.6899; 6.1312, 1.3608], 1e-4); ***** test cens = [0 0 0 0 1 0 0 0 0 0 0 0 0 0 0]; [paramhat, paramci] = gamfit (x, [], cens, [1:15]); assert_equal (paramhat, [4.7537, 0.9308], 1e-4); assert_equal (paramci, [3.7123, 0.7162; 6.0872, 1.2097], 1e-4); ***** test cens = [0 0 0 0 1 0 0 0 0 0 0 0 0 0 0]; freq = [1 1 1 1 2 1 1 1 1 2 1 1 1 1 2]; [paramhat, paramci] = gamfit (x, [], cens, freq); assert_equal (paramhat, [3.4736, 1.0847], 1e-4); assert_equal (paramci, [1.8286, 0.5359; 6.5982, 2.1956], 1e-4); ***** test [paramhat, paramci] = gamfit ([1 1 1 1 1 1]); assert_equal (paramhat, [Inf, 0]); assert_equal (paramci, [Inf, 0; Inf, 0]); ***** test [paramhat, paramci] = gamfit ([1 1 1 1 1 1], [], [1 1 1 1 1 1]); assert_equal (paramhat, [NaN, NaN]); assert_equal (paramci, [NaN, NaN; NaN, NaN]); ***** test [paramhat, paramci] = gamfit ([1 1 1 1 1 1], [], [], [1 1 1 1 1 1]); assert_equal (paramhat, [Inf, 0]); assert_equal (paramci, [Inf, 0; Inf, 0]); ***** assert_equal (class (gamfit (single (x))), "single") ***** error gamfit (ones (2)) ***** error gamfit (x, 1) ***** error gamfit (x, -1) ***** error gamfit (x, {0.05}) ***** error gamfit (x, 'a') ***** error gamfit (x, i) ***** error gamfit (x, [0.01 0.02]) ***** error gamfit ([1 2 3], 0.05, [], [1 5]) ***** error gamfit ([1 2 3], 0.05, [], [1 5 -1]) ***** error ... gamfit ([1:10], 0.05, [], [], 5) ***** error gamfit ([1 2 3 -4]) ***** error ... gamfit ([1 2 0], [], [1 0 0]) 23 tests, 23 passed, 0 known failure, 0 skipped [inst/dist_fit/bisalike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/bisalike.m ***** test nlogL = bisalike ([16.2649, 1.0156], [1:50]); assert_equal (nlogL, 215.5905, 1e-4); ***** test nlogL = bisalike ([2.5585, 0.5839], [1:5]); assert_equal (nlogL, 8.9950, 1e-4); ***** error bisalike (3.25) ***** error bisalike ([5, 0.2], ones (2)) ***** error bisalike ([5, 0.2], [-1, 3]) ***** error ... bisalike ([1, 0.2, 3], [1, 3, 5, 7]) ***** error ... bisalike ([1.5, 0.2], [1:5], [0, 0, 0]) ***** error ... bisalike ([1.5, 0.2], [1:5], [0, 0, 0, 0, 0], [1, 1, 1]) ***** error ... bisalike ([1.5, 0.2], [1:5], [], [1, 1, 1]) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/dist_fit/explike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/explike.m ***** test x = 12; beta = 5; [L, V] = explike (beta, x); expected_L = 4.0094; expected_V = 6.5789; assert_equal (L, expected_L, 0.001); assert_equal (V, expected_V, 0.001); ***** test x = 1:5; beta = 2; [L, V] = explike (beta, x); expected_L = 10.9657; expected_V = 0.4; assert_equal (L, expected_L, 0.001); assert_equal (V, expected_V, 0.001); ***** error explike () ***** error explike (2) ***** error explike ([12, 3], [1:50]) ***** error explike (3, ones (10, 2)) ***** error ... explike (3, [1:50], [1, 2, 3]) ***** error ... explike (3, [1:50], [], [1, 2, 3]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fit/hnlike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/hnlike.m ***** test x = 1:20; paramhat = hnfit (x, 0); [nlogL, acov] = hnlike (paramhat, x); assert_equal (nlogL, 64.179177404891300, 1e-14); ***** test x = 1:20; paramhat = hnfit (x, 0); [nlogL, acov] = hnlike (paramhat, x, ones (1, 20)); assert_equal (nlogL, 64.179177404891300, 1e-14); ***** error ... hnlike ([12, 15]); ***** error hnlike ([12, 15, 3], [1:50]); ***** error hnlike ([3], [1:50]); ***** error ... hnlike ([0, 3], ones (2)); ***** error ... hnlike ([0, 3], [1, 2, 3, 4, 5+i]); ***** error ... hnlike ([1, 2], ones (10, 1), ones (8,1)) ***** error ... hnlike ([1, 2], ones (1, 8), [1 1 1 1 1 1 1 -1]) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/dist_fit/lognfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/lognfit.m ***** demo ## Sample 3 populations from 3 different log-normal distributions randn ('seed', 1); # for reproducibility r1 = lognrnd (0, 0.25, 1000, 1); randn ('seed', 2); # for reproducibility r2 = lognrnd (0, 0.5, 1000, 1); randn ('seed', 3); # for reproducibility r3 = lognrnd (0, 1, 1000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, 30, 2); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); hold on ## Estimate their mu and sigma parameters mu_sigmaA = lognfit (r(:,1)); mu_sigmaB = lognfit (r(:,2)); mu_sigmaC = lognfit (r(:,3)); ## Plot their estimated PDFs x = [0:0.1:6]; y = lognpdf (x, mu_sigmaA(1), mu_sigmaA(2)); plot (x, y, '-pr'); y = lognpdf (x, mu_sigmaB(1), mu_sigmaB(2)); plot (x, y, '-sg'); y = lognpdf (x, mu_sigmaC(1), mu_sigmaC(2)); plot (x, y, '-^c'); ylim ([0, 2]) xlim ([0, 6]) hold off legend ({'Normalized HIST of sample 1 with mu=0, σ=0.25', ... 'Normalized HIST of sample 2 with mu=0, σ=0.5', ... 'Normalized HIST of sample 3 with mu=0, σ=1', ... sprintf("PDF for sample 1 with estimated mu=%0.2f and σ=%0.2f", ... mu_sigmaA(1), mu_sigmaA(2)), ... sprintf("PDF for sample 2 with estimated mu=%0.2f and σ=%0.2f", ... mu_sigmaB(1), mu_sigmaB(2)), ... sprintf("PDF for sample 3 with estimated mu=%0.2f and σ=%0.2f", ... mu_sigmaC(1), mu_sigmaC(2))}, 'location', 'northeast') title ('Three population samples from different log-normal distributions') hold off ***** test randn ('seed', 1); x = lognrnd (3, 5, [1000, 1]); [paramhat, paramci] = lognfit (x, 0.01); assert_equal (paramci(1,1) < 3, true); assert_equal (paramci(1,2) > 3, true); assert_equal (paramci(2,1) < 5, true); assert_equal (paramci(2,2) > 5, true); ***** error ... lognfit (ones (20,3)) ***** error ... lognfit ({1, 2, 3, 4, 5}) ***** error ... lognfit ([-1, 2, 3, 4, 5]) ***** error lognfit (ones (20,1), 0) ***** error lognfit (ones (20,1), -0.3) ***** error lognfit (ones (20,1), 1.2) ***** error lognfit (ones (20,1), [0.05, 0.1]) ***** error lognfit (ones (20,1), 0.02+i) ***** error ... lognfit (ones (20,1), [], zeros (15,1)) ***** error ... lognfit (ones (20,1), [], zeros (20,1), ones (25,1)) ***** error lognfit (ones (20,1), [], zeros (20,1), ones (20,1), 'options') 12 tests, 12 passed, 0 known failure, 0 skipped [inst/dist_fit/logilike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/logilike.m ***** test nlogL = logilike ([25.5, 8.7725], [1:50]); assert_equal (nlogL, 206.6769, 1e-4); ***** test nlogL = logilike ([3, 0.8645], [1:5]); assert_equal (nlogL, 9.0699, 1e-4); ***** error logilike (3.25) ***** error logilike ([5, 0.2], ones (2)) ***** error ... logilike ([1, 0.2, 3], [1, 3, 5, 7]) ***** error ... logilike ([1.5, 0.2], [1:5], [0, 0, 0]) ***** error ... logilike ([1.5, 0.2], [1:5], [0, 0, 0, 0, 0], [1, 1, 1]) ***** error ... logilike ([1.5, 0.2], [1:5], [], [1, 1, 1]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fit/tlslike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/tlslike.m ***** test x = [-1.2352, -0.2741, 0.1726, 7.4356, 1.0392, 16.4165]; [nlogL, acov] = tlslike ([0.035893, 0.862711, 0.649261], x); acov_out = [0.2525, 0.0670, 0.0288; ... 0.0670, 0.5724, 0.1786; ... 0.0288, 0.1786, 0.1789]; assert_equal (nlogL, 17.9979636579, 1e-10); assert_equal (acov, acov_out, 1e-4); ***** error tlslike ([12, 15, 1]); ***** error tlslike ([12, 15], [1:50]); ***** error tlslike ([12, 3, 1], ones (10, 2)); ***** error tlslike ([12, 15, 1], [1:50], [1, 2, 3]); ***** error tlslike ([12, 15, 1], [1:50], [], [1, 2, 3]); ***** error tlslike ([12, 15, 1], [1:3], [], [1, 2, -3]); 7 tests, 7 passed, 0 known failure, 0 skipped [inst/dist_fit/poisslike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/poisslike.m ***** test x = [1 3 2 4 5 4 3 4]; [nlogL, avar] = poisslike (3.25, x); assert_equal (nlogL, 13.9533, 1e-4) ***** test x = [1 2 3 4 5]; f = [1 1 2 3 1]; [nlogL, avar] = poisslike (3.25, x, f); assert_equal (nlogL, 13.9533, 1e-4) ***** error poisslike (1) ***** error poisslike ([1 2 3], [1 2]) ***** error ... poisslike (3.25, ones (10, 2)) ***** error ... poisslike (3.25, [1 2 3 -4 5]) ***** error ... poisslike (3.25, ones (10, 1), ones (8,1)) ***** error ... poisslike (3.25, ones (1, 8), [1 1 1 1 1 1 1 -1]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/dist_fit/hnfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/hnfit.m ***** demo ## Sample 2 populations from different half-normal distributions rand ('seed', 1); # for reproducibility r1 = hnrnd (0, 5, 5000, 1); rand ('seed', 2); # for reproducibility r2 = hnrnd (0, 2, 5000, 1); r = [r1, r2]; ## Plot them normalized and fix their colors hist (r, [0.5:20], 1); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); hold on ## Estimate their shape parameters mu_sigmaA = hnfit (r(:,1), 0); mu_sigmaB = hnfit (r(:,2), 0); ## Plot their estimated PDFs x = [0:0.2:10]; y = hnpdf (x, mu_sigmaA(1), mu_sigmaA(2)); plot (x, y, '-pr'); y = hnpdf (x, mu_sigmaB(1), mu_sigmaB(2)); plot (x, y, '-sg'); xlim ([0, 10]) ylim ([0, 0.5]) legend ({'Normalized HIST of sample 1 with μ=0 and σ=5', ... 'Normalized HIST of sample 2 with μ=0 and σ=2', ... sprintf("PDF for sample 1 with estimated μ=%0.2f and σ=%0.2f", ... mu_sigmaA(1), mu_sigmaA(2)), ... sprintf("PDF for sample 2 with estimated μ=%0.2f and σ=%0.2f", ... mu_sigmaB(1), mu_sigmaB(2))}) title ('Two population samples from different half-normal distributions') hold off ***** test x = 1:20; [paramhat, paramci] = hnfit (x, 0); assert_equal (paramhat, [0, 11.9791], 1e-4); assert_equal (paramci, [0, 9.1648; 0, 17.2987], 1e-4); ***** test x = 1:20; [paramhat, paramci] = hnfit (x, 0, 0.01); assert_equal (paramci, [0, 8.4709; 0, 19.6487], 1e-4); ***** error hnfit () ***** error hnfit (1) ***** error hnfit ([0.2, 0.5+i], 0); ***** error hnfit (ones (2,2) * 0.5, 0); ***** error ... hnfit ([0.5, 1.2], [0, 1]); ***** error ... hnfit ([0.5, 1.2], 5+i); ***** error ... hnfit ([1:5], 2); ***** error hnfit ([0.01:0.1:0.99], 0, 1.2); ***** error hnfit ([0.01:0.1:0.99], 0, i); ***** error hnfit ([0.01:0.1:0.99], 0, -1); ***** error hnfit ([0.01:0.1:0.99], 0, [0.05, 0.01]); ***** error hnfit ([1 2 3], 0, [], [1 5]) ***** error hnfit ([1 2 3], 0, [], [1 5 -1]) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/ranksum.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/ranksum.m ***** test mileage = [33.3, 34.5, 37.4; 33.4, 34.8, 36.8; ... 32.9, 33.8, 37.6; 32.6, 33.4, 36.6; ... 32.5, 33.7, 37.0; 33.0, 33.9, 36.7]; [p,h,stats] = ranksum (mileage(:,1),mileage(:,2)); assert_equal (p, 0.004329004329004329, 1e-14); assert_equal (h, true); assert_equal (stats.ranksum, 21.5); ***** test year1 = [51 52 62 62 52 52 51 53 59 63 59 56 63 74 68 86 82 70 69 75 73 ... 49 47 50 60 59 60 62 61 71]'; year2 = [54 53 64 66 57 53 54 54 62 66 59 59 67 76 75 86 82 67 74 80 75 ... 54 50 53 62 62 62 72 60 67]'; [p,h,stats] = ranksum (year1, year2, 'alpha', 0.01, 'tail', 'left'); assert_equal (p, 0.1270832752950605, 1e-14); assert_equal (h, false); assert_equal (stats.ranksum, 837.5); assert_equal (stats.zval, -1.140287483634606, 1e-14); [p,h,stats] = ranksum (year1, year2, 'alpha', 0.01, 'tail', 'left', ... 'method', 'exact'); assert_equal (p, 0.127343916432862, 1e-14); assert_equal (h, false); assert_equal (stats.ranksum, 837.5); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/cholcov.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/cholcov.m ***** demo C1 = [2, 1, 1, 2; 1, 2, 1, 2; 1, 1, 2, 2; 2, 2, 2, 3] T = cholcov (C1) C2 = T'*T ***** test C1 = [2, 1, 1, 2; 1, 2, 1, 2; 1, 1, 2, 2; 2, 2, 2, 3]; T = cholcov (C1); assert_equal (C1, T'*T, 1e-15 * ones (size (C1))); 1 test, 1 passed, 0 known failure, 0 skipped [inst/anovan.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/anovan.m ***** demo # Two-sample unpaired test on independent samples (equivalent to Student's # t-test). Note that the absolute value of t-statistic can be obtained by # taking the square root of the reported F statistic. In this example, # t = sqrt (1.44) = 1.20. score = [54 23 45 54 45 43 34 65 77 46 65]'; gender = {'male' 'male' 'male' 'male' 'male' 'female' 'female' 'female' ... 'female' 'female' 'female'}'; [P, ATAB, STATS] = anovan (score, gender, 'display', 'on', 'varnames', 'gender'); ***** demo # Two-sample paired test on dependent or matched samples equivalent to a # paired t-test. As for the first example, the t-statistic can be obtained by # taking the square root of the reported F statistic. Note that the interaction # between treatment x subject was dropped from the full model by assigning # subject as a random factor ('). score = [4.5 5.6; 3.7 6.4; 5.3 6.4; 5.4 6.0; 3.9 5.7]'; treatment = {'before' 'after'; 'before' 'after'; 'before' 'after'; 'before' 'after'; 'before' 'after'}'; subject = {'GS' 'GS'; 'JM' 'JM'; 'HM' 'HM'; 'JW' 'JW'; 'PS' 'PS'}'; [P, ATAB, STATS] = anovan (score(:), {treatment(:), subject(:)}, ... 'model', 'full', 'random', 2, 'sstype', 2, ... 'varnames', {'treatment', 'subject'}, ... 'display', 'on'); ***** demo # One-way ANOVA on the data from a study on the strength of structural beams, # in Hogg and Ledolter (1987) Engineering Statistics. New York: MacMillan strength = [82 86 79 83 84 85 86 87 74 82 ... 78 75 76 77 79 79 77 78 82 79]'; alloy = {'st','st','st','st','st','st','st','st', ... 'al1','al1','al1','al1','al1','al1', ... 'al2','al2','al2','al2','al2','al2'}'; [P, ATAB, STATS] = anovan (strength, alloy, 'display', 'on', ... 'varnames', 'alloy'); ***** demo # One-way repeated measures ANOVA on the data from a study on the number of # words recalled by 10 subjects for three time conditions, in Loftus & Masson # (1994) Psychon Bull Rev. 1(4):476-490, Table 2. Note that the interaction # between seconds x subject was dropped from the full model by assigning # subject as a random factor ('). words = [10 13 13; 6 8 8; 11 14 14; 22 23 25; 16 18 20; ... 15 17 17; 1 1 4; 12 15 17; 9 12 12; 8 9 12]; seconds = [1 2 5; 1 2 5; 1 2 5; 1 2 5; 1 2 5; ... 1 2 5; 1 2 5; 1 2 5; 1 2 5; 1 2 5;]; subject = [ 1 1 1; 2 2 2; 3 3 3; 4 4 4; 5 5 5; ... 6 6 6; 7 7 7; 8 8 8; 9 9 9; 10 10 10]; [P, ATAB, STATS] = anovan (words(:), {seconds(:), subject(:)}, ... 'model', 'full', 'random', 2, 'sstype', 2, ... 'display', 'on', 'varnames', {'seconds', 'subject'}); ***** demo # Balanced two-way ANOVA with interaction on the data from a study of popcorn # brands and popper types, in Hogg and Ledolter (1987) Engineering Statistics. # New York: MacMillan popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; brands = {'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'}; popper = {'oil', 'oil', 'oil'; 'oil', 'oil', 'oil'; 'oil', 'oil', 'oil'; ... 'air', 'air', 'air'; 'air', 'air', 'air'; 'air', 'air', 'air'}; [P, ATAB, STATS] = anovan (popcorn(:), {brands(:), popper(:)}, ... 'display', 'on', 'model', 'full', ... 'varnames', {'brands', 'popper'}); ***** demo # Unbalanced two-way ANOVA (2x2) on the data from a study on the effects of # gender and having a college degree on salaries of company employees, # in Maxwell, Delaney and Kelly (2018): Chapter 7, Table 15 salary = [24 26 25 24 27 24 27 23 15 17 20 16, ... 25 29 27 19 18 21 20 21 22 19]'; gender = {'f' 'f' 'f' 'f' 'f' 'f' 'f' 'f' 'f' 'f' 'f' 'f'... 'm' 'm' 'm' 'm' 'm' 'm' 'm' 'm' 'm' 'm'}'; degree = [1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0]'; [P, ATAB, STATS] = anovan (salary, {gender, degree}, 'model', 'full', ... 'sstype', 3, 'display', 'on', 'varnames', ... {'gender', 'degree'}); ***** demo # Unbalanced two-way ANOVA (3x2) on the data from a study of the effect of # adding sugar and/or milk on the tendency of coffee to make people babble, # in from Navarro (2019): 16.10 sugar = {'real' 'fake' 'fake' 'real' 'real' 'real' 'none' 'none' 'none' ... 'fake' 'fake' 'fake' 'real' 'real' 'real' 'none' 'none' 'fake'}'; milk = {'yes' 'no' 'no' 'yes' 'yes' 'no' 'yes' 'yes' 'yes' ... 'no' 'no' 'yes' 'no' 'no' 'no' 'no' 'no' 'yes'}'; babble = [4.6 4.4 3.9 5.6 5.1 5.5 3.9 3.5 3.7... 5.6 4.7 5.9 6.0 5.4 6.6 5.8 5.3 5.7]'; [P, ATAB, STATS] = anovan (babble, {sugar, milk}, 'model', 'full', ... 'sstype', 3, 'display', 'on', ... 'varnames', {'sugar', 'milk'}); ***** demo # Unbalanced three-way ANOVA (3x2x2) on the data from a study of the effects # of three different drugs, biofeedback and diet on patient blood pressure, # adapted* from Maxwell, Delaney and Kelly (2018): Chapter 8, Table 12 # * Missing values introduced to make the sample sizes unequal to test the # calculation of different types of sums-of-squares drug = {'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' ... 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X'; 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' ... 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y'; 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' ... 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z'}; feedback = [1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0; 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0; 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0]; diet = [0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1; 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1; 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1]; BP = [170 175 165 180 160 158 161 173 157 152 181 190 ... 173 194 197 190 176 198 164 190 169 164 176 175; 186 194 201 215 219 209 164 166 159 182 187 174 ... 189 194 217 206 199 195 171 173 196 199 180 NaN; 180 187 199 170 204 194 162 184 183 156 180 173 ... 202 228 190 206 224 204 205 199 170 160 NaN NaN]; [P, ATAB, STATS] = anovan (BP(:), {drug(:), feedback(:), diet(:)}, ... 'model', 'full', 'sstype', 3, ... 'display', 'on', ... 'varnames', {'drug', 'feedback', 'diet'}); ***** demo # Balanced three-way ANOVA (2x2x2) with one of the factors being a blocking # factor. The data is from a randomized block design study on the effects # of antioxidant treatment on glutathione-S-transferase (GST) levels in # different mouse strains, from Festing (2014), ILAR Journal, 55(3):427-476. # Note that all interactions involving block were dropped from the full model # by assigning block as a random factor ('). measurement = [444 614 423 625 408 856 447 719 ... 764 831 586 782 609 1002 606 766]'; strain= {'NIH','NIH','BALB/C','BALB/C','A/J','A/J','129/Ola','129/Ola', ... 'NIH','NIH','BALB/C','BALB/C','A/J','A/J','129/Ola','129/Ola'}'; treatment={'C' 'T' 'C' 'T' 'C' 'T' 'C' 'T' 'C' 'T' 'C' 'T' 'C' 'T' 'C' 'T'}'; block = [1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2]'; [P, ATAB, STATS] = anovan (measurement/10, {strain, treatment, block}, ... 'sstype', 2, 'model', 'full', 'random', 3, ... 'display', 'on', ... 'varnames', {'strain', 'treatment', 'block'}); ***** demo # One-way ANCOVA on data from a study of the additive effects of species # and temperature on chirpy pulses of crickets, from Stitch, The Worst Stats # Text eveR pulse = [67.9 65.1 77.3 78.7 79.4 80.4 85.8 86.6 87.5 89.1 ... 98.6 100.8 99.3 101.7 44.3 47.2 47.6 49.6 50.3 51.8 ... 60 58.5 58.9 60.7 69.8 70.9 76.2 76.1 77 77.7 84.7]'; temp = [20.8 20.8 24 24 24 24 26.2 26.2 26.2 26.2 28.4 ... 29 30.4 30.4 17.2 18.3 18.3 18.3 18.9 18.9 20.4 ... 21 21 22.1 23.5 24.2 25.9 26.5 26.5 26.5 28.6]'; species = {'ex' 'ex' 'ex' 'ex' 'ex' 'ex' 'ex' 'ex' 'ex' 'ex' 'ex' ... 'ex' 'ex' 'ex' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' ... 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv'}; [P, ATAB, STATS] = anovan (pulse, {species, temp}, 'model', 'linear', ... 'continuous', 2, 'sstype', 'h', 'display', 'on', ... 'varnames', {'species', 'temp'}); ***** demo # Factorial ANCOVA on data from a study of the effects of treatment and # exercise on stress reduction score after adjusting for age. Data from R # datarium package). score = [95.6 82.2 97.2 96.4 81.4 83.6 89.4 83.8 83.3 85.7 ... 97.2 78.2 78.9 91.8 86.9 84.1 88.6 89.8 87.3 85.4 ... 81.8 65.8 68.1 70.0 69.9 75.1 72.3 70.9 71.5 72.5 ... 84.9 96.1 94.6 82.5 90.7 87.0 86.8 93.3 87.6 92.4 ... 100. 80.5 92.9 84.0 88.4 91.1 85.7 91.3 92.3 87.9 ... 91.7 88.6 75.8 75.7 75.3 82.4 80.1 86.0 81.8 82.5]'; treatment = {'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' ... 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' ... 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' ... 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' ... 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' ... 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no'}'; exercise = {'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' ... 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' ... 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' ... 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' ... 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' ... 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi'}'; age = [59 65 70 66 61 65 57 61 58 55 62 61 60 59 55 57 60 63 62 57 ... 58 56 57 59 59 60 55 53 55 58 68 62 61 54 59 63 60 67 60 67 ... 75 54 57 62 65 60 58 61 65 57 56 58 58 58 52 53 60 62 61 61]'; [P, ATAB, STATS] = anovan (score, {treatment, exercise, age}, ... 'model', [1 0 0; 0 1 0; 0 0 1; 1 1 0], ... 'continuous', 3, 'sstype', 'h', 'display', 'on', ... 'varnames', {'treatment', 'exercise', 'age'}); ***** demo # Unbalanced one-way ANOVA with custom, orthogonal contrasts. The statistics # relating to the contrasts are shown in the table of model parameters, and # can be retrieved from the STATS.coeffs output. dv = [ 8.706 10.362 11.552 6.941 10.983 10.092 6.421 14.943 15.931 ... 22.968 18.590 16.567 15.944 21.637 14.492 17.965 18.851 22.891 ... 22.028 16.884 17.252 18.325 25.435 19.141 21.238 22.196 18.038 ... 22.628 31.163 26.053 24.419 32.145 28.966 30.207 29.142 33.212 ... 25.694 ]'; g = [1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 ... 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5]'; C = [ 0.4001601 0.3333333 0.5 0.0 0.4001601 0.3333333 -0.5 0.0 0.4001601 -0.6666667 0.0 0.0 -0.6002401 0.0000000 0.0 0.5 -0.6002401 0.0000000 0.0 -0.5]; [P,ATAB, STATS] = anovan (dv, g, 'contrasts', C, 'varnames', 'score', ... 'alpha', 0.05, 'display', 'on'); ***** demo # One-way ANOVA with the linear model fit by weighted least squares to # account for heteroskedasticity. In this example, the variance appears # proportional to the outcome, so weights have been estimated by initially # fitting the model without weights and regressing the absolute residuals on # the fitted values. Although this data could have been analysed by Welch's # ANOVA test, the approach here can generalize to ANOVA models with more than # one factor. g = [1, 1, 1, 1, 1, 1, 1, 1, ... 2, 2, 2, 2, 2, 2, 2, 2, ... 3, 3, 3, 3, 3, 3, 3, 3]'; y = [13, 16, 16, 7, 11, 5, 1, 9, ... 10, 25, 66, 43, 47, 56, 6, 39, ... 11, 39, 26, 35, 25, 14, 24, 17]'; [P,ATAB,STATS] = anovan (y, g, 'display', 'off'); fitted = STATS.X * STATS.coeffs(:,1); # fitted values b = polyfit (fitted, abs (STATS.resid), 1); v = polyval (b, fitted); # Variance as a function of the fitted values figure ('Name', 'Regression of the absolute residuals on the fitted values'); plot (fitted, abs (STATS.resid),'ob');hold on; plot (fitted,v,'-r'); hold off; xlabel ('Fitted values'); ylabel ('Absolute residuals'); [P,ATAB,STATS] = anovan (y, g, 'weights', v.^-1); ***** test score = [54 23 45 54 45 43 34 65 77 46 65]'; gender = {'male' 'male' 'male' 'male' 'male' 'female' 'female' 'female' ... 'female' 'female' 'female'}'; [P, T, STATS] = anovan (score,gender,'display','off'); assert_equal (P(1), 0.2612876773271042, 1e-09); # compared to p calculated by MATLAB anovan assert_equal (sqrt (T{2,6}), abs (1.198608733288208), 1e-09); # compared to abs(t) calculated from sqrt(F) by MATLAB anovan assert_equal (P(1), 0.2612876773271047, 1e-09); # compared to p calculated by MATLAB ttest2 assert_equal (sqrt (T{2,6}), abs (-1.198608733288208), 1e-09); # compared to abs(t) calculated by MATLAB ttest2 ***** test score = [4.5 5.6; 3.7 6.4; 5.3 6.4; 5.4 6.0; 3.9 5.7]'; treatment = {'before' 'after'; 'before' 'after'; 'before' 'after'; 'before' 'after'; 'before' 'after'}'; subject = {'GS' 'GS'; 'JM' 'JM'; 'HM' 'HM'; 'JW' 'JW'; 'PS' 'PS'}'; [P, ATAB, STATS] = anovan (score(:),{treatment(:),subject(:)},'display','off','sstype',2); assert_equal (P(1), 0.016004356735364, 1e-09); # compared to p calculated by MATLAB anovan assert_equal (sqrt (ATAB{2,6}), abs (4.00941576558195), 1e-09); # compared to abs(t) calculated from sqrt(F) by MATLAB anovan assert_equal (P(1), 0.016004356735364, 1e-09); # compared to p calculated by MATLAB ttest2 assert_equal (sqrt (ATAB{2,6}), abs (-4.00941576558195), 1e-09); # compared to abs(t) calculated by MATLAB ttest2 ***** test strength = [82 86 79 83 84 85 86 87 74 82 ... 78 75 76 77 79 79 77 78 82 79]'; alloy = {'st','st','st','st','st','st','st','st', ... 'al1','al1','al1','al1','al1','al1', ... 'al2','al2','al2','al2','al2','al2'}'; [P, ATAB, STATS] = anovan (strength,{alloy},'display','off'); assert_equal (P(1), 0.000152643638830491, 1e-09); assert_equal (ATAB{2,6}, 15.4, 1e-09); ***** test words = [10 13 13; 6 8 8; 11 14 14; 22 23 25; 16 18 20; ... 15 17 17; 1 1 4; 12 15 17; 9 12 12; 8 9 12]; subject = [ 1 1 1; 2 2 2; 3 3 3; 4 4 4; 5 5 5; ... 6 6 6; 7 7 7; 8 8 8; 9 9 9; 10 10 10]; seconds = [1 2 5; 1 2 5; 1 2 5; 1 2 5; 1 2 5; ... 1 2 5; 1 2 5; 1 2 5; 1 2 5; 1 2 5;]; [P, ATAB, STATS] = anovan (words(:),{seconds(:),subject(:)},'model','full','random',2,'sstype',2,'display','off'); assert_equal (P(1), 1.51865926758752e-07, 1e-09); assert_equal (ATAB{2,2}, 52.2666666666667, 1e-09); assert_equal (ATAB{3,2}, 942.533333333333, 1e-09); assert_equal (ATAB{4,2}, 11.0666666666667, 1e-09); ***** test popcorn = [5.5, 4.5, 3.5; 5.5, 4.5, 4.0; 6.0, 4.0, 3.0; ... 6.5, 5.0, 4.0; 7.0, 5.5, 5.0; 7.0, 5.0, 4.5]; brands = {'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'; ... 'Gourmet', 'National', 'Generic'}; popper = {'oil', 'oil', 'oil'; 'oil', 'oil', 'oil'; 'oil', 'oil', 'oil'; ... 'air', 'air', 'air'; 'air', 'air', 'air'; 'air', 'air', 'air'}; [P, ATAB, STATS] = anovan (popcorn(:),{brands(:),popper(:)},'display','off','model','full'); assert_equal (P(1), 7.67895738278171e-07, 1e-09); assert_equal (P(2), 0.000100373896304998, 1e-09); assert_equal (P(3), 0.746215396636649, 1e-09); assert_equal (ATAB{2,6}, 56.7, 1e-09); assert_equal (ATAB{3,6}, 32.4, 1e-09); assert_equal (ATAB{4,6}, 0.29999999999997, 1e-09); ***** test salary = [24 26 25 24 27 24 27 23 15 17 20 16, ... 25 29 27 19 18 21 20 21 22 19]'; gender = {'f' 'f' 'f' 'f' 'f' 'f' 'f' 'f' 'f' 'f' 'f' 'f'... 'm' 'm' 'm' 'm' 'm' 'm' 'm' 'm' 'm' 'm'}'; degree = [1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0]'; [P, ATAB, STATS] = anovan (salary,{gender,degree},'model','full','sstype',1,'display','off'); assert_equal (P(1), 0.747462549227232, 1e-09); assert_equal (P(2), 1.03809316857694e-08, 1e-09); assert_equal (P(3), 0.523689833702691, 1e-09); assert_equal (ATAB{2,2}, 0.296969696969699, 1e-09); assert_equal (ATAB{3,2}, 272.391841491841, 1e-09); assert_equal (ATAB{4,2}, 1.17482517482512, 1e-09); assert_equal (ATAB{5,2}, 50.0000000000001, 1e-09); [P, ATAB, STATS] = anovan (salary,{degree,gender},'model','full','sstype',1,'display','off'); assert_equal (P(1), 2.53445097305047e-08, 1e-09); assert_equal (P(2), 0.00388133678528749, 1e-09); assert_equal (P(3), 0.523689833702671, 1e-09); assert_equal (ATAB{2,2}, 242.227272727273, 1e-09); assert_equal (ATAB{3,2}, 30.4615384615384, 1e-09); assert_equal (ATAB{4,2}, 1.17482517482523, 1e-09); assert_equal (ATAB{5,2}, 50.0000000000001, 1e-09); [P, ATAB, STATS] = anovan (salary,{gender,degree},'model','full','sstype',2,'display','off'); assert_equal (P(1), 0.00388133678528743, 1e-09); assert_equal (P(2), 1.03809316857694e-08, 1e-09); assert_equal (P(3), 0.523689833702691, 1e-09); assert_equal (ATAB{2,2}, 30.4615384615385, 1e-09); assert_equal (ATAB{3,2}, 272.391841491841, 1e-09); assert_equal (ATAB{4,2}, 1.17482517482512, 1e-09); assert_equal (ATAB{5,2}, 50.0000000000001, 1e-09); [P, ATAB, STATS] = anovan (salary,{gender,degree},'model','full','sstype',3,'display','off'); assert_equal (P(1), 0.00442898146583742, 1e-09); assert_equal (P(2), 1.30634252053587e-08, 1e-09); assert_equal (P(3), 0.523689833702691, 1e-09); assert_equal (ATAB{2,2}, 29.3706293706294, 1e-09); assert_equal (ATAB{3,2}, 264.335664335664, 1e-09); assert_equal (ATAB{4,2}, 1.17482517482512, 1e-09); assert_equal (ATAB{5,2}, 50.0000000000001, 1e-09); ***** test sugar = {'real' 'fake' 'fake' 'real' 'real' 'real' 'none' 'none' 'none' ... 'fake' 'fake' 'fake' 'real' 'real' 'real' 'none' 'none' 'fake'}'; milk = {'yes' 'no' 'no' 'yes' 'yes' 'no' 'yes' 'yes' 'yes' ... 'no' 'no' 'yes' 'no' 'no' 'no' 'no' 'no' 'yes'}'; babble = [4.6 4.4 3.9 5.6 5.1 5.5 3.9 3.5 3.7... 5.6 4.7 5.9 6.0 5.4 6.6 5.8 5.3 5.7]'; [P, ATAB, STATS] = anovan (babble,{sugar,milk},'model','full','sstype',1,'display','off'); assert_equal (P(1), 0.0108632139833963, 1e-09); assert_equal (P(2), 0.0810606976703546, 1e-09); assert_equal (P(3), 0.00175433329935627, 1e-09); assert_equal (ATAB{2,2}, 3.55752380952381, 1e-09); assert_equal (ATAB{3,2}, 0.956108477471702, 1e-09); assert_equal (ATAB{4,2}, 5.94386771300448, 1e-09); assert_equal (ATAB{5,2}, 3.1625, 1e-09); [P, ATAB, STATS] = anovan (babble,{milk,sugar},'model','full','sstype',1,'display','off'); assert_equal (P(1), 0.0373333189297505, 1e-09); assert_equal (P(2), 0.017075098787169, 1e-09); assert_equal (P(3), 0.00175433329935627, 1e-09); assert_equal (ATAB{2,2}, 1.444, 1e-09); assert_equal (ATAB{3,2}, 3.06963228699552, 1e-09); assert_equal (ATAB{4,2}, 5.94386771300448, 1e-09); assert_equal (ATAB{5,2}, 3.1625, 1e-09); [P, ATAB, STATS] = anovan (babble,{sugar,milk},'model','full','sstype',2,'display','off'); assert_equal (P(1), 0.017075098787169, 1e-09); assert_equal (P(2), 0.0810606976703546, 1e-09); assert_equal (P(3), 0.00175433329935627, 1e-09); assert_equal (ATAB{2,2}, 3.06963228699552, 1e-09); assert_equal (ATAB{3,2}, 0.956108477471702, 1e-09); assert_equal (ATAB{4,2}, 5.94386771300448, 1e-09); assert_equal (ATAB{5,2}, 3.1625, 1e-09); [P, ATAB, STATS] = anovan (babble,{sugar,milk},'model','full','sstype',3,'display','off'); assert_equal (P(1), 0.0454263063473954, 1e-09); assert_equal (P(2), 0.0746719907091438, 1e-09); assert_equal (P(3), 0.00175433329935627, 1e-09); assert_equal (ATAB{2,2}, 2.13184977578476, 1e-09); assert_equal (ATAB{3,2}, 1.00413461538462, 1e-09); assert_equal (ATAB{4,2}, 5.94386771300448, 1e-09); assert_equal (ATAB{5,2}, 3.1625, 1e-09); ***** test drug = {'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' ... 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X' 'X'; 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' ... 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y'; 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' ... 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z' 'Z'}; feedback = [1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0; 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0; 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0]; diet = [0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1; 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1; 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1]; BP = [170 175 165 180 160 158 161 173 157 152 181 190 ... 173 194 197 190 176 198 164 190 169 164 176 175; 186 194 201 215 219 209 164 166 159 182 187 174 ... 189 194 217 206 199 195 171 173 196 199 180 NaN; 180 187 199 170 204 194 162 184 183 156 180 173 ... 202 228 190 206 224 204 205 199 170 160 NaN NaN]; [P, ATAB, STATS] = anovan (BP(:),{drug(:),feedback(:),diet(:)},'model','full','sstype', 1,'display','off'); assert_equal (P(1), 7.02561843825325e-05, 1e-09); assert_equal (P(2), 0.000425806013389362, 1e-09); assert_equal (P(3), 6.16780773446401e-07, 1e-09); assert_equal (P(4), 0.261347622678438, 1e-09); assert_equal (P(5), 0.0542278432357043, 1e-09); assert_equal (P(6), 0.590353225626655, 1e-09); assert_equal (P(7), 0.0861628249564267, 1e-09); assert_equal (ATAB{2,2}, 3614.70355731226, 1e-09); assert_equal (ATAB{3,2}, 2227.46639771024, 1e-09); assert_equal (ATAB{4,2}, 5008.25614451819, 1e-09); assert_equal (ATAB{5,2}, 437.066007908781, 1e-09); assert_equal (ATAB{6,2}, 976.180770397332, 1e-09); assert_equal (ATAB{7,2}, 46.616653365254, 1e-09); assert_equal (ATAB{8,2}, 814.345251396648, 1e-09); assert_equal (ATAB{9,2}, 9065.8, 1e-09); [P, ATAB, STATS] = anovan (BP(:),{drug(:),feedback(:),diet(:)},'model','full','sstype',2,'display','off'); assert_equal (P(1), 9.4879638470754e-05, 1e-09); assert_equal (P(2), 0.00124177666315809, 1e-09); assert_equal (P(3), 6.86162012732911e-07, 1e-09); assert_equal (P(4), 0.260856132341256, 1e-09); assert_equal (P(5), 0.0523758623892078, 1e-09); assert_equal (P(6), 0.590353225626655, 1e-09); assert_equal (P(7), 0.0861628249564267, 1e-09); assert_equal (ATAB{2,2}, 3481.72176560122, 1e-09); assert_equal (ATAB{3,2}, 1837.08812970469, 1e-09); assert_equal (ATAB{4,2}, 4957.20277938622, 1e-09); assert_equal (ATAB{5,2}, 437.693674777847, 1e-09); assert_equal (ATAB{6,2}, 988.431929811402, 1e-09); assert_equal (ATAB{7,2}, 46.616653365254, 1e-09); assert_equal (ATAB{8,2}, 814.345251396648, 1e-09); assert_equal (ATAB{9,2}, 9065.8, 1e-09); [P, ATAB, STATS] = anovan (BP(:),{drug(:),feedback(:),diet(:)},'model','full','sstype', 3,'display','off'); assert_equal (P(1), 0.000106518678028207, 1e-09); assert_equal (P(2), 0.00125371366571508, 1e-09); assert_equal (P(3), 5.30813260778464e-07, 1e-09); assert_equal (P(4), 0.308353667232981, 1e-09); assert_equal (P(5), 0.0562901327343161, 1e-09); assert_equal (P(6), 0.599091042141092, 1e-09); assert_equal (P(7), 0.0861628249564267, 1e-09); assert_equal (ATAB{2,2}, 3430.88156424581, 1e-09); assert_equal (ATAB{3,2}, 1833.68031496063, 1e-09); assert_equal (ATAB{4,2}, 5080.48346456693, 1e-09); assert_equal (ATAB{5,2}, 382.07709497207, 1e-09); assert_equal (ATAB{6,2}, 963.037988826813, 1e-09); assert_equal (ATAB{7,2}, 44.4519685039322, 1e-09); assert_equal (ATAB{8,2}, 814.345251396648, 1e-09); assert_equal (ATAB{9,2}, 9065.8, 1e-09); ***** test measurement = [444 614 423 625 408 856 447 719 ... 764 831 586 782 609 1002 606 766]'; strain= {'NIH','NIH','BALB/C','BALB/C','A/J','A/J','129/Ola','129/Ola', ... 'NIH','NIH','BALB/C','BALB/C','A/J','A/J','129/Ola','129/Ola'}'; treatment={'C' 'T' 'C' 'T' 'C' 'T' 'C' 'T' 'C' 'T' 'C' 'T' 'C' 'T' 'C' 'T'}'; block = [1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2]'; [P, ATAB, STATS] = anovan (measurement/10,{strain,treatment,block},'model','full','random',3,'display','off'); assert_equal (P(1), 0.0914352969909372, 1e-09); assert_equal (P(2), 5.04077373924908e-05, 1e-09); assert_equal (P(4), 0.0283196918836667, 1e-09); assert_equal (ATAB{2,2}, 286.132500000002, 1e-09); assert_equal (ATAB{3,2}, 2275.29, 1e-09); assert_equal (ATAB{4,2}, 1242.5625, 1e-09); assert_equal (ATAB{5,2}, 495.905000000001, 1e-09); assert_equal (ATAB{6,2}, 207.007499999999, 1e-09); ***** test pulse = [67.9 65.1 77.3 78.7 79.4 80.4 85.8 86.6 87.5 89.1 ... 98.6 100.8 99.3 101.7 44.3 47.2 47.6 49.6 50.3 51.8 ... 60 58.5 58.9 60.7 69.8 70.9 76.2 76.1 77 77.7 84.7]'; temp = [20.8 20.8 24 24 24 24 26.2 26.2 26.2 26.2 28.4 ... 29 30.4 30.4 17.2 18.3 18.3 18.3 18.9 18.9 20.4 ... 21 21 22.1 23.5 24.2 25.9 26.5 26.5 26.5 28.6]'; species = {'ex' 'ex' 'ex' 'ex' 'ex' 'ex' 'ex' 'ex' 'ex' 'ex' 'ex' ... 'ex' 'ex' 'ex' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' ... 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv' 'niv'}; [P, ATAB, STATS] = anovan (pulse,{species,temp},'model','linear','continuous',2,'sstype','h','display','off'); assert_equal (P(1), 6.27153318786007e-14, 1e-09); assert_equal (P(2), 2.48773241196644e-25, 1e-09); assert_equal (ATAB{2,2}, 598.003953318404, 1e-09); assert_equal (ATAB{3,2}, 4376.08256843712, 1e-09); assert_equal (ATAB{4,2}, 89.3498685376726, 1e-09); assert_equal (ATAB{2,6}, 187.399388123951, 1e-09); assert_equal (ATAB{3,6}, 1371.35413763454, 1e-09); ***** test score = [95.6 82.2 97.2 96.4 81.4 83.6 89.4 83.8 83.3 85.7 ... 97.2 78.2 78.9 91.8 86.9 84.1 88.6 89.8 87.3 85.4 ... 81.8 65.8 68.1 70.0 69.9 75.1 72.3 70.9 71.5 72.5 ... 84.9 96.1 94.6 82.5 90.7 87.0 86.8 93.3 87.6 92.4 ... 100. 80.5 92.9 84.0 88.4 91.1 85.7 91.3 92.3 87.9 ... 91.7 88.6 75.8 75.7 75.3 82.4 80.1 86.0 81.8 82.5]'; treatment = {'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' ... 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' ... 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' 'yes' ... 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' ... 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' ... 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no' 'no'}'; exercise = {'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' ... 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' ... 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' ... 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' 'lo' ... 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' 'mid' ... 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi' 'hi'}'; age = [59 65 70 66 61 65 57 61 58 55 62 61 60 59 55 57 60 63 62 57 ... 58 56 57 59 59 60 55 53 55 58 68 62 61 54 59 63 60 67 60 67 ... 75 54 57 62 65 60 58 61 65 57 56 58 58 58 52 53 60 62 61 61]'; [P, ATAB, STATS] = anovan (score,{treatment,exercise,age},'model','full','continuous',3,'sstype','h','display','off'); assert_equal (P(5), 0.9245630968248468, 1e-09); assert_equal (P(6), 0.791115159521822, 1e-09); assert_equal (P(7), 0.9296668751457956, 1e-09); [P, ATAB, STATS] = anovan (score,{treatment,exercise,age},'model',[1 0 0; 0 1 0; 0 0 1; 1 1 0],'continuous',3,'sstype','h','display','off'); assert_equal (P(1), 0.00158132928938933, 1e-09); assert_equal (P(2), 2.12537505039986e-07, 1e-09); assert_equal (P(3), 0.00390292555160047, 1e-09); assert_equal (P(4), 0.0164086580775543, 1e-09); assert_equal (ATAB{2,6}, 11.0956027650549, 1e-09); assert_equal (ATAB{3,6}, 20.8195665467178, 1e-09); assert_equal (ATAB{4,6}, 9.10966630720186, 1e-09); assert_equal (ATAB{5,6}, 4.4457923698584, 1e-09); ***** test dv = [ 8.706 10.362 11.552 6.941 10.983 10.092 6.421 14.943 15.931 ... 22.968 18.590 16.567 15.944 21.637 14.492 17.965 18.851 22.891 ... 22.028 16.884 17.252 18.325 25.435 19.141 21.238 22.196 18.038 ... 22.628 31.163 26.053 24.419 32.145 28.966 30.207 29.142 33.212 ... 25.694 ]'; g = [1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5]'; C = [ 0.4001601 0.3333333 0.5 0.0 0.4001601 0.3333333 -0.5 0.0 0.4001601 -0.6666667 0.0 0.0 -0.6002401 0.0000000 0.0 0.5 -0.6002401 0.0000000 0.0 -0.5]; [P,ATAB,STATS] = anovan (dv,g,'contrasts',{C},'display','off'); assert_equal (STATS.coeffs(1,1), 19.4001, 1e-04); assert_equal (STATS.coeffs(2,1), -9.3297, 1e-04); assert_equal (STATS.coeffs(3,1), -5.0000, 1e-04); assert_equal (STATS.coeffs(4,1), -8.0000, 1e-04); assert_equal (STATS.coeffs(5,1), -8.0000, 1e-04); assert_equal (STATS.coeffs(1,2), 0.4831, 1e-04); assert_equal (STATS.coeffs(2,2), 0.9694, 1e-04); assert_equal (STATS.coeffs(3,2), 1.3073, 1e-04); assert_equal (STATS.coeffs(4,2), 1.6411, 1e-04); assert_equal (STATS.coeffs(5,2), 1.4507, 1e-04); assert_equal (STATS.coeffs(1,5), 40.161, 1e-03); assert_equal (STATS.coeffs(2,5), -9.624, 1e-03); assert_equal (STATS.coeffs(3,5), -3.825, 1e-03); assert_equal (STATS.coeffs(4,5), -4.875, 1e-03); assert_equal (STATS.coeffs(5,5), -5.515, 1e-03); assert_equal (STATS.coeffs(2,6), 5.74e-11, 1e-12); assert_equal (STATS.coeffs(3,6), 0.000572, 1e-06); assert_equal (STATS.coeffs(4,6), 2.86e-05, 1e-07); assert_equal (STATS.coeffs(5,6), 4.44e-06, 1e-08); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/cluster.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/cluster.m ***** error cluster () ***** error cluster ([1 1], 'Cutoff', 1) ***** error cluster ([1 2 1], 'Bogus', 1) ***** error cluster ([1 2 1], 'Cutoff', -1) ***** error cluster ([1 2 1], 'Cutoff', 1, 'Bogus', 1) ***** test 6 tests, 6 passed, 0 known failure, 0 skipped [inst/logistic_regression.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/logistic_regression.m ***** test # Output compared to following MATLAB commands # [B, DEV, STATS] = mnrfit(X,Y+1,'model','ordinal'); # P = mnrval(B,X) X = [1.489381332449196, 1.1534152241851305; ... 1.8110085304863965, 0.9449666896938425; ... -0.04453299665130296, 0.34278203449678646; ... -0.36616019468850347, 1.130254275908322; ... 0.15339143291005095, -0.7921044310668951; ... -1.6031878794469698, -1.8343471035233376; ... -0.14349521143198166, -0.6762996896828459; ... -0.4403818557740143, -0.7921044310668951; ... -0.7372685001160434, -0.027793137932169563; ... -0.11875465773681024, 0.5512305689880763]; Y = [1,1,1,1,1,0,0,0,0,0]'; [INTERCEPT, SLOPE, DEV, DL, D2L, P] = logistic_regression (Y, X, false); ***** test # Output compared to following MATLAB commands # [B, DEV, STATS] = mnrfit(X,Y+1,'model','ordinal'); load carbig X = [Acceleration Displacement Horsepower Weight]; miles = [1,1,1,1,1,1,1,1,1,1,NaN,NaN,NaN,NaN,NaN,1,1,NaN,1,1,2,2,1,2,2,2, ... 2,2,2,2,2,1,1,1,1,2,2,2,2,NaN,2,1,1,2,1,1,1,1,1,1,1,1,1,2,2,1,2, ... 2,3,3,3,3,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,2,2,2,2, ... 2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,2,2,2,1,2,2, ... 2,1,1,3,2,2,2,1,2,2,1,2,2,2,1,3,2,3,2,1,1,1,1,1,1,1,1,3,2,2,3,3, ... 2,2,2,2,2,3,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,3,2,2,2,2,2,2,1,3,2,2, ... 2,2,2,3,2,2,2,2,2,1,1,1,1,2,2,2,2,3,2,3,3,2,1,1,1,3,3,2,2,2,1,2, ... 2,1,1,1,1,1,3,3,3,2,3,1,1,1,1,1,2,2,1,1,1,1,1,3,2,2,2,3,3,3,3,2, ... 2,2,4,3,3,4,3,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,1,1,3,2,2,3,2,2,2,2, ... 2,1,2,1,3,3,2,2,2,2,2,1,1,1,1,1,1,2,1,3,3,3,2,2,2,2,2,3,3,3,3,2, ... 2,2,3,4,3,3,3,2,2,2,2,3,3,3,3,3,4,2,4,4,4,3,3,4,4,3,3,3,2,3,2,3, ... 2,2,2,2,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,NaN,3,2,2,2,2,2,1,2, ... 2,3,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,3,3,2,2,4,3,2,3]'; [INTERCEPT, SLOPE, DEV, DL, D2L, P] = logistic_regression (miles, X, false); assert_equal (DEV, 433.197174495549, 1e-05); assert_equal (INTERCEPT(1), -16.6895155618903, 1e-05); assert_equal (INTERCEPT(2), -11.7207818178493, 1e-05); assert_equal (INTERCEPT(3), -8.0605768506075, 1e-05); assert_equal (SLOPE(1), 0.104762463756714, 1e-05); assert_equal (SLOPE(2), 0.0103357623191891, 1e-05); assert_equal (SLOPE(3), 0.0645199313242276, 1e-05); assert_equal (SLOPE(4), 0.00166377028388103, 1e-05); 2 tests, 2 passed, 0 known failure, 0 skipped Checking C++ files ... [src/libsvmread.cc] >>>>> /build/reproducible-path/octave-statistics-1.8.4/src/libsvmread.cc ***** error [L, D] = libsvmread (24); ***** error ... D = libsvmread ("filename"); ***** test [L, D] = libsvmread (file_in_loadpath ("heart_scale.dat")); assert (size (L), [270, 1]); assert (size (D), [270, 13]); ***** test [L, D] = libsvmread (file_in_loadpath ("heart_scale.dat")); assert (issparse (L), false); assert (issparse (D), true); 4 tests, 4 passed, 0 known failure, 0 skipped [src/libsvmwrite.cc] >>>>> /build/reproducible-path/octave-statistics-1.8.4/src/libsvmwrite.cc ***** shared L, D [L, D] = libsvmread (file_in_loadpath ("heart_scale.dat")); ***** error libsvmwrite ("", L, D); ***** error ... libsvmwrite (tempname (), [L;L], D); ***** error ... OUT = libsvmwrite (tempname (), L, D); ***** error ... libsvmwrite (tempname (), single (L), D); ***** error libsvmwrite (13412, L, D); ***** error ... libsvmwrite (tempname (), L, full (D)); ***** error ... libsvmwrite (tempname (), L, D, D); 7 tests, 7 passed, 0 known failure, 0 skipped [src/editDistance.cc] >>>>> /build/reproducible-path/octave-statistics-1.8.4/src/editDistance.cc ***** error d = editDistance (1, 2, 3, 4); ***** error ... [C, IA, IC, I] = editDistance ({"AS","SD","AD"}, 1); ***** error ... [C, IA] = editDistance ({"AS","SD","AD"}); ***** error ... d = editDistance ({"AS","SD","AD"}, [1, 2]); ***** error ... d = editDistance ({"AS","SD","AD"}, -2); ***** error ... d = editDistance ({"AS","SD","AD"}, 1.25); ***** error ... d = editDistance ({"AS","SD","AD"}, {"AS","SD","AD"}, [1, 2]); ***** error ... d = editDistance ({"AS","SD","AD"}, {"AS","SD","AD"}, -2); ***** error ... d = editDistance ({"AS","SD","AD"}, {"AS","SD","AD"}, 1.25); ***** error ... d = editDistance ("string1", "string2", [1, 2]); ***** error ... d = editDistance ("string1", "string2", -2); ***** error ... d = editDistance ("string1", "string2", 1.25); ***** error ... d = editDistance ({{"string1", "string2"}, 2}); ***** error ... d = editDistance ({{"string1", "string2"}, 2}, 2); ***** error ... d = editDistance ([1, 2, 3]); ***** error ... d = editDistance (["AS","SD","AD","AS"]); ***** error ... d = editDistance (["AS","SD","AD"], 2); ***** error ... d = editDistance (logical ([1,2,3]), {"AS","AS","AD"}); ***** error ... d = editDistance ({"AS","SD","AD"}, logical ([1,2,3])); ***** error ... d = editDistance ([1,2,3], {"AS","AS","AD"}); ***** error ... d = editDistance ({1,2,3}, {"AS","SD","AD"}); ***** error ... d = editDistance ({"AS","SD","AD"}, {1,2,3}); ***** error ... d = editDistance ({"AS","SD","AD"}, {"AS", "AS"}); ***** test d = editDistance ({"AS","SD","AD"}); assert (d, [2; 1; 1]); assert (class (d), "double"); ***** test C = editDistance ({"AS","SD","AD"}, 1); assert (iscellstr (C), true); assert (C, {"AS";"SD"}); ***** test [C, IA] = editDistance ({"AS","SD","AD"}, 1); assert (class (IA), "double"); assert (IA, [1;2]); ***** test A = {"ASS"; "SDS"; "FDE"; "EDS"; "OPA"}; [C, IA] = editDistance (A, 2, "OutputAllIndices", false); assert (class (IA), "double"); assert (A(IA), C); ***** test A = {"ASS"; "SDS"; "FDE"; "EDS"; "OPA"}; [C, IA] = editDistance (A, 2, "OutputAllIndices", true); assert (class (IA), "cell"); assert (C, {"ASS"; "FDE"; "OPA"}); assert (A(IA{1}), {"ASS"; "SDS"; "EDS"}); assert (A(IA{2}), {"FDE"; "EDS"}); assert (A(IA{3}), {"OPA"}); ***** test A = {"ASS"; "SDS"; "FDE"; "EDS"; "OPA"}; [C, IA, IC] = editDistance (A, 2); assert (class (IA), "double"); assert (A(IA), C); assert (IC, [1; 1; 3; 1; 5]); ***** test d = editDistance ({"AS","SD","AD"}, {"AS", "AD", "SE"}); assert (d, [0; 1; 2]); assert (class (d), "double"); ***** test d = editDistance ({"AS","SD","AD"}, {"AS"}); assert (d, [0; 2; 1]); assert (class (d), "double"); ***** test d = editDistance ({"AS"}, {"AS","SD","AD"}); assert (d, [0; 2; 1]); assert (class (d), "double"); ***** test b = editDistance ("Octave", "octave"); assert (b, 1); assert (class (b), "double"); 33 tests, 33 passed, 0 known failure, 0 skipped [src/svmtrain.cc] >>>>> /build/reproducible-path/octave-statistics-1.8.4/src/svmtrain.cc ***** test # Test 1: Basic C-SVC Classification and Model Structure [L, D] = libsvmread (file_in_loadpath ("heart_scale.dat")); model = svmtrain(L, D, '-c 1 -g 0.07'); [predict_label, accuracy, dec_values] = svmpredict(L, D, model); assert (isstruct (model), true); assert (isfield (model, "Parameters"), true); assert (model.totalSV, 130); assert (model.nr_class, 2); assert (size (model.Label), [2, 1]); # Check prediction output sizes assert (size (predict_label), [length(L), 1]); assert (size (dec_values), [length(L), 1]); # Test 2: One-Class SVM Model Structure Check # Ensures training with -s 2 is functional and the model structure is valid (accommodating 3.36 changes). model_oc = svmtrain(L, D, '-s 2 -n 0.5 -g 0.07'); assert (isstruct (model_oc), true); assert (model_oc.Parameters(1), 2); # Check svm_type is ONE_CLASS assert (model_oc.nr_class, 2); assert (model_oc.totalSV > 0, true); clear model_oc # Test 3: Regression SVR Test # Check training of Epsilon SVR (-s 3) model_svr = svmtrain (L, D, '-s 3 -p 0.1 -c 10'); assert (isstruct (model_svr), true); assert (model_svr.Parameters(1), 3); # Check svm_type is EPSILON_SVR assert (model_svr.nr_class, 2); clear model_svr # Test 4: Input Argument Error Checking ***** shared L, D [L, D] = libsvmread (file_in_loadpath ("heart_scale.dat")); # Check argument count errors ***** error [L, D] = svmtrain (L, D); ***** error model = svmtrain (L, D, "", ""); # Check argument type errors ***** error ... model = svmtrain (single (L), D); # Check dimension mismatch error ***** error ... model = svmtrain (L(1:end-1), D); # Test 5: One-Class Probability Training (New LIBSVM 3.36 Feature) # This ensures svmtrain DOES NOT reject -s 2 combined with -b 1 # and correctly populates the new ProbDensityMarks field. ***** test [L, D] = libsvmread (file_in_loadpath ("heart_scale.dat")); model = svmtrain (L, D, '-s 2 -n 0.1 -g 0.07 -b 1'); assert (isstruct (model), true); assert (model.Parameters(1), 2); # Check svm_type is ONE_CLASS # CRITICAL CHECK: Verify the new field exists (Specific to upgrade) assert (isfield (model, "ProbDensityMarks"), true); clear model 6 tests, 6 passed, 0 known failure, 0 skipped [src/svmpredict.cc] >>>>> /build/reproducible-path/octave-statistics-1.8.4/src/svmpredict.cc ***** test # Test 1: Standard C-SVC Prediction (Original Regression Test) [L, D] = libsvmread (file_in_loadpath ("heart_scale.dat")); model = svmtrain (L, D, '-c 1 -g 0.07'); [predict_label, accuracy, dec_values] = svmpredict (L, D, model); assert (size (predict_label), size (dec_values)); assert (accuracy, [86.666, 0.533, 0.533]', [1e-3, 1e-3, 1e-3]'); assert (dec_values(1), 1.225836001973273, 1e-14); assert (dec_values(2), -0.3212992933043805, 1e-14); assert (predict_label(1), 1); ***** test # Test 2: One-Class Probability (NEW LIBSVM 3.36 FEATURE) [L, D] = libsvmread (file_in_loadpath ("heart_scale.dat")); # Train One-Class (-s 2) with Probability (-b 1) model_oc = svmtrain (L, D, '-s 2 -n 0.1 -g 0.07 -b 1'); # FIX: Changed // to # below to fix syntax error assert (isstruct(model_oc), true, "svmtrain failed to return a valid struct model."); # <-- FIXED COMMENT HERE # Predict with Probability (-b 1) [pred, acc, probs] = svmpredict (L, D, model_oc, '-b 1'); # Detail Check A: Output must be N x 2 (Column 1: Normal, Column 2: Outlier) assert (size (probs), [length(L), 2]); # Detail Check B: Probabilities must sum to 1.0 for every instance assert (sum (probs, 2), ones (length(L), 1), 1e-5); # Detail Check C: Values must be valid probabilities [0, 1] assert (all (all (probs >= 0 & probs <= 1))); clear model_oc ***** test # Test 3: One-Class Decision Values (Standard Check) # Verifies that the upgrade didn't break standard One-Class prediction (-b 0) [L, D] = libsvmread (file_in_loadpath ("heart_scale.dat")); model_oc = svmtrain (L, D, '-s 2 -n 0.1 -g 0.07'); [pred, acc, dec] = svmpredict (L, D, model_oc); # Standard One-Class output is N x 1 (Scalar decision values) assert (size (dec), [length(L), 1]); clear model_oc ***** shared L, D, model # Test 4: Error Handling (Original Checks) [L, D] = libsvmread (file_in_loadpath ("heart_scale.dat")); model = svmtrain (L, D, '-c 1 -g 0.07'); ***** error ... [p, a] = svmpredict (L, D, model); ***** error p = svmpredict (L, D); ***** error ... p = svmpredict (single (L), D, model); ***** error p = svmpredict (L, D, 123); 7 tests, 7 passed, 0 known failure, 0 skipped [src/fcnnpredict.cc] >>>>> /build/reproducible-path/octave-statistics-1.8.4/src/fcnnpredict.cc ***** shared X, Y, MODEL load fisheriris X = meas; Y = grp2idx (species); MODEL = fcnntrain (X, Y, 10, [1, 1], 1, 0.01, 0.025, 100, false); ***** test [Y_pred, Y_scores] = fcnnpredict (MODEL, X); assert (numel (Y_pred), numel (Y)); assert (isequal (size (Y_pred), size (Y)), true); assert (columns (Y_scores), numel (unique (Y))); assert (rows (Y_scores), numel (Y)); ***** error ... fcnnpredict (MODEL); ***** error ... [Q, W, E] = fcnnpredict (MODEL, X); ***** error ... fcnnpredict (1, X); ***** error ... fcnnpredict (struct ("L", {1, 2, 3}), X); ***** error ... fcnnpredict (struct ("L", 1), X); ***** error ... fcnnpredict (struct ("LayerWeights", 1), X); ***** error ... fcnnpredict (struct ("LayerWeights", {1}), X); ***** error ... fcnnpredict (struct ("LayerWeights", {{1; 2; 3}}), X); ***** error ... fcnnpredict (struct ("LayerWeights", {[{ones(3)},{ones(3)}]}, "R", 2), X); ***** error ... fcnnpredict (struct ("LayerWeights", {[{ones(3)},{ones(3)}]}, ... "Activations", [2]), X); ***** error ... fcnnpredict (struct ("LayerWeights", {[{ones(3)},{ones(3)}]}, ... "Activations", [2; 2]), X); ***** error ... fcnnpredict (struct ("LayerWeights", {[{ones(3)},{ones(3)}]}, ... "Activations", {{2, 2}}), X); ***** error ... fcnnpredict (struct ("LayerWeights", {[{ones(3)},{ones(3)}]}, ... "Activations", {{"sigmoid", "softmax"}}), X); ***** error ... fcnnpredict (struct ("LayerWeights", {[{ones(3)},{ones(3)}]}, ... "Activations", "sigmoid"), X); ***** error ... fcnnpredict (MODEL, complex (X)); ***** error ... fcnnpredict (MODEL, {1, 2, 3, 4}); ***** error ... fcnnpredict (MODEL, "asd"); ***** error ... fcnnpredict (MODEL, []); ***** error ... fcnnpredict (MODEL, X(:,[1:3])); 20 tests, 20 passed, 0 known failure, 0 skipped [src/fcnntrain.cc] >>>>> /build/reproducible-path/octave-statistics-1.8.4/src/fcnntrain.cc ***** shared X, Y, MODEL load fisheriris X = meas; Y = grp2idx (species); ***** error ... model = fcnntrain (X, Y); ***** error ... [Q, W] = fcnntrain (X, Y, 10, [1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (complex (X), Y, 10, [1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain ({X}, Y, 10, [1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain ([], Y, 10, [1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, complex (Y), 10, 1, 0.01, [1, 1], 0.025, 50, false); ***** error ... fcnntrain (X, {Y}, 10, [1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, [], 10, [1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y([1:50]), 10, [1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y - 1, 10, [1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, [10; 5], [1, 1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, "10", [1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, {10}, [1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, complex (10), [1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, 10, [1; 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, 10, {1, 1}, 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, 10, "1", 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, 10, complex ([1, 1]), 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, 10, [1, 1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, [10, 0, 5], [1, 1, 1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, 10, [-1, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, 10, [8, 1], 1, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, 10, [1, 1], 0, 0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, 10, [1, 1], 1, -0.01, 0.025, 50, false); ***** error ... fcnntrain (X, Y, 10, [1, 1], 1, 0.01, -0.025, 50, false); ***** error ... fcnntrain (X, Y, 10, [1, 1], 1, 0.01, 0, 50, false); ***** error ... fcnntrain (X, Y, 10, [1, 1], 1, 0.01, [0.025, 0.001], 50, false); ***** error ... fcnntrain (X, Y, 10, [1, 1], 1, 0.01, {0.025}, 50, false); ***** error ... fcnntrain (X, Y, 10, [1, 1], 1, 0.01, 0.025, 0, false); ***** error ... fcnntrain (X, Y, 10, [1, 1], 1, 0.01, 0.025, [50, 25], false); ***** error ... fcnntrain (X, Y, 10, [1, 1], 1, 0.01, 0.025, 50, 0); ***** error ... fcnntrain (X, Y, 10, [1, 1], 1, 0.01, 0.025, 50, 1); ***** error ... fcnntrain (X, Y, 10, [1, 1], 1, 0.01, 0.025, 50, [false, false]); 33 tests, 33 passed, 0 known failure, 0 skipped Done running the unit tests. Summary: 12025 tests, 12025 passed, 0 known failures, 0 skipped dh_install -a -O--buildsystem=octave dh_installdocs -a -O--buildsystem=octave dh_installchangelogs -a -O--buildsystem=octave dh_octave_changelogs -a -O--buildsystem=octave dh_octave_examples -a -O--buildsystem=octave dh_installsystemduser -a -O--buildsystem=octave dh_perl -a -O--buildsystem=octave dh_link -a -O--buildsystem=octave dh_missing -a -O--buildsystem=octave dh_strip -a -O--buildsystem=octave dh_makeshlibs -a -O--buildsystem=octave dh_shlibdeps -a -l/usr/lib/i386-linux-gnu/octave/11.3.0 -O--buildsystem=octave dh_fixperms -a -O--buildsystem=octave dh_strip_nondeterminism -a -O--buildsystem=octave dh_compress -a -O--buildsystem=octave dh_octave_substvar -a -O--buildsystem=octave dh_installdeb -a -O--buildsystem=octave dh_computeautosubstvars -a -O--buildsystem=octave dh_gencontrol -a -O--buildsystem=octave dpkg-gencontrol: warning: package octave-statistics: substitution variable ${octave:Upstream-Description} unused, but is defined dh_md5sums -a -O--buildsystem=octave dh_builddeb -a -O--buildsystem=octave dpkg-deb: building package 'octave-statistics-dbgsym' in '../octave-statistics-dbgsym_1.8.4-1_i386.deb'. dpkg-deb: building package 'octave-statistics' in '../octave-statistics_1.8.4-1_i386.deb'. dpkg-genbuildinfo --build=any -O../octave-statistics_1.8.4-1_i386.buildinfo dpkg-genchanges --build=any -O../octave-statistics_1.8.4-1_i386.changes dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) -------------------------------------------------------------------------------- Build finished at 2026-07-18T11:23:45Z Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Changes Sat, 18 Jul 2026 11:23:45 +0000 | +------------------------------------------------------------------------------+ octave-statistics_1.8.4-1_i386.changes: --------------------------------------- Format: 1.8 Date: Sun, 12 Jul 2026 09:51:03 +0200 Source: octave-statistics Binary: octave-statistics octave-statistics-dbgsym Architecture: i386 Version: 1.8.4-1 Distribution: unstable Urgency: medium Maintainer: Debian Octave Group Changed-By: Sébastien Villemot Description: octave-statistics - additional statistical functions for Octave Changes: octave-statistics (1.8.4-1) unstable; urgency=medium . * New upstream version 1.8.4 * d/copyright: reflect upstream changes * Bump versioned Build-Depends on octave-datatypes to >= 1.2.6 * Bump to debhelper compat level 14 * d/control: remove references to Octave-Forge, which no longer exists Checksums-Sha1: c5f81a8ec224f029257e27a0051ed0f9b5251351 4954028 octave-statistics-dbgsym_1.8.4-1_i386.deb 34951d8529026810e396cfebee0518fca10cf5c7 22600 octave-statistics_1.8.4-1_i386.buildinfo 4dd623ce25f98457610f2799b8f1322e87ff4326 152204 octave-statistics_1.8.4-1_i386.deb Checksums-Sha256: dd49d3fbdf1bd7b7230e438e171c7e6b3432f66f591f1d53bb771a547ea029db 4954028 octave-statistics-dbgsym_1.8.4-1_i386.deb ae63c151a0f602a81141e477d6b4f8b73fa00a1c35180d601240ae5aac675520 22600 octave-statistics_1.8.4-1_i386.buildinfo eaa4b60eaa2f5a98a7adc6a913a97b334ff83078600b56524746a7936b18d9ab 152204 octave-statistics_1.8.4-1_i386.deb Files: 31d47d2e1236e7ab92dc53e5d1aae8fc 4954028 debug optional octave-statistics-dbgsym_1.8.4-1_i386.deb 0786f439a0b908aea66c5482fa73b039 22600 math optional octave-statistics_1.8.4-1_i386.buildinfo f341411adb93c38cef102b8be64ec0f9 152204 math optional octave-statistics_1.8.4-1_i386.deb +------------------------------------------------------------------------------+ | Buildinfo Sat, 18 Jul 2026 11:23:46 +0000 | +------------------------------------------------------------------------------+ Format: 1.0 Source: octave-statistics Binary: octave-statistics octave-statistics-dbgsym Architecture: i386 Version: 1.8.4-1 Checksums-Md5: 31d47d2e1236e7ab92dc53e5d1aae8fc 4954028 octave-statistics-dbgsym_1.8.4-1_i386.deb f341411adb93c38cef102b8be64ec0f9 152204 octave-statistics_1.8.4-1_i386.deb Checksums-Sha1: c5f81a8ec224f029257e27a0051ed0f9b5251351 4954028 octave-statistics-dbgsym_1.8.4-1_i386.deb 4dd623ce25f98457610f2799b8f1322e87ff4326 152204 octave-statistics_1.8.4-1_i386.deb Checksums-Sha256: dd49d3fbdf1bd7b7230e438e171c7e6b3432f66f591f1d53bb771a547ea029db 4954028 octave-statistics-dbgsym_1.8.4-1_i386.deb eaa4b60eaa2f5a98a7adc6a913a97b334ff83078600b56524746a7936b18d9ab 152204 octave-statistics_1.8.4-1_i386.deb Build-Origin: Debian Build-Architecture: i386 Build-Date: Sat, 18 Jul 2026 11:23:44 +0000 Build-Path: /build/reproducible-path/octave-statistics-1.8.4 Installed-Build-Depends: aglfn (= 1.7+git20191031.4036a9c-2), appstream (= 1.1.3-1), autoconf (= 2.73-2), automake (= 1:1.18.1-4), autopoint (= 1.0-3), autotools-dev (= 20240727.1+nmu1), base-files (= 14.2), base-passwd (= 3.6.8), bash (= 5.3-3), binutils (= 2.46.50.20260617-1), binutils-common (= 2.46.50.20260617-1), binutils-i686-linux-gnu (= 2.46.50.20260617-1), bsdextrautils (= 2.42.2-1), build-essential (= 12.12), bzip2 (= 1.0.8-6+b2), ca-certificates (= 20260601), cme (= 1.049-1), comerr-dev (= 2.1-1.47.4-1), coreutils (= 9.10-1), cpp (= 4:15.2.0-5+b1), cpp-15 (= 15.3.0-1), cpp-15-i686-linux-gnu (= 15.3.0-1), cpp-i686-linux-gnu (= 4:15.2.0-5+b1), dash (= 0.5.12-12), debconf (= 1.5.92), debhelper (= 14.3), debianutils (= 5.23.2), dh-autoreconf (= 22), dh-octave (= 1.16.0), dh-octave-autopkgtest (= 1.16.0), dh-strip-nondeterminism (= 1.15.1-1), diffstat (= 1.69-1), diffutils (= 1:3.12-1), dpkg (= 1.23.7), dpkg-dev (= 1.23.7), dwz (= 0.16-4), file (= 1:5.47-4), findutils (= 4.10.0-4), fontconfig (= 2.17.1-5), fontconfig-config (= 2.17.1-5), fonts-freefont-otf (= 20211204+svn4273-4), g++ (= 4:15.2.0-5+b1), g++-15 (= 15.3.0-1), g++-15-i686-linux-gnu (= 15.3.0-1), g++-i686-linux-gnu (= 4:15.2.0-5+b1), gcc (= 4:15.2.0-5+b1), gcc-15 (= 15.3.0-1), gcc-15-base (= 15.3.0-1), gcc-15-i686-linux-gnu (= 15.3.0-1), gcc-16-base (= 16.1.0-2), gcc-i686-linux-gnu (= 4:15.2.0-5+b1), gettext (= 1.0-3), gettext-base (= 1.0-3), gfortran (= 4:15.2.0-5+b1), gfortran-15 (= 15.3.0-1), gfortran-15-i686-linux-gnu (= 15.3.0-1), gfortran-i686-linux-gnu (= 4:15.2.0-5+b1), gnuplot-data (= 6.0.3+dfsg1-1), gnuplot-nox (= 6.0.3+dfsg1-1), gpg (= 2.4.9-7), gpgconf (= 2.4.9-7), grep (= 3.12-1), groff-base (= 1.24.1-1), gzip (= 1.13-1), hdf5-helpers (= 1.14.6+repack-2+b1), hostname (= 3.25), init-system-helpers (= 1.69), intltool-debian (= 0.35.0+20060710.6), iso-codes (= 4.20.1-1), krb5-multidev (= 1.22.1-3), libabsl20260107 (= 20260107.0-5), libacl1 (= 2.4.0-1), libaec-dev (= 1.1.7-1), libaec0 (= 1.1.7-1), libalgorithm-c3-perl (= 0.11-2), libaliased-perl (= 0.34-3), libamd3 (= 1:7.12.2+dfsg-1), libaom3 (= 3.13.1-2+b1), libapp-cmd-perl (= 0.340-1), libappstream5 (= 1.1.3-1), libapt-pkg-perl (= 0.1.43), libapt-pkg7.0 (= 3.3.1), libarchive-zip-perl (= 1.68-1), libarpack2t64 (= 3.9.1-6+b2), libarray-intspan-perl (= 2.004-2), libasan8 (= 16.1.0-2), libasound2-data (= 1.2.16.1-1), libasound2t64 (= 1.2.16.1-1), libassuan9 (= 3.0.2-2+b2), libatomic1 (= 16.1.0-2), libattr1 (= 1:2.6.0-1), libaudit-common (= 1:4.1.2-1), libaudit1 (= 1:4.1.2-1+b1), libavahi-client3 (= 0.8-18), libavahi-common-data (= 0.8-18), libavahi-common3 (= 0.8-18), libavif16 (= 1.4.2-1), libb-hooks-endofscope-perl (= 0.28-2), libb-hooks-op-check-perl (= 0.22-3+b4), libb-keywords-perl (= 1.29-1), libb2-1 (= 0.98.1-1.1+b3), libberkeleydb-perl (= 0.66-2+b1), libbinutils (= 2.46.50.20260617-1), libblas-dev (= 3.12.1-8), libblas3 (= 3.12.1-8), libblkid1 (= 2.42.2-1), libboolean-perl (= 0.46-3), libbrotli-dev (= 1.2.0-3), libbrotli1 (= 1.2.0-3), libbsd0 (= 0.12.2-3), libbz2-1.0 (= 1.0.8-6+b2), libc-bin (= 2.42-17), libc-dev-bin (= 2.42-17), libc-gconv-modules-extra (= 2.42-17), libc6 (= 2.42-17), libc6-dev (= 2.42-17), libcairo2 (= 1.18.4-3+b1), libcamd3 (= 1:7.12.2+dfsg-1), libcap-ng0 (= 0.9.3-1+b1), libcapture-tiny-perl (= 0.50-1), libcarp-assert-more-perl (= 2.9.0-1), libcc1-0 (= 16.1.0-2), libccolamd3 (= 1:7.12.2+dfsg-1), libcgi-pm-perl (= 4.72-1), libcholmod5 (= 1:7.12.2+dfsg-1), libclass-c3-perl (= 0.35-2), libclass-data-inheritable-perl (= 0.10-1), libclass-inspector-perl (= 1.36-3), libclass-load-perl (= 0.25-2), libclass-method-modifiers-perl (= 2.15-1), libclass-singleton-perl (= 1.6-2), libclass-tiny-perl (= 1.008-2), libclass-xsaccessor-perl (= 1.19-4+b5), libclone-choose-perl (= 0.010-2), libclone-perl (= 0.50-1), libclone-pp-perl (= 1.08-2), libcolamd3 (= 1:7.12.2+dfsg-1), libcom-err2 (= 1.47.4-1), libconfig-inifiles-perl (= 3.000003-5), libconfig-model-backend-yaml-perl (= 2.134-2), libconfig-model-dpkg-perl (= 3.024), libconfig-model-perl (= 2.165-1), libconfig-tiny-perl (= 2.30-1), libconst-fast-perl (= 0.014-2), libconvert-binhex-perl (= 1.125-3), libcpanel-json-xs-perl (= 4.42-1), libcrypt1 (= 1:4.5.1-1+b1), libctf-nobfd0 (= 2.46.50.20260617-1), libctf0 (= 2.46.50.20260617-1), libcups2t64 (= 2.4.18-1), libcurl3t64-gnutls (= 8.21.0-2), libcurl4-gnutls (= 8.21.0-2), libcurl4-openssl-dev (= 8.21.0-2), libcurl4t64 (= 8.21.0-2), libcxsparse4 (= 1:7.12.2+dfsg-1), libdata-dpath-perl (= 0.60-1), libdata-messagepack-perl (= 1.02-3), libdata-optlist-perl (= 0.114-1), libdata-section-perl (= 0.200008-1), libdata-validate-domain-perl (= 0.15-1), libdata-validate-ip-perl (= 0.31-1), libdata-validate-uri-perl (= 0.07-3), libdatetime-format-builder-perl (= 0.8300-1), libdatetime-format-iso8601-perl (= 0.19-1), libdatetime-format-rfc3339-perl (= 1.10.0-1), libdatetime-format-strptime-perl (= 1.8000-1), libdatetime-locale-perl (= 1:1.45-1), libdatetime-perl (= 2:1.65-1+b2), libdatetime-timezone-perl (= 1:2.69-1+2026c), libdatrie1 (= 0.2.14-2), libdav1d7 (= 1.5.3-1+b2), libdb5.3t64 (= 5.3.28+dfsg2-11+b1), libdbus-1-3 (= 1.16.2-5+b1), libde265-0 (= 1.1.1-1), libdebconfclient0 (= 0.283), libdebhelper-perl (= 14.3), libdecor-0-0 (= 0.2.5-1+b1), libdeflate0 (= 1.25-1), libdevel-callchecker-perl (= 0.009-3), libdevel-size-perl (= 0.87-1), libdevel-stacktrace-perl (= 2.0500-1), libdouble-conversion3 (= 3.4.0-1+b1), libdpkg-perl (= 1.23.7), libdrm-amdgpu1 (= 2.4.134-3), libdrm-common (= 2.4.134-3), libdrm-intel1 (= 2.4.134-3), libdrm2 (= 2.4.134-3), libduktape207 (= 2.7.0-2+b3), libdynaloader-functions-perl (= 0.004-2), libedit2 (= 3.1-20260512-1), libegl-mesa0 (= 26.1.4-1), libegl1 (= 1.7.0-3+b1), libelf1t64 (= 0.195-1), libemail-address-xs-perl (= 1.05-1+b4), libencode-locale-perl (= 1.05-3), liberror-perl (= 0.17030-1), libeval-closure-perl (= 0.14-3), libevdev2 (= 1.13.6+dfsg-3), libevent-2.1-7t64 (= 2.1.13-stable-1), libexception-class-perl (= 1.45-1), libexpat1 (= 2.8.2-1), libexporter-lite-perl (= 0.09-2), libexporter-tiny-perl (= 1.006003-1), libfeature-compat-class-perl (= 0.08-1), libfeature-compat-try-perl (= 0.05-1), libffi8 (= 3.5.2-4), libfftw3-bin (= 3.3.11-1), libfftw3-dev (= 3.3.11-1), libfftw3-double3 (= 3.3.11-1), libfftw3-long3 (= 3.3.11-1), libfftw3-quad3 (= 3.3.11-1), libfftw3-single3 (= 3.3.11-1), libfile-basedir-perl (= 0.09-2), libfile-find-rule-perl (= 0.35-1), libfile-homedir-perl (= 1.006-2), libfile-libmagic-perl (= 1.23-2+b2), libfile-listing-perl (= 6.16-1), libfile-sharedir-perl (= 1.118-3), libfile-stripnondeterminism-perl (= 1.15.1-1), libfile-which-perl (= 1.27-2), libflac14 (= 1.5.0+ds-5+b1), libfltk-gl1.4 (= 1.4.4-4), libfltk1.4 (= 1.4.4-4), libfont-ttf-perl (= 1.06-2), libfontconfig1 (= 2.17.1-5), libfreetype6 (= 2.14.3+dfsg-1), libfribidi0 (= 1.0.16-5+b1), libfyaml0 (= 0.9.4-1), libgav1-2 (= 0.20.0-2+b1), libgbm1 (= 26.1.4-1), libgcc-15-dev (= 15.3.0-1), libgcc-s1 (= 16.1.0-2), libgcrypt20 (= 1.12.2-1), libgd3 (= 2.3.3-13+b2), libgdbm-compat4t64 (= 1.26-1+b2), libgdbm6t64 (= 1.26-1+b2), libgetopt-long-descriptive-perl (= 0.117-1), libgfortran-15-dev (= 15.3.0-1), libgfortran5 (= 16.1.0-2), libgl-dev (= 1.7.0-3+b1), libgl1 (= 1.7.0-3+b1), libgl1-mesa-dri (= 26.1.4-1), libgl2ps1.4 (= 1.4.2+dfsg1-4+b1), libglib2.0-0t64 (= 2.88.2-1), libglpk40 (= 5.0-3), libglu1-mesa (= 9.0.2-1.1+b4), libglvnd0 (= 1.7.0-3+b1), libglx-dev (= 1.7.0-3+b1), libglx-mesa0 (= 26.1.4-1), libglx0 (= 1.7.0-3+b1), libgmp-dev (= 2:6.3.0+dfsg-5+b2), libgmp10 (= 2:6.3.0+dfsg-5+b2), libgmpxx4ldbl (= 2:6.3.0+dfsg-5+b2), libgnutls-dane0t64 (= 3.8.13-1), libgnutls28-dev (= 3.8.13-1), libgnutls30t64 (= 3.8.13-1), libgomp1 (= 16.1.0-2), libgpg-error0 (= 1.61-3), libgprofng0 (= 2.46.50.20260617-1), libgraphicsmagick++-q16-12t64 (= 1.4+really1.3.46-2), libgraphicsmagick-q16-3t64 (= 1.4+really1.3.46-2), libgraphite2-3 (= 1.3.15-2), libgssapi-krb5-2 (= 1.22.1-3), libgssrpc4t64 (= 1.22.1-3), libgudev-1.0-0 (= 238-7+b2), libharfbuzz0b (= 12.3.2-2+b2), libhash-merge-perl (= 0.302-1), libhdf5-310 (= 1.14.6+repack-2+b1), libhdf5-cpp-310 (= 1.14.6+repack-2+b1), libhdf5-dev (= 1.14.6+repack-2+b1), libhdf5-fortran-310 (= 1.14.6+repack-2+b1), libhdf5-hl-310 (= 1.14.6+repack-2+b1), libhdf5-hl-cpp-310 (= 1.14.6+repack-2+b1), libhdf5-hl-fortran-310 (= 1.14.6+repack-2+b1), libheif-plugin-dav1d (= 1.23.1-1), libheif-plugin-libde265 (= 1.23.1-1), libheif1 (= 1.23.1-1), libhogweed6t64 (= 3.10.2-1+b1), libhtml-form-perl (= 6.13-1), libhtml-html5-entities-perl (= 0.004-3), libhtml-parser-perl (= 3.83-2), libhtml-tagset-perl (= 3.24-1), libhtml-tokeparser-simple-perl (= 3.16-4), libhtml-tree-perl (= 5.07-3), libhttp-cookies-perl (= 6.11-1), libhttp-date-perl (= 6.08-1), libhttp-message-perl (= 7.02-1), libhttp-negotiate-perl (= 6.01-2), libhwy1t64 (= 1.3.0-2+b1), libice6 (= 2:1.1.1-1+b2), libicu78 (= 78.3-2), libidn2-0 (= 2.3.8-5), libidn2-dev (= 2.3.8-5), libimagequant0 (= 4.4.1-1+b2), libimport-into-perl (= 1.002005-2), libindirect-perl (= 0.39-2+b4), libinput-bin (= 1.31.3-1), libinput10 (= 1.31.3-1), libintl-perl (= 1.37-1), libio-html-perl (= 1.004-3), libio-interactive-perl (= 1.027-1), libio-socket-ssl-perl (= 2.099-1), libio-string-perl (= 1.08-4), libio-stringy-perl (= 2.113-2), libio-tiecombine-perl (= 1.005-3), libipc-run3-perl (= 0.049-1), libipc-system-simple-perl (= 1.30-2), libisl23 (= 0.27-2), libiterator-perl (= 0.03+ds1-2), libiterator-util-perl (= 0.02+ds1-2), libitm1 (= 16.1.0-2), libjack-jackd2-0 (= 1.9.22~dfsg-5+b2), libjansson4 (= 2.15.1-1), libjbig0 (= 2.1-6.1+b3), libjpeg-dev (= 1:3.1.3-4), libjpeg62-turbo (= 1:3.1.3-4), libjpeg62-turbo-dev (= 1:3.1.3-4), libjson-maybexs-perl (= 1.004008-1), libjson-perl (= 4.10000-1), libjxl0.11 (= 0.11.2-5), libk5crypto3 (= 1.22.1-3), libkadm5clnt-mit12 (= 1.22.1-3), libkadm5srv-mit12 (= 1.22.1-3), libkdb5-10t64 (= 1.22.1-3), libkeyutils1 (= 1.6.3-6+b2), libkrb5-3 (= 1.22.1-3), libkrb5-dev (= 1.22.1-3), libkrb5support0 (= 1.22.1-3), libksba8 (= 1.8.0-3), liblapack-dev (= 3.12.1-8), liblapack3 (= 3.12.1-8), liblcms2-2 (= 2.19.1-1), libldap-dev (= 2.6.13+dfsg-1), libldap2 (= 2.6.13+dfsg-1), liblerc4 (= 4.1.1+ds-1), liblingua-en-inflect-perl (= 1.905-2), liblist-compare-perl (= 0.55-2), liblist-moreutils-perl (= 0.430-2), liblist-moreutils-xs-perl (= 0.430-4+b2), liblist-someutils-perl (= 0.59-1), liblist-utilsby-perl (= 0.12-2), libllvm21 (= 1:21.1.8-7+b4), liblog-any-adapter-screen-perl (= 0.141-2), liblog-any-perl (= 1.720-1), liblog-log4perl-perl (= 1.57-1), libltdl7 (= 2.5.4-11), liblua5.4-0 (= 5.4.8-2), liblwp-mediatypes-perl (= 6.04-2), liblwp-protocol-https-perl (= 6.15-1), liblz1 (= 1.16-1), liblz4-1 (= 1.10.0-10), liblzma5 (= 5.8.3-1), liblzo2-2 (= 2.10-3+b2), libmagic-mgc (= 1:5.47-4), libmagic1t64 (= 1:5.47-4), libmailtools-perl (= 2.22-1), libmarkdown2 (= 2.2.7-2.1+b2), libmd0 (= 1.2.0-2), libmd4c0 (= 0.5.3-1), libmime-tools-perl (= 5.517-1), libmldbm-perl (= 2.05-4), libmodule-implementation-perl (= 0.09-2), libmodule-pluggable-perl (= 6.3-1), libmodule-runtime-perl (= 0.018-1), libmoo-perl (= 2.005005-1), libmoox-aliases-perl (= 0.001006-3), libmount1 (= 2.42.2-1), libmouse-perl (= 2.6.2-1), libmousex-nativetraits-perl (= 1.09-3), libmousex-strictconstructor-perl (= 0.02-3), libmp3lame0 (= 3.101~svn6531+dfsg-1), libmpc3 (= 1.3.1-3), libmpfr6 (= 4.2.2-3), libmpg123-0t64 (= 1.33.6-1), libmro-compat-perl (= 0.15-2), libmtdev1t64 (= 1.1.7-1+b2), libnamespace-autoclean-perl (= 0.31-1), libnamespace-clean-perl (= 0.27-2), libncurses-dev (= 6.6+20260608-2), libncurses6 (= 6.6+20260608-2), libncursesw6 (= 6.6+20260608-2), libnet-domain-tld-perl (= 1.75-4), libnet-http-perl (= 6.24-1), libnet-ipv6addr-perl (= 1.02-1), libnet-netmask-perl (= 2.0003-1), libnet-smtp-ssl-perl (= 1.04-2), libnet-ssleay-perl (= 1.96-1), libnetaddr-ip-perl (= 4.079+dfsg-2+b5), libnettle8t64 (= 3.10.2-1+b1), libnghttp2-14 (= 1.69.0-1), libnghttp2-dev (= 1.69.0-1), libnghttp3-9 (= 1.15.0-1), libnghttp3-dev (= 1.15.0-1), libngtcp2-16 (= 1.22.1-1), libngtcp2-crypto-gnutls8 (= 1.22.1-1), libngtcp2-crypto-ossl-dev (= 1.22.1-1), libngtcp2-crypto-ossl0 (= 1.22.1-1), libngtcp2-dev (= 1.22.1-1), libnpth0t64 (= 1.8-3+b2), libnumber-compare-perl (= 0.03-3), libobject-pad-perl (= 0.825-1), libogg0 (= 1.3.6-2+b1), libopengl0 (= 1.7.0-3+b1), libopus0 (= 1.6.1-1+b1), libp11-kit-dev (= 0.26.4-1), libp11-kit0 (= 0.26.4-1), libpackage-stash-perl (= 0.40-1), libpam-modules (= 1.7.0-8), libpam-modules-bin (= 1.7.0-8), libpam-runtime (= 1.7.0-8), libpam0g (= 1.7.0-8), libpango-1.0-0 (= 1.58.0-1), libpangocairo-1.0-0 (= 1.58.0-1), libpangoft2-1.0-0 (= 1.58.0-1), libparams-classify-perl (= 0.015-2+b5), libparams-util-perl (= 1.102-3+b1), libparams-validate-perl (= 1.31-2+b4), libparams-validationcompiler-perl (= 0.31-1), libparse-debcontrol-perl (= 2.005-6), libparse-recdescent-perl (= 1.967015+dfsg-4), libpath-iterator-rule-perl (= 1.015-2), libpath-tiny-perl (= 0.150-1), libpciaccess0 (= 0.19-2), libpcre2-16-0 (= 10.46-1+b2), libpcre2-8-0 (= 10.46-1+b2), libperl-critic-perl (= 1.156-1), libperl5.40 (= 5.40.1-8), libperlio-gzip-perl (= 0.20-1+b4), libperlio-utf8-strict-perl (= 0.010-1+b3), libpipeline1 (= 1.5.8-3), libpixman-1-0 (= 0.46.4-1+b2), libpkgconf7 (= 2.5.1-4), libpng16-16t64 (= 1.6.58-1), libpod-constants-perl (= 0.19-2), libpod-parser-perl (= 1.67-1), libpod-pom-perl (= 2.01-4), libpod-spell-perl (= 1.27-1), libportaudio2 (= 19.7.0-1+b1), libppi-perl (= 1.291-1), libppix-quotelike-perl (= 0.024-1), libppix-regexp-perl (= 0.092-1), libppix-utils-perl (= 0.003-2), libproc-processtable-perl (= 0.637-1+b2), libproc2-1 (= 2:4.0.6-2), libproxy1v5 (= 0.5.12-1+b1), libpsl-dev (= 0.22.0-1), libpsl5t64 (= 0.22.0-1), libqhull-r8.0 (= 2020.2-9), libqrupdate1 (= 1.1.5-3+b1), libqscintilla2-qt6-15 (= 2.14.1+dfsg-3), libqscintilla2-qt6-l10n (= 2.14.1+dfsg-3), libqt6core5compat6 (= 6.10.2-3), libqt6core6t64 (= 6.10.2+dfsg-15), libqt6dbus6 (= 6.10.2+dfsg-15), libqt6gui6 (= 6.10.2+dfsg-15), libqt6help6 (= 6.10.2-3), libqt6network6 (= 6.10.2+dfsg-15), libqt6opengl6 (= 6.10.2+dfsg-15), libqt6openglwidgets6 (= 6.10.2+dfsg-15), libqt6printsupport6 (= 6.10.2+dfsg-15), libqt6sql6 (= 6.10.2+dfsg-15), libqt6widgets6 (= 6.10.2+dfsg-15), libqt6xml6 (= 6.10.2+dfsg-15), libquadmath0 (= 16.1.0-2), librav1e0.8 (= 0.8.1-10), libreadline-dev (= 8.3-4), libreadline8t64 (= 8.3-4), libreadonly-perl (= 2.050-3), libregexp-common-perl (= 2024080801-1), libregexp-pattern-license-perl (= 3.11.2-1), libregexp-pattern-perl (= 0.2.14-3), libregexp-wildcards-perl (= 1.05-3), librole-tiny-perl (= 2.002005-1), librtmp-dev (= 2.6-1), librtmp1 (= 2.6-1), libsafe-isa-perl (= 1.000010-1), libsamplerate0 (= 0.2.2-4+b3), libsasl2-2 (= 2.1.28+dfsg1-11), libsasl2-modules-db (= 2.1.28+dfsg1-11), libseccomp2 (= 2.6.0-2+b1), libselinux1 (= 3.10-1), libsensors-config (= 1:3.6.2-2), libsensors5 (= 1:3.6.2-2+b2), libsereal-decoder-perl (= 5.006+ds-1), libsereal-encoder-perl (= 5.006+ds-1), libset-intspan-perl (= 1.19-3), libsframe3 (= 2.46.50.20260617-1), libsharpyuv0 (= 1.5.0-0.1+b2), libsm6 (= 2:1.2.6-1+b2), libsmartcols1 (= 2.42.2-1), libsndfile1 (= 1.2.2-4+b1), libsoftware-copyright-perl (= 0.015-1), libsoftware-license-perl (= 0.104007-1), libsoftware-licensemoreutils-perl (= 1.009-1), libsort-versions-perl (= 1.62-3), libspecio-perl (= 0.53-1), libspqr4 (= 1:7.12.2+dfsg-1), libsqlite3-0 (= 3.53.3-1), libssh2-1-dev (= 1.11.1-4), libssh2-1t64 (= 1.11.1-4), libssl-dev (= 3.6.3-1), libssl3t64 (= 3.6.3-1), libstdc++-15-dev (= 15.3.0-1), libstdc++6 (= 16.1.0-2), libstemmer0d (= 3.1.1-1), libstrictures-perl (= 2.000006-1), libstring-copyright-perl (= 0.003014-1), libstring-escape-perl (= 2010.002-3), libstring-format-perl (= 1.18-1), libstring-license-perl (= 0.0.11-1), libstring-rewriteprefix-perl (= 0.009-1), libsub-exporter-perl (= 0.990-1), libsub-exporter-progressive-perl (= 0.001013-3), libsub-identify-perl (= 0.14-4), libsub-install-perl (= 0.929-1), libsub-name-perl (= 0.28-1+b2), libsub-quote-perl (= 2.006009-1), libsub-uplevel-perl (= 0.2800-3), libsuitesparseconfig7 (= 1:7.12.2+dfsg-1), libsvtav1enc4 (= 4.1.0+dfsg-1), libsyntax-keyword-try-perl (= 0.31-1), libsystemd0 (= 261.1-2), libsz2 (= 1.1.7-1), libtask-weaken-perl (= 1.06-2), libtasn1-6 (= 4.21.0-2+b1), libtasn1-6-dev (= 4.21.0-2+b1), libterm-readkey-perl (= 2.38-2+b4), libtest-exception-perl (= 0.43-3), libtext-autoformat-perl (= 1.750000-2), libtext-charwidth-perl (= 0.04-12), libtext-glob-perl (= 0.11-3), libtext-levenshtein-damerau-perl (= 0.41-3), libtext-levenshteinxs-perl (= 0.03-5+b4), libtext-markdown-discount-perl (= 0.18-1), libtext-reform-perl (= 1.20-5), libtext-template-perl (= 1.61-1), libtext-unidecode-perl (= 1.30-3), libtext-wrapi18n-perl (= 0.06-11), libtext-wrapper-perl (= 1.05-4), libtext-xslate-perl (= 3.5.9-2+b2), libthai-data (= 0.1.30-2), libthai0 (= 0.1.30-2), libtiff6 (= 4.7.2-1), libtime-duration-perl (= 1.21-2), libtime-moment-perl (= 0.46-1), libtimedate-perl (= 2.3500-1), libtinfo6 (= 6.6+20260608-2), libtoml-tiny-perl (= 0.22-1), libtool (= 2.5.4-11), libtry-tiny-perl (= 0.32-1), libts0t64 (= 1.22-1.1+b2), libubsan1 (= 16.1.0-2), libuchardet0 (= 0.0.8-2+b2), libudev1 (= 261.1-2), libumfpack6 (= 1:7.12.2+dfsg-1), libunbound8 (= 1.25.1-1+b1), libunicode-utf8-perl (= 0.72-1), libunistring-dev (= 1.4.2-1), libunistring5 (= 1.4.2-1), liburi-perl (= 5.35-1), libuuid1 (= 2.42.2-1), libvariable-magic-perl (= 0.64-1+b1), libvorbis0a (= 1.3.7-3+b2), libvorbisenc2 (= 1.3.7-3+b2), libvulkan1 (= 1.4.341.0-1), libwacom-common (= 2.18.0-1), libwacom9 (= 2.18.0-1), libwayland-client0 (= 1.25.0-2), libwayland-cursor0 (= 1.25.0-2), libwayland-egl1 (= 1.25.0-2), libwebp7 (= 1.5.0-0.1+b2), libwebpmux3 (= 1.5.0-0.1+b2), libwmflite-0.2-7 (= 0.2.14-1), libwww-mechanize-perl (= 2.22-1), libwww-perl (= 6.83-1), libwww-robotrules-perl (= 6.03-1), libx11-6 (= 2:1.8.13-1), libx11-data (= 2:1.8.13-1), libx11-dev (= 2:1.8.13-1), libx11-xcb1 (= 2:1.8.13-1), libxau-dev (= 1:1.0.11-1+b2), libxau6 (= 1:1.0.11-1+b2), libxcb-cursor0 (= 0.1.6-1), libxcb-dri3-0 (= 1.17.0-2+b2), libxcb-glx0 (= 1.17.0-2+b2), libxcb-icccm4 (= 0.4.2-1+b2), libxcb-image0 (= 0.4.0-2+b3), libxcb-keysyms1 (= 0.4.1-1+b2), libxcb-present0 (= 1.17.0-2+b2), libxcb-randr0 (= 1.17.0-2+b2), libxcb-render-util0 (= 0.3.10-1+b2), libxcb-render0 (= 1.17.0-2+b2), libxcb-shape0 (= 1.17.0-2+b2), libxcb-shm0 (= 1.17.0-2+b2), libxcb-sync1 (= 1.17.0-2+b2), libxcb-util1 (= 0.4.1-1+b2), libxcb-xfixes0 (= 1.17.0-2+b2), libxcb-xinput0 (= 1.17.0-2+b2), libxcb-xkb1 (= 1.17.0-2+b2), libxcb1 (= 1.17.0-2+b2), libxcb1-dev (= 1.17.0-2+b2), libxcursor1 (= 1:1.2.3-1+b2), libxdmcp-dev (= 1:1.1.5-2+b1), libxdmcp6 (= 1:1.1.5-2+b1), libxext6 (= 2:1.3.4-1+b4), libxfixes3 (= 1:6.0.0-2+b5), libxinerama1 (= 2:1.1.4-3+b5), libxkbcommon-x11-0 (= 1.13.1-1), libxkbcommon0 (= 1.13.1-1), libxml-libxml-perl (= 2.0207+dfsg+really+2.0134-8), libxml-namespacesupport-perl (= 1.12-2), libxml-sax-base-perl (= 1.09-3), libxml-sax-perl (= 1.02+dfsg-5), libxml2-16 (= 2.15.3+dfsg-1), libxmlb2 (= 0.3.28-1), libxpm4 (= 1:3.5.19-1), libxrender1 (= 1:0.9.12-1+b2), libxs-parse-keyword-perl (= 0.49-1), libxs-parse-sublike-perl (= 0.41-1+b1), libxshmfence1 (= 1.3.3-1+b2), libxstring-perl (= 0.005-2+b5), libxxf86vm1 (= 1:1.1.4-2+b1), libxxhash0 (= 0.8.3-2+b2), libyaml-0-2 (= 0.2.5-2+b1), libyaml-libyaml-perl (= 0.910.0+ds-1), libyaml-pp-perl (= 0.41.0-1), libyaml-tiny-perl (= 1.76-1), libyuv0 (= 0.0.1949.20260706-1), libz3-4 (= 4.13.3-1.1), libzstd-dev (= 1.5.7+dfsg-3+b2), libzstd1 (= 1.5.7+dfsg-3+b2), licensecheck (= 3.3.9-1), lintian (= 2.137.1), linux-libc-dev (= 7.1.3-1), lzop (= 1.04-2), m4 (= 1.4.21-1), make (= 4.4.1-3), man-db (= 2.13.1-1), mawk (= 1.3.4.20260302-1), mesa-libgallium (= 26.1.4-1), ncurses-base (= 6.6+20260608-2), ncurses-bin (= 6.6+20260608-2), netbase (= 6.5), nettle-dev (= 3.10.2-1+b1), octave (= 11.3.0-1), octave-common (= 11.3.0-1), octave-datatypes (= 1.2.6-1), octave-dev (= 11.3.0-1), octave-io (= 2.7.2-1), openssl (= 3.6.3-1), openssl-provider-legacy (= 3.6.3-1), patch (= 2.8-2), patchutils (= 0.4.5-1), pci.ids (= 0.0~2026.07.06-1), perl (= 5.40.1-8), perl-base (= 5.40.1-8), perl-modules-5.40 (= 5.40.1-8), perl-openssl-defaults (= 7+b2), perltidy (= 20250105-1), pkgconf (= 2.5.1-4), pkgconf-bin (= 2.5.1-4), plzip (= 1.13-1), po-debconf (= 1.0.22), procps (= 2:4.0.6-2), readline-common (= 8.3-4), rpcsvc-proto (= 1.4.4-1), sed (= 4.9-3), sensible-utils (= 0.0.26), shared-mime-info (= 2.4-5+b3), sysvinit-utils (= 3.18-1), t1utils (= 1.41-4), tar (= 1.35+dfsg-4), tex-common (= 6.20), texinfo (= 7.3-2), texinfo-lib (= 7.3-2), tzdata (= 2026b-1), ucf (= 3.0056), unzip (= 6.0-29), util-linux (= 2.42.2-1), x11-common (= 1:7.7+26), x11proto-dev (= 2025.1-1), xkb-data (= 2.47-1), xorg-sgml-doctools (= 1:1.12.1-1), xtrans-dev (= 1.6.0-1), xz-utils (= 5.8.3-1), zlib1g (= 1:1.3.dfsg+really1.3.2-3), zlib1g-dev (= 1:1.3.dfsg+really1.3.2-3) Environment: DEB_BUILD_OPTIONS="parallel=6" LANG="C.UTF-8" LC_COLLATE="C.UTF-8" LC_CTYPE="C.UTF-8" SOURCE_DATE_EPOCH="1783842663" +------------------------------------------------------------------------------+ | Package contents Sat, 18 Jul 2026 11:23:46 +0000 | +------------------------------------------------------------------------------+ octave-statistics-dbgsym_1.8.4-1_i386.deb ----------------------------------------- new Debian package, version 2.0. size 4954028 bytes: control archive=860 bytes. 641 bytes, 12 lines control 742 bytes, 7 lines md5sums Package: octave-statistics-dbgsym Source: octave-statistics Version: 1.8.4-1 Auto-Built-Package: debug-symbols Architecture: i386 Maintainer: Debian Octave Group Installed-Size: 4973 Depends: octave-statistics (= 1.8.4-1) Section: debug Priority: optional Description: debug symbols for octave-statistics Build-Ids: 188646d5fdec4a541fb5df70e226cc420144357a 6b47c2fa9047cf22943fb078dc2d779ba5c6cc57 a33bf21357856fb1a6138b158a39467166cdef5e b93073edac6ba53d7e906eed2aa10da6281c565c be2e6ec753f546bf8f19df834a9af535866d0039 c5db89ac9c223d138cd766de653683d6366f6532 c9ae08ea340fd2ac9691235977e26b4d97c34808 drwxr-xr-x root/root 0 2026-07-12 07:51 ./ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/18/ -rw-r--r-- root/root 1013280 2026-07-12 07:51 ./usr/lib/debug/.build-id/18/8646d5fdec4a541fb5df70e226cc420144357a.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/6b/ -rw-r--r-- root/root 322096 2026-07-12 07:51 ./usr/lib/debug/.build-id/6b/47c2fa9047cf22943fb078dc2d779ba5c6cc57.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/a3/ -rw-r--r-- root/root 953768 2026-07-12 07:51 ./usr/lib/debug/.build-id/a3/3bf21357856fb1a6138b158a39467166cdef5e.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/b9/ -rw-r--r-- root/root 341048 2026-07-12 07:51 ./usr/lib/debug/.build-id/b9/3073edac6ba53d7e906eed2aa10da6281c565c.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/be/ -rw-r--r-- root/root 988180 2026-07-12 07:51 ./usr/lib/debug/.build-id/be/2e6ec753f546bf8f19df834a9af535866d0039.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/c5/ -rw-r--r-- root/root 738428 2026-07-12 07:51 ./usr/lib/debug/.build-id/c5/db89ac9c223d138cd766de653683d6366f6532.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/c9/ -rw-r--r-- root/root 714740 2026-07-12 07:51 ./usr/lib/debug/.build-id/c9/ae08ea340fd2ac9691235977e26b4d97c34808.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/share/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/share/doc/ lrwxrwxrwx root/root 0 2026-07-12 07:51 ./usr/share/doc/octave-statistics-dbgsym -> octave-statistics octave-statistics_1.8.4-1_i386.deb ---------------------------------- new Debian package, version 2.0. size 152204 bytes: control archive=1204 bytes. 772 bytes, 16 lines control 2145 bytes, 17 lines md5sums Package: octave-statistics Version: 1.8.4-1 Architecture: i386 Maintainer: Debian Octave Group Installed-Size: 616 Depends: octave-statistics-common (= 1.8.4-1), libc6 (>= 2.38), libgcc-s1 (>= 4.2), libgomp1 (>= 4.9), libstdc++6 (>= 14), octave-abi-61, octave (>= 11.3.0), octave-datatypes (>= 1.2.6) Section: math Priority: optional Homepage: https://gnu-octave.github.io/packages/statistics/ Description: additional statistical functions for Octave This package provides additional statistical functions for Octave, including mean and variance for several distributions (geometric, hypergeometric, exponential, lognormal and others). . This package contains the architecture-dependent files for the Octave statistics package. drwxr-xr-x root/root 0 2026-07-12 07:51 ./ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/ -rw-r--r-- root/root 19767 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/doc-cache -rw-r--r-- root/root 4217 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/editDistance.cc-tst -rw-r--r-- root/root 83548 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/editDistance.oct -rw-r--r-- root/root 2958 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/fcnnpredict.cc-tst -rw-r--r-- root/root 75356 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/fcnnpredict.oct -rw-r--r-- root/root 4428 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/fcnntrain.cc-tst -rw-r--r-- root/root 83604 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/fcnntrain.oct -rw-r--r-- root/root 561 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/libsvmread.cc-tst -rw-r--r-- root/root 30312 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/libsvmread.oct -rw-r--r-- root/root 888 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/libsvmwrite.cc-tst -rw-r--r-- root/root 22040 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/libsvmwrite.oct -rw-r--r-- root/root 2514 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/svmpredict.cc-tst -rw-r--r-- root/root 136944 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/svmpredict.oct -rw-r--r-- root/root 2618 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/svmtrain.cc-tst -rw-r--r-- root/root 132848 2026-07-12 07:51 ./usr/lib/i386-linux-gnu/octave/packages/statistics-1.8.4/i686-pc-linux-gnu-api-v61/svmtrain.oct drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/share/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/share/doc/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/share/doc/octave-statistics/ -rw-r--r-- root/root 3911 2026-07-12 07:51 ./usr/share/doc/octave-statistics/changelog.Debian.gz -rw-r--r-- root/root 4767 2026-07-12 07:16 ./usr/share/doc/octave-statistics/copyright +------------------------------------------------------------------------------+ | Post Build Sat, 18 Jul 2026 11:23:48 +0000 | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup Sat, 18 Jul 2026 11:23:48 +0000 | +------------------------------------------------------------------------------+ Purging /build/reproducible-path Not cleaning session: cloned chroot in use +------------------------------------------------------------------------------+ | Summary Sat, 18 Jul 2026 11:23:50 +0000 | +------------------------------------------------------------------------------+ Build Architecture: i386 Build Type: any Build-Space: 51868 Build-Time: 368 Distribution: unstable Host Architecture: i386 Install-Time: 4 Job: /srv/rebuilderd/tmp/rebuilderdfDODFe/inputs/octave-statistics_1.8.4-1.dsc Machine Architecture: amd64 Package: octave-statistics Package-Time: 385 Source-Version: 1.8.4-1 Space: 51868 Status: successful Version: 1.8.4-1 -------------------------------------------------------------------------------- Finished at 2026-07-18T11:23:45Z Build needed 00:06:25, 51868k disk space build artifacts stored in /srv/rebuilderd/tmp/rebuilderdfDODFe/out checking octave-statistics-dbgsym_1.8.4-1_i386.deb: size differs for octave-statistics-dbgsym_1.8.4-1_i386.deb