=============================================================================== 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/rebuilderdvQreqm/inputs/octave-statistics_1.8.4-1_amd64.buildinfo Source: octave-statistics Version: 1.8.4-1 rebuilderd-worker node: osuosl44-amd64 +------------------------------------------------------------------------------+ | Downloading sources Sat, 18 Jul 2026 00:43:50 +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/main Sources [10.5 MB] Get:10 https://deb.debian.org/debian trixie/non-free-firmware Sources [6,552 B] Get:11 https://deb.debian.org/debian-security trixie-security/main Sources [185 kB] Get:12 https://deb.debian.org/debian-security trixie-security/non-free-firmware Sources [696 B] Get:13 https://deb.debian.org/debian trixie-updates/main Sources [888 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 [277 kB] Get:16 https://deb.debian.org/debian trixie-backports/non-free-firmware Sources [3,376 B] Get:17 https://deb.debian.org/debian forky/non-free-firmware Sources [7,864 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/non-free-firmware Sources [2,568 B] Get:22 https://deb.debian.org/debian experimental/main Sources [356 kB] Fetched 35.1 MB in 33s (1,078 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 00:44:23 +0000 | +------------------------------------------------------------------------------+ + niceRebuilding octave-statistics=1.8.4-1 in /srv/rebuilderd/tmp/rebuilderdvQreqm/inputs now. /usr/bin/debrebuild --buildresult=/srv/rebuilderd/tmp/rebuilderdvQreqm/out --builder=sbuild+unshare --cache=/srv/rebuilderd/cache -- /srv/rebuilderd/tmp/rebuilderdvQreqm/inputs/octave-statistics_1.8.4-1_amd64.buildinfo /srv/rebuilderd/tmp/rebuilderdvQreqm/inputs/octave-statistics_1.8.4-1_amd64.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 amd64 Packages [10.6 MB] Get:4 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 Packages [10.6 MB] Fetched 21.6 MB in 2s (9864 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 amd64 libio-socket-ssl-perl all 2.099-1 [229 kB] Fetched 229 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplv_ep0ug/libio-socket-ssl-perl_2.099-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libjson-perl all 4.10000-1 [87.5 kB] Fetched 87.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_7j4hdn2/libjson-perl_4.10000-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb1-dev amd64 1.17.0-2+b2 [181 kB] Fetched 181 kB in 0s (14.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpr8rf8cgh/libxcb1-dev_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.22 [216 kB] Fetched 216 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7t5yjnaw/po-debconf_1.0.22_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 perl-openssl-defaults amd64 7+b2 [6724 B] Fetched 6724 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8_jrqbxx/perl-openssl-defaults_7+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libedit2 amd64 3.1-20260512-1 [93.6 kB] Fetched 93.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpaftlydzx/libedit2_3.1-20260512-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsub-name-perl amd64 0.28-1+b2 [12.5 kB] Fetched 12.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8vgetbih/libsub-name-perl_0.28-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libidn2-dev amd64 2.3.8-5 [102 kB] Fetched 102 kB in 0s (8569 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgvv0awvp/libidn2-dev_2.3.8-5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxpm4 amd64 1:3.5.19-1 [58.9 kB] Fetched 58.9 kB in 0s (0 B/s) dpkg-name: info: moved 'libxpm4_1%3a3.5.19-1_amd64.deb' to '/srv/rebuilderd/tmp/tmpyetv4__b/libxpm4_3.5.19-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libclass-inspector-perl all 1.36-3 [17.5 kB] Fetched 17.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2qivyatj/libclass-inspector-perl_1.36-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 krb5-multidev amd64 1.22.1-3 [125 kB] Fetched 125 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp263cpc8y/krb5-multidev_1.22.1-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfyaml0 amd64 0.9.4-1 [312 kB] Fetched 312 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvkw4k6q9/libfyaml0_0.9.4-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libclass-load-perl all 0.25-2 [15.3 kB] Fetched 15.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpn71ylga1/libclass-load-perl_0.25-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Fetched 7496 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbp07t472/libsub-exporter-progressive-perl_0.001013-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gfortran-x86-64-linux-gnu amd64 4:15.2.0-5+b1 [1284 B] Fetched 1284 B in 0s (0 B/s) dpkg-name: info: moved 'gfortran-x86-64-linux-gnu_4%3a15.2.0-5+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmp_k76s2io/gfortran-x86-64-linux-gnu_15.2.0-5+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libicu78 amd64 78.3-2 [10.0 MB] Fetched 10.0 MB in 0s (162 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp95q0vauq/libicu78_78.3-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblz1 amd64 1.16-1 [39.3 kB] Fetched 39.3 kB in 0s (3781 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0t667r00/liblz1_1.16-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libnghttp3-9 amd64 1.15.0-1 [67.2 kB] Fetched 67.2 kB in 0s (4809 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8kyxktcc/libnghttp3-9_1.15.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libunistring-dev amd64 1.4.2-1 [651 kB] Fetched 651 kB in 0s (56.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8bnn9c08/libunistring-dev_1.4.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 patchutils amd64 0.4.5-1 [85.7 kB] Fetched 85.7 kB in 0s (8505 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfdc44kca/patchutils_0.4.5-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdatetime-format-iso8601-perl all 0.19-1 [21.8 kB] Fetched 21.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpq2sxoc16/libdatetime-format-iso8601-perl_0.19-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 findutils amd64 4.10.0-4 [700 kB] Fetched 700 kB in 0s (56.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv89xq1pw/findutils_4.10.0-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgmp10 amd64 2:6.3.0+dfsg-5+b2 [560 kB] Fetched 560 kB in 0s (43.9 MB/s) dpkg-name: info: moved 'libgmp10_2%3a6.3.0+dfsg-5+b2_amd64.deb' to '/srv/rebuilderd/tmp/tmp96ntw2u2/libgmp10_6.3.0+dfsg-5+b2_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libsframe3 amd64 2.46.50.20260617-1 [84.7 kB] Fetched 84.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpn9ulytpc/libsframe3_2.46.50.20260617-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpmtuy4h9h/libdata-validate-ip-perl_0.31-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 linux-libc-dev all 7.1.3-1 [1963 kB] Fetched 1963 kB in 0s (109 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5q0pbmp7/linux-libc-dev_7.1.3-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libts0t64 amd64 1.22-1.1+b2 [61.9 kB] Fetched 61.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06zf81kd/libts0t64_1.22-1.1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 pkgconf-bin amd64 2.5.1-4 [35.9 kB] Fetched 35.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyox3xab_/pkgconf-bin_2.5.1-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libduktape207 amd64 2.7.0-2+b3 [134 kB] Fetched 134 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmb6t6v1j/libduktape207_2.7.0-2+b3_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 binutils amd64 2.46.50.20260617-1 [282 kB] Fetched 282 kB in 0s (24.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdx70uvis/binutils_2.46.50.20260617-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblist-someutils-perl all 0.59-1 [37.1 kB] Fetched 37.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpn3m9_o9i/liblist-someutils-perl_0.59-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 g++-15-x86-64-linux-gnu amd64 15.3.0-1 [13.2 MB] Fetched 13.2 MB in 0s (173 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpe569jkz_/g++-15-x86-64-linux-gnu_15.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblsan0 amd64 16.1.0-2 [1281 kB] Fetched 1281 kB in 0s (85.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9h35enco/liblsan0_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfile-basedir-perl all 0.09-2 [15.1 kB] Fetched 15.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpprg_kteo/libfile-basedir-perl_0.09-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpmrrs65uw/libstrictures-perl_2.000006-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 cme all 1.049-1 [72.6 kB] Fetched 72.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp29wflj7u/cme_1.049-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 debconf all 1.5.92 [123 kB] Fetched 123 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbdsu6876/debconf_1.5.92_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcapture-tiny-perl all 0.50-1 [24.6 kB] Fetched 24.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdyh3chn_/libcapture-tiny-perl_0.50-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmarkdown2 amd64 2.2.7-2.1+b2 [36.5 kB] Fetched 36.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqj_198ii/libmarkdown2_2.2.7-2.1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-xkb1 amd64 1.17.0-2+b2 [130 kB] Fetched 130 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2t8euiqd/libxcb-xkb1_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsafe-isa-perl all 1.000010-1 [8288 B] Fetched 8288 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3in9rj__/libsafe-isa-perl_1.000010-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmro-compat-perl all 0.15-2 [11.8 kB] Fetched 11.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjpkh1ltf/libmro-compat-perl_0.15-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libppix-utils-perl all 0.003-2 [28.0 kB] Fetched 28.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjyacen4j/libppix-utils-perl_0.003-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 ca-certificates all 20260601 [134 kB] Fetched 134 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvthh9ubv/ca-certificates_20260601_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libb-hooks-endofscope-perl all 0.28-2 [17.6 kB] Fetched 17.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp37rlj6oa/libb-hooks-endofscope-perl_0.28-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 texinfo all 7.3-2 [1877 kB] Fetched 1877 kB in 0s (105 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfch62ji2/texinfo_7.3-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 x11proto-dev all 2025.1-1 [605 kB] Fetched 605 kB in 0s (51.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7o1lkcgd/x11proto-dev_2025.1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblist-utilsby-perl all 0.12-2 [15.5 kB] Fetched 15.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpq_vfpc44/liblist-utilsby-perl_0.12-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gfortran-15 amd64 15.3.0-1 [22.2 kB] Fetched 22.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpexgv7a04/gfortran-15_15.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.21-1 [332 kB] Fetched 332 kB in 0s (25.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcymjs1sa/m4_1.4.21-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libngtcp2-dev amd64 1.22.1-1 [192 kB] Fetched 192 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3xblj_ju/libngtcp2-dev_1.22.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libterm-readkey-perl amd64 2.38-2+b4 [24.6 kB] Fetched 24.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpf3eq9z5o/libterm-readkey-perl_2.38-2+b4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libppi-perl all 1.291-1 [300 kB] Fetched 300 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpi2z60x6n/libppi-perl_1.291-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libssl3t64 amd64 3.6.3-1 [2488 kB] Fetched 2488 kB in 0s (121 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpby5nve8v/libssl3t64_3.6.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpm7h7na0v/libconvert-binhex-perl_1.125-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libppix-quotelike-perl all 0.024-1 [64.7 kB] Fetched 64.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpp_gybrcr/libppix-quotelike-perl_0.024-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libregexp-wildcards-perl all 1.05-3 [14.1 kB] Fetched 14.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgvw3v3al/libregexp-wildcards-perl_1.05-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libkrb5-dev amd64 1.22.1-3 [14.0 kB] Fetched 14.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7q4pf4v3/libkrb5-dev_1.22.1-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfftw3-dev amd64 3.3.11-1 [2063 kB] Fetched 2063 kB in 0s (112 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppu8uk3lw/libfftw3-dev_3.3.11-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libc6 amd64 2.42-17 [1790 kB] Fetched 1790 kB in 0s (103 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxx62k6vj/libc6_2.42-17_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libunistring5 amd64 1.4.2-1 [480 kB] Fetched 480 kB in 0s (46.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0_4f8idn/libunistring5_1.4.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libaudit1 amd64 1:4.1.2-1+b1 [60.2 kB] Fetched 60.2 kB in 0s (0 B/s) dpkg-name: info: moved 'libaudit1_1%3a4.1.2-1+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmpbon1zwra/libaudit1_4.1.2-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtsan2 amd64 16.1.0-2 [2573 kB] Fetched 2573 kB in 0s (122 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3215dkpj/libtsan2_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 perltidy all 20250105-1 [706 kB] Fetched 706 kB in 0s (58.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbg5da7zf/perltidy_20250105-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfile-libmagic-perl amd64 1.23-2+b2 [31.1 kB] Fetched 31.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpadtzpgp0/libfile-libmagic-perl_1.23-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 cpp-x86-64-linux-gnu amd64 4:15.2.0-5+b1 [4644 B] Fetched 4644 B in 0s (0 B/s) dpkg-name: info: moved 'cpp-x86-64-linux-gnu_4%3a15.2.0-5+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmpfbczgzb8/cpp-x86-64-linux-gnu_15.2.0-5+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libwayland-cursor0 amd64 1.25.0-2 [11.7 kB] Fetched 11.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8vs0hzhg/libwayland-cursor0_1.25.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libwww-mechanize-perl all 2.22-1 [117 kB] Fetched 117 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2mfi2xuz/libwww-mechanize-perl_2.22-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libperlio-gzip-perl amd64 0.20-1+b4 [17.5 kB] Fetched 17.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprbihrhgo/libperlio-gzip-perl_0.20-1+b4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 zlib1g amd64 1:1.3.dfsg+really1.3.2-3 [90.9 kB] Fetched 90.9 kB in 0s (0 B/s) dpkg-name: info: moved 'zlib1g_1%3a1.3.dfsg+really1.3.2-3_amd64.deb' to '/srv/rebuilderd/tmp/tmpfvswrouc/zlib1g_1.3.dfsg+really1.3.2-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 bzip2 amd64 1.0.8-6+b2 [40.4 kB] Fetched 40.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl81hrwsw/bzip2_1.0.8-6+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfile-which-perl all 1.27-2 [15.1 kB] Fetched 15.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptka6czkt/libfile-which-perl_1.27-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 librav1e0.8 amd64 0.8.1-10 [973 kB] Fetched 973 kB in 0s (72.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyx2wcknp/librav1e0.8_0.8.1-10_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcarp-assert-more-perl all 2.9.0-1 [21.9 kB] Fetched 21.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptwoap59r/libcarp-assert-more-perl_2.9.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcap-ng0 amd64 0.9.3-1+b1 [18.2 kB] Fetched 18.2 kB in 0s (1591 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyji9ql6n/libcap-ng0_0.9.3-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libheif-plugin-libde265 amd64 1.23.1-1 [17.3 kB] Fetched 17.3 kB in 0s (192 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpued0uvou/libheif-plugin-libde265_1.23.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libreadline-dev amd64 8.3-4 [163 kB] Fetched 163 kB in 0s (1973 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpym36i3c2/libreadline-dev_8.3-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 openssl-provider-legacy amd64 3.6.3-1 [320 kB] Fetched 320 kB in 0s (30.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk02hkyqf/openssl-provider-legacy_3.6.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libwmflite-0.2-7 amd64 0.2.14-1 [74.1 kB] Fetched 74.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3vnzhh1g/libwmflite-0.2-7_0.2.14-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.195-1 [58.1 kB] Fetched 58.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpecctjejq/libelf1t64_0.195-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libwebp7 amd64 1.5.0-0.1+b2 [335 kB] Fetched 335 kB in 0s (30.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmuzpos2l/libwebp7_1.5.0-0.1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdb5.3t64 amd64 5.3.28+dfsg2-11+b1 [709 kB] Fetched 709 kB in 0s (58.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppl2r13k1/libdb5.3t64_5.3.28+dfsg2-11+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmd4c0 amd64 0.5.3-1 [49.5 kB] Fetched 49.5 kB in 0s (4486 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbz_ke8il/libmd4c0_0.5.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 librtmp1 amd64 2.6-1 [60.3 kB] Fetched 60.3 kB in 0s (5912 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpu8sa69v3/librtmp1_2.6-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtinfo6 amd64 6.6+20260608-2 [353 kB] Fetched 353 kB in 0s (30.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpywfh2u11/libtinfo6_6.6+20260608-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6core6t64 amd64 6.10.2+dfsg-15 [1916 kB] Fetched 1916 kB in 0s (102 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0sqoogoq/libqt6core6t64_6.10.2+dfsg-15_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 texinfo-lib amd64 7.3-2 [705 kB] Fetched 705 kB in 0s (53.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjjr_qfzb/texinfo-lib_7.3-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libstring-rewriteprefix-perl all 0.009-1 [7140 B] Fetched 7140 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpr_czffmh/libstring-rewriteprefix-perl_0.009-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libexception-class-perl all 1.45-1 [34.6 kB] Fetched 34.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5sf5v95f/libexception-class-perl_1.45-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgomp1 amd64 16.1.0-2 [151 kB] Fetched 151 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp75sj9hf9/libgomp1_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxdmcp-dev amd64 1:1.1.5-2+b1 [44.0 kB] Fetched 44.0 kB in 0s (0 B/s) dpkg-name: info: moved 'libxdmcp-dev_1%3a1.1.5-2+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmpj0wwj_fc/libxdmcp-dev_1.1.5-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxstring-perl amd64 0.005-2+b5 [8084 B] Fetched 8084 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4wpe_jp0/libxstring-perl_0.005-2+b5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgd3 amd64 2.3.3-13+b2 [126 kB] Fetched 126 kB in 0s (11.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpajqqsqwt/libgd3_2.3.3-13+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblerc4 amd64 4.1.1+ds-1 [199 kB] Fetched 199 kB in 0s (18.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpe65_w5l8/liblerc4_4.1.1+ds-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libglx-mesa0 amd64 26.1.4-1 [125 kB] Fetched 125 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjjoqyhzi/libglx-mesa0_26.1.4-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.1-1 [1469 kB] Fetched 1469 kB in 0s (89.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpe037_n5x/man-db_2.13.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 cpp-15-x86-64-linux-gnu amd64 15.3.0-1 [12.1 MB] Fetched 12.1 MB in 0s (165 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqrfftyiv/cpp-15-x86-64-linux-gnu_15.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgcrypt20 amd64 1.12.2-1 [903 kB] Fetched 903 kB in 0s (71.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprlascq2u/libgcrypt20_1.12.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg1-11 [17.2 kB] Fetched 17.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplt459q9r/libsasl2-modules-db_2.1.28+dfsg1-11_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 nettle-dev amd64 3.10.2-1+b1 [1321 kB] Fetched 1321 kB in 0s (90.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_ye5rl_6/nettle-dev_3.10.2-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.47-4 [43.0 kB] Fetched 43.0 kB in 0s (0 B/s) dpkg-name: info: moved 'file_1%3a5.47-4_amd64.deb' to '/srv/rebuilderd/tmp/tmp51ly8e4m/file_5.47-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 octave amd64 11.3.0-1 [9527 kB] Fetched 9527 kB in 0s (173 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpeyeg8l5p/octave_11.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libksba8 amd64 1.8.0-3 [139 kB] Fetched 139 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9g45kwfu/libksba8_1.8.0-3_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libngtcp2-crypto-ossl-dev amd64 1.22.1-1 [24.2 kB] Fetched 24.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo8nfxlkx/libngtcp2-crypto-ossl-dev_1.22.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhdf5-hl-cpp-310 amd64 1.14.6+repack-2+b1 [18.5 kB] Fetched 18.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyprsdaib/libhdf5-hl-cpp-310_1.14.6+repack-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdevel-callchecker-perl amd64 0.009-3 [15.3 kB] Fetched 15.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp99qjlv40/libdevel-callchecker-perl_0.009-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libclone-pp-perl all 1.08-2 [9224 B] Fetched 9224 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpetcck3dd/libclone-pp-perl_1.08-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmphu6gsr9d/libsub-uplevel-perl_0.2800-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdata-section-perl all 0.200008-1 [13.1 kB] Fetched 13.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzvkd7flv/libdata-section-perl_0.200008-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libaec0 amd64 1.1.7-1 [22.3 kB] Fetched 22.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpw99_wty7/libaec0_1.1.7-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgl2ps1.4 amd64 1.4.2+dfsg1-4+b1 [43.0 kB] Fetched 43.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvgax621t/libgl2ps1.4_1.4.2+dfsg1-4+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpath-tiny-perl all 0.150-1 [56.4 kB] Fetched 56.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptngt3a5h/libpath-tiny-perl_0.150-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 xz-utils amd64 5.8.3-1 [740 kB] Fetched 740 kB in 0s (64.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpytyuwo0w/xz-utils_5.8.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libspqr4 amd64 1:7.12.2+dfsg-1 [156 kB] Fetched 156 kB in 0s (0 B/s) dpkg-name: info: moved 'libspqr4_1%3a7.12.2+dfsg-1_amd64.deb' to '/srv/rebuilderd/tmp/tmppnmk9d1_/libspqr4_7.12.2+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgmpxx4ldbl amd64 2:6.3.0+dfsg-5+b2 [328 kB] Fetched 328 kB in 0s (0 B/s) dpkg-name: info: moved 'libgmpxx4ldbl_2%3a6.3.0+dfsg-5+b2_amd64.deb' to '/srv/rebuilderd/tmp/tmp5nswai15/libgmpxx4ldbl_6.3.0+dfsg-5+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfftw3-double3 amd64 3.3.11-1 [713 kB] Fetched 713 kB in 0s (59.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpc58dzho1/libfftw3-double3_3.3.11-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 zlib1g-dev amd64 1:1.3.dfsg+really1.3.2-3 [918 kB] Fetched 918 kB in 0s (64.2 MB/s) dpkg-name: info: moved 'zlib1g-dev_1%3a1.3.dfsg+really1.3.2-3_amd64.deb' to '/srv/rebuilderd/tmp/tmpr8b48i4a/zlib1g-dev_1.3.dfsg+really1.3.2-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gcc-15-base amd64 15.3.0-1 [37.4 kB] Fetched 37.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqu2c8pzi/gcc-15-base_15.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp9dvtfnh9/libdata-dpath-perl_0.60-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libnettle8t64 amd64 3.10.2-1+b1 [305 kB] Fetched 305 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpie_2bme0/libnettle8t64_3.10.2-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp1ajiim2i/libipc-run3-perl_0.049-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtoml-tiny-perl all 0.22-1 [23.2 kB] Fetched 23.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp571qpy9s/libtoml-tiny-perl_0.22-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libasan8 amd64 16.1.0-2 [2889 kB] Fetched 2889 kB in 0s (111 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmps720pf3v/libasan8_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libconfig-model-backend-yaml-perl all 2.134-2 [10.8 kB] Fetched 10.8 kB in 0s (1005 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpza9anhr1/libconfig-model-backend-yaml-perl_2.134-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libstdc++6 amd64 16.1.0-2 [822 kB] Fetched 822 kB in 0s (70.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7lid54c2/libstdc++6_16.1.0-2_amd64.deb' Downloading dependency 1 of 690: libio-socket-ssl-perl:amd64=2.099-1 Downloading dependency 2 of 690: libjson-perl:amd64=4.10000-1 Downloading dependency 3 of 690: libxcb1-dev:amd64=1.17.0-2+b2 Downloading dependency 4 of 690: po-debconf:amd64=1.0.22 Downloading dependency 5 of 690: perl-openssl-defaults:amd64=7+b2 Downloading dependency 6 of 690: libedit2:amd64=3.1-20260512-1 Downloading dependency 7 of 690: libsub-name-perl:amd64=0.28-1+b2 Downloading dependency 8 of 690: libidn2-dev:amd64=2.3.8-5 Downloading dependency 9 of 690: libxpm4:amd64=1:3.5.19-1 Downloading dependency 10 of 690: libclass-inspector-perl:amd64=1.36-3 Downloading dependency 11 of 690: krb5-multidev:amd64=1.22.1-3 Downloading dependency 12 of 690: libfyaml0:amd64=0.9.4-1 Downloading dependency 13 of 690: libclass-load-perl:amd64=0.25-2 Downloading dependency 14 of 690: libsub-exporter-progressive-perl:amd64=0.001013-3 Downloading dependency 15 of 690: gfortran-x86-64-linux-gnu:amd64=4:15.2.0-5+b1 Downloading dependency 16 of 690: libicu78:amd64=78.3-2 Downloading dependency 17 of 690: liblz1:amd64=1.16-1 Downloading dependency 18 of 690: libnghttp3-9:amd64=1.15.0-1 Downloading dependency 19 of 690: libunistring-dev:amd64=1.4.2-1 Downloading dependency 20 of 690: patchutils:amd64=0.4.5-1 Downloading dependency 21 of 690: libdatetime-format-iso8601-perl:amd64=0.19-1 Downloading dependency 22 of 690: findutils:amd64=4.10.0-4 Downloading dependency 23 of 690: libgmp10:amd64=2:6.3.0+dfsg-5+b2 Downloading dependency 24 of 690: libsframe3:amd64=2.46.50.20260617-1 Downloading dependency 25 of 690: libdata-validate-ip-perl:amd64=0.31-1 Downloading dependency 26 of 690: linux-libc-dev:amd64=7.1.3-1 Downloading dependency 27 of 690: libts0t64:amd64=1.22-1.1+b2 Downloading dependency 28 of 690: pkgconf-bin:amd64=2.5.1-4 Downloading dependency 29 of 690: libduktape207:amd64=2.7.0-2+b3 Downloading dependency 30 of 690: binutils:amd64=2.46.50.20260617-1 Downloading dependency 31 of 690: liblist-someutils-perl:amd64=0.59-1 Downloading dependency 32 of 690: g++-15-x86-64-linux-gnu:amd64=15.3.0-1 Downloading dependency 33 of 690: liblsan0:amd64=16.1.0-2 Downloading dependency 34 of 690: libfile-basedir-perl:amd64=0.09-2 Downloading dependency 35 of 690: libstrictures-perl:amd64=2.000006-1 Downloading dependency 36 of 690: cme:amd64=1.049-1 Downloading dependency 37 of 690: debconf:amd64=1.5.92 Downloading dependency 38 of 690: libcapture-tiny-perl:amd64=0.50-1 Downloading dependency 39 of 690: libmarkdown2:amd64=2.2.7-2.1+b2 Downloading dependency 40 of 690: libxcb-xkb1:amd64=1.17.0-2+b2 Downloading dependency 41 of 690: libsafe-isa-perl:amd64=1.000010-1 Downloading dependency 42 of 690: libmro-compat-perl:amd64=0.15-2 Downloading dependency 43 of 690: libppix-utils-perl:amd64=0.003-2 Downloading dependency 44 of 690: ca-certificates:amd64=20260601 Downloading dependency 45 of 690: libb-hooks-endofscope-perl:amd64=0.28-2 Downloading dependency 46 of 690: texinfo:amd64=7.3-2 Downloading dependency 47 of 690: x11proto-dev:amd64=2025.1-1 Downloading dependency 48 of 690: liblist-utilsby-perl:amd64=0.12-2 Downloading dependency 49 of 690: gfortran-15:amd64=15.3.0-1 Downloading dependency 50 of 690: m4:amd64=1.4.21-1 Downloading dependency 51 of 690: libngtcp2-dev:amd64=1.22.1-1 Downloading dependency 52 of 690: libterm-readkey-perl:amd64=2.38-2+b4 Downloading dependency 53 of 690: libppi-perl:amd64=1.291-1 Downloading dependency 54 of 690: libssl3t64:amd64=3.6.3-1 Downloading dependency 55 of 690: libconvert-binhex-perl:amd64=1.125-3 Downloading dependency 56 of 690: libppix-quotelike-perl:amd64=0.024-1 Downloading dependency 57 of 690: libregexp-wildcards-perl:amd64=1.05-3 Downloading dependency 58 of 690: libkrb5-dev:amd64=1.22.1-3 Downloading dependency 59 of 690: libfftw3-dev:amd64=3.3.11-1 Downloading dependency 60 of 690: libc6:amd64=2.42-17 Downloading dependency 61 of 690: libunistring5:amd64=1.4.2-1 Downloading dependency 62 of 690: libaudit1:amd64=1:4.1.2-1+b1 Downloading dependency 63 of 690: libtsan2:amd64=16.1.0-2 Downloading dependency 64 of 690: perltidy:amd64=20250105-1 Downloading dependency 65 of 690: libfile-libmagic-perl:amd64=1.23-2+b2 Downloading dependency 66 of 690: cpp-x86-64-linux-gnu:amd64=4:15.2.0-5+b1 Downloading dependency 67 of 690: libwayland-cursor0:amd64=1.25.0-2 Downloading dependency 68 of 690: libwww-mechanize-perl:amd64=2.22-1 Downloading dependency 69 of 690: libperlio-gzip-perl:amd64=0.20-1+b4 Downloading dependency 70 of 690: zlib1g:amd64=1:1.3.dfsg+really1.3.2-3 Downloading dependency 71 of 690: bzip2:amd64=1.0.8-6+b2 Downloading dependency 72 of 690: libfile-which-perl:amd64=1.27-2 Downloading dependency 73 of 690: librav1e0.8:amd64=0.8.1-10 Downloading dependency 74 of 690: libcarp-assert-more-perl:amd64=2.9.0-1 Downloading dependency 75 of 690: libcap-ng0:amd64=0.9.3-1+b1 Downloading dependency 76 of 690: libheif-plugin-libde265:amd64=1.23.1-1 Downloading dependency 77 of 690: libreadline-dev:amd64=8.3-4 Downloading dependency 78 of 690: openssl-provider-legacy:amd64=3.6.3-1 Downloading dependency 79 of 690: libwmflite-0.2-7:amd64=0.2.14-1 Downloading dependency 80 of 690: libelf1t64:amd64=0.195-1 Downloading dependency 81 of 690: libwebp7:amd64=1.5.0-0.1+b2 Downloading dependency 82 of 690: libdb5.3t64:amd64=5.3.28+dfsg2-11+b1 Downloading dependency 83 of 690: libmd4c0:amd64=0.5.3-1 Downloading dependency 84 of 690: librtmp1:amd64=2.6-1 Downloading dependency 85 of 690: libtinfo6:amd64=6.6+20260608-2 Downloading dependency 86 of 690: libqt6core6t64:amd64=6.10.2+dfsg-15 Downloading dependency 87 of 690: texinfo-lib:amd64=7.3-2 Downloading dependency 88 of 690: libstring-rewriteprefix-perl:amd64=0.009-1 Downloading dependency 89 of 690: libexception-class-perl:amd64=1.45-1 Downloading dependency 90 of 690: libgomp1:amd64=16.1.0-2 Downloading dependency 91 of 690: libxdmcp-dev:amd64=1:1.1.5-2+b1 Downloading dependency 92 of 690: libxstring-perl:amd64=0.005-2+b5 Downloading dependency 93 of 690: libgd3:amd64=2.3.3-13+b2 Downloading dependency 94 of 690: liblerc4:amd64=4.1.1+ds-1 Downloading dependency 95 of 690: libglx-mesa0:amd64=26.1.4-1 Downloading dependency 96 of 690: man-db:amd64=2.13.1-1 Downloading dependency 97 of 690: cpp-15-x86-64-linux-gnu:amd64=15.3.0-1 Downloading dependency 98 of 690: libgcrypt20:amd64=1.12.2-1 Downloading dependency 99 of 690: libsasl2-modules-db:amd64=2.1.28+dfsg1-11 Downloading dependency 100 of 690: nettle-dev:amd64=3.10.2-1+b1 Downloading dependency 101 of 690: file:amd64=1:5.47-4 Downloading dependency 102 of 690: octave:amd64=11.3.0-1 Downloading dependency 103 of 690: libksba8:amd64=1.8.0-3 Downloading dependency 104 of 690: libngtcp2-crypto-ossl-dev:amd64=1.22.1-1 Downloading dependency 105 of 690: libhdf5-hl-cpp-310:amd64=1.14.6+repack-2+b1 Downloading dependency 106 of 690: libdevel-callchecker-perl:amd64=0.009-3 Downloading dependency 107 of 690: libclone-pp-perl:amd64=1.08-2 Downloading dependency 108 of 690: libsub-uplevel-perl:amd64=0.2800-3 Downloading dependency 109 of 690: libdata-section-perl:amd64=0.200008-1 Downloading dependency 110 of 690: libaec0:amd64=1.1.7-1 Downloading dependency 111 of 690: libgl2ps1.4:amd64=1.4.2+dfsg1-4+b1 Downloading dependency 112 of 690: libpath-tiny-perl:amd64=0.150-1 Downloading dependency 113 of 690: xz-utils:amd64=5.8.3-1 Downloading dependency 114 of 690: libspqr4:amd64=1:7.12.2+dfsg-1 Downloading dependency 115 of 690: libgmpxx4ldbl:amd64=2:6.3.0+dfsg-5+b2 Downloading dependency 116 of 690: libfftw3-double3:amd64=3.3.11-1 Downloading dependency 117 of 690: zlib1g-dev:amd64=1:1.3.dfsg+really1.3.2-3 Downloading dependency 118 of 690: gcc-15-base:amd64=15.3.0-1 Downloading dependency 119 of 690: libdata-dpath-perl:amd64=0.60-1 Downloading dependency 120 of 690: libnettle8t64:amd64=3.10.2-1+b1 Downloading dependency 121 of 690: libipc-run3-perl:amd64=0.049-1 Downloading dependency 122 of 690: libtoml-tiny-perl:amd64=0.22-1 Downloading dependency 123 of 690: libasan8:amd64=16.1.0-2 Downloading dependency 124 of 690: libconfig-model-backend-yaml-perl:amd64=2.134-2 Downloading dependency 125 of 690: libstdc++6:amd64=16.1.0-2 Downloading dependency 126 of 690: libegl-mesa0:amd64=26.1.4-1Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libegl-mesa0 amd64 26.1.4-1 [133 kB] Fetched 133 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpr4_9uon1/libegl-mesa0_26.1.4-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtext-autoformat-perl all 1.750000-2 [35.2 kB] Fetched 35.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpncv3nfx9/libtext-autoformat-perl_1.750000-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmpc3 amd64 1.3.1-3 [52.2 kB] Fetched 52.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptxq1seki/libmpc3_1.3.1-3_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libmpg123-0t64 amd64 1.33.6-1 [154 kB] Fetched 154 kB in 0s (14.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7gnyrkhj/libmpg123-0t64_1.33.6-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6gui6 amd64 6.10.2+dfsg-15 [3307 kB] Fetched 3307 kB in 0s (128 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp64es1arx/libqt6gui6_6.10.2+dfsg-15_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libsmartcols1 amd64 2.42.2-1 [145 kB] Fetched 145 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpj89mlgjp/libsmartcols1_2.42.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libllvm21 amd64 1:21.1.8-7+b4 [28.2 MB] Fetched 28.2 MB in 0s (179 MB/s) dpkg-name: info: moved 'libllvm21_1%3a21.1.8-7+b4_amd64.deb' to '/srv/rebuilderd/tmp/tmppnos3elh/libllvm21_21.1.8-7+b4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcursor1 amd64 1:1.2.3-1+b2 [40.3 kB] Fetched 40.3 kB in 0s (0 B/s) dpkg-name: info: moved 'libxcursor1_1%3a1.2.3-1+b2_amd64.deb' to '/srv/rebuilderd/tmp/tmp26c22sfi/libxcursor1_1.2.3-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmtdev1t64 amd64 1.1.7-1+b2 [23.2 kB] Fetched 23.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4vexujzu/libmtdev1t64_1.1.7-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libproxy1v5 amd64 0.5.12-1+b1 [24.6 kB] Fetched 24.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpt_h85w3m/libproxy1v5_0.5.12-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxinerama1 amd64 2:1.1.4-3+b5 [16.0 kB] Fetched 16.0 kB in 0s (0 B/s) dpkg-name: info: moved 'libxinerama1_2%3a1.1.4-3+b5_amd64.deb' to '/srv/rebuilderd/tmp/tmptqyil18e/libxinerama1_1.1.4-3+b5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 base-passwd amd64 3.6.8 [54.6 kB] Fetched 54.6 kB in 0s (5381 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcc9qpp58/base-passwd_3.6.8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libconst-fast-perl all 0.014-2 [8792 B] Fetched 8792 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9h2iw2zp/libconst-fast-perl_0.014-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdrm-common all 2.4.134-3 [7860 B] Fetched 7860 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpua8f0fd9/libdrm-common_2.4.134-3_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libngtcp2-crypto-ossl0 amd64 1.22.1-1 [23.3 kB] Fetched 23.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpde3uh1w5/libngtcp2-crypto-ossl0_1.22.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgcc-15-dev amd64 15.3.0-1 [2718 kB] Fetched 2718 kB in 0s (124 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdu0yp42a/libgcc-15-dev_15.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libparams-classify-perl amd64 0.015-2+b5 [22.5 kB] Fetched 22.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdfkcsnz0/libparams-classify-perl_0.015-2+b5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgl-dev amd64 1.7.0-3+b1 [99.8 kB] Fetched 99.8 kB in 0s (9359 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp33yfx63t/libgl-dev_1.7.0-3+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libubsan1 amd64 16.1.0-2 [1136 kB] Fetched 1136 kB in 0s (69.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpra8ou4cg/libubsan1_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtext-charwidth-perl amd64 0.04-12 [8996 B] Fetched 8996 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpr_vzqnbn/libtext-charwidth-perl_0.04-12_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libexpat1 amd64 2.8.2-1 [121 kB] Fetched 121 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpapgrisww/libexpat1_2.8.2-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 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/tmp36bxol7q/dh-octave-autopkgtest_1.16.0_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcolamd3 amd64 1:7.12.2+dfsg-1 [42.5 kB] Fetched 42.5 kB in 0s (0 B/s) dpkg-name: info: moved 'libcolamd3_1%3a7.12.2+dfsg-1_amd64.deb' to '/srv/rebuilderd/tmp/tmp4o6qj9yf/libcolamd3_7.12.2+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libio-stringy-perl all 2.113-2 [48.3 kB] Fetched 48.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp37p6emy3/libio-stringy-perl_2.113-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhdf5-cpp-310 amd64 1.14.6+repack-2+b1 [130 kB] Fetched 130 kB in 0s (12.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpguooerzl/libhdf5-cpp-310_1.14.6+repack-2+b1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 bsdextrautils amd64 2.42.2-1 [100.0 kB] Fetched 100.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphz6v58ee/bsdextrautils_2.42.2-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libselinux1 amd64 3.10-1 [85.4 kB] Fetched 85.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6vwwn3ep/libselinux1_3.10-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsoftware-licensemoreutils-perl all 1.009-1 [22.0 kB] Fetched 22.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprdxshdna/libsoftware-licensemoreutils-perl_1.009-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpim30kzvz/libnamespace-clean-perl_0.27-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpcre2-16-0 amd64 10.46-1+b2 [280 kB] Fetched 280 kB in 0s (26.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpam224se3/libpcre2-16-0_10.46-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp481qymd0/libimport-into-perl_1.002005-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsereal-encoder-perl amd64 5.006+ds-1 [104 kB] Fetched 104 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphuc1o6qi/libsereal-encoder-perl_5.006+ds-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 bash amd64 5.3-3 [1559 kB] Fetched 1559 kB in 0s (88.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsefctb12/bash_5.3-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gnuplot-nox amd64 6.0.3+dfsg1-1 [928 kB] Fetched 928 kB in 0s (67.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuxpkubm3/gnuplot-nox_6.0.3+dfsg1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libegl1 amd64 1.7.0-3+b1 [35.0 kB] Fetched 35.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwd_7bm_b/libegl1_1.7.0-3+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libinput-bin amd64 1.31.3-1 [28.0 kB] Fetched 28.0 kB in 0s (2339 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpj771ilhn/libinput-bin_1.31.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libumfpack6 amd64 1:7.12.2+dfsg-1 [298 kB] Fetched 298 kB in 0s (26.1 MB/s) dpkg-name: info: moved 'libumfpack6_1%3a7.12.2+dfsg-1_amd64.deb' to '/srv/rebuilderd/tmp/tmphheubsnv/libumfpack6_7.12.2+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtext-xslate-perl amd64 3.5.9-2+b2 [174 kB] Fetched 174 kB in 0s (11.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfsxlig87/libtext-xslate-perl_3.5.9-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtime-duration-perl all 1.21-2 [13.1 kB] Fetched 13.1 kB in 0s (1063 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxzl58n6a/libtime-duration-perl_1.21-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtasn1-6-dev amd64 4.21.0-2+b1 [98.6 kB] Fetched 98.6 kB in 0s (8441 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprqavd0sv/libtasn1-6-dev_4.21.0-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpod-spell-perl all 1.27-1 [32.0 kB] Fetched 32.0 kB in 0s (2859 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpagyfups5/libpod-spell-perl_1.27-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libjson-maybexs-perl all 1.004008-1 [12.9 kB] Fetched 12.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprpu3b3eu/libjson-maybexs-perl_1.004008-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libltdl7 amd64 2.5.4-11 [416 kB] Fetched 416 kB in 0s (35.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphxaohe7k/libltdl7_2.5.4-11_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcurl3t64-gnutls amd64 8.21.0-2 [17.0 kB] Fetched 17.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpaaa8at_1/libcurl3t64-gnutls_8.21.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgcc-s1 amd64 16.1.0-2 [74.1 kB] Fetched 74.1 kB in 0s (7249 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdz7uywov/libgcc-s1_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmailtools-perl all 2.22-1 [88.8 kB] Fetched 88.8 kB in 0s (8869 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvbm99d97/libmailtools-perl_2.22-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libncurses-dev amd64 6.6+20260608-2 [356 kB] Fetched 356 kB in 0s (34.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpc5v2gd2y/libncurses-dev_6.6+20260608-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 netbase all 6.5 [12.4 kB] Fetched 12.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl3g3vfyz/netbase_6.5_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libparams-validationcompiler-perl all 0.31-1 [30.9 kB] Fetched 30.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1irrf9r4/libparams-validationcompiler-perl_0.31-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 ucf all 3.0056 [47.1 kB] Fetched 47.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzyv5_2uf/ucf_3.0056_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpam0g amd64 1.7.0-8 [66.9 kB] Fetched 66.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp31pyejkw/libpam0g_1.7.0-8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtool all 2.5.4-11 [539 kB] Fetched 539 kB in 0s (45.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv7wa93b6/libtool_2.5.4-11_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdeflate0 amd64 1.25-1 [48.0 kB] Fetched 48.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2trb1pfy/libdeflate0_1.25-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpkgconf7 amd64 2.5.1-4 [47.8 kB] Fetched 47.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbqp24ip2/libpkgconf7_2.5.1-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6printsupport6 amd64 6.10.2+dfsg-15 [217 kB] Fetched 217 kB in 0s (21.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqqiacwng/libqt6printsupport6_6.10.2+dfsg-15_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libqrupdate1 amd64 1.1.5-3+b1 [40.2 kB] Fetched 40.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppzzoudkq/libqrupdate1_1.1.5-3+b1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libuuid1 amd64 2.42.2-1 [33.6 kB] Fetched 33.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpx936_k2a/libuuid1_2.42.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libbsd0 amd64 0.12.2-3 [132 kB] Fetched 132 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdqzaw5jl/libbsd0_0.12.2-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-render0 amd64 1.17.0-2+b2 [115 kB] Fetched 115 kB in 0s (11.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9k7xxxta/libxcb-render0_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 octave-dev amd64 11.3.0-1 [1114 kB] Fetched 1114 kB in 0s (73.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9b75o8zj/octave-dev_11.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-shm0 amd64 1.17.0-2+b2 [105 kB] Fetched 105 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9zimv7rn/libxcb-shm0_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libclass-xsaccessor-perl amd64 1.19-4+b5 [36.1 kB] Fetched 36.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp77oy0yht/libclass-xsaccessor-perl_1.19-4+b5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhtml-form-perl all 6.13-1 [32.6 kB] Fetched 32.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7mel89_i/libhtml-form-perl_6.13-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libavahi-common-data amd64 0.8-18 [113 kB] Fetched 113 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprgmmz47h/libavahi-common-data_0.8-18_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libidn2-0 amd64 2.3.8-5 [109 kB] Fetched 109 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpy9jov0r9/libidn2-0_2.3.8-5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 patch amd64 2.8-2 [134 kB] Fetched 134 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzer7i8_i/patch_2.8-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libglx0 amd64 1.7.0-3+b1 [34.9 kB] Fetched 34.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyhkzl8wh/libglx0_1.7.0-3+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdatetime-locale-perl all 1:1.45-1 [3207 kB] Fetched 3207 kB in 0s (129 MB/s) dpkg-name: info: moved 'libdatetime-locale-perl_1%3a1.45-1_all.deb' to '/srv/rebuilderd/tmp/tmp3a6csmgl/libdatetime-locale-perl_1.45-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgraphicsmagick-q16-3t64 amd64 1.4+really1.3.46-2 [1267 kB] Fetched 1267 kB in 0s (83.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpacif5uqr/libgraphicsmagick-q16-3t64_1.4+really1.3.46-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 rpcsvc-proto amd64 1.4.4-1 [63.4 kB] Fetched 63.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpze6gbqn9/rpcsvc-proto_1.4.4-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gpg amd64 2.4.9-7 [636 kB] Fetched 636 kB in 0s (52.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpee2wy1l1/gpg_2.4.9-7_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libapt-pkg-perl amd64 0.1.43 [68.4 kB] Fetched 68.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo4109sm7/libapt-pkg-perl_0.1.43_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libnamespace-autoclean-perl all 0.31-1 [13.8 kB] Fetched 13.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb92octzx/libnamespace-autoclean-perl_0.31-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblingua-en-inflect-perl all 1.905-2 [52.7 kB] Fetched 52.7 kB in 0s (5039 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpg43lghw0/liblingua-en-inflect-perl_1.905-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libheif-plugin-dav1d amd64 1.23.1-1 [19.8 kB] Fetched 19.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp34n57gyw/libheif-plugin-dav1d_1.23.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxml-sax-perl all 1.02+dfsg-5 [53.6 kB] Fetched 53.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7koqch8q/libxml-sax-perl_1.02+dfsg-5_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpv4258f5k/libfeature-compat-try-perl_0.05-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.15.1-1 [6020 B] Fetched 6020 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpr6tr3oc6/dh-strip-nondeterminism_1.15.1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libblas-dev amd64 3.12.1-8 [219 kB] Fetched 219 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpc1vmpmko/libblas-dev_3.12.1-8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 dash amd64 0.5.12-12 [98.5 kB] Fetched 98.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl_imfvap/dash_0.5.12-12_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgssapi-krb5-2 amd64 1.22.1-3 [137 kB] Fetched 137 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsit5at5h/libgssapi-krb5-2_1.22.1-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6opengl6 amd64 6.10.2+dfsg-15 [415 kB] Fetched 415 kB in 0s (34.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm3ya5bgh/libqt6opengl6_6.10.2+dfsg-15_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libblas3 amd64 3.12.1-8 [206 kB] Fetched 206 kB in 0s (18.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8ejqe6ix/libblas3_3.12.1-8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libldap-dev amd64 2.6.13+dfsg-1 [308 kB] Fetched 308 kB in 0s (27.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp43a2r54h/libldap-dev_2.6.13+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libncursesw6 amd64 6.6+20260608-2 [137 kB] Fetched 137 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpp0w8fktm/libncursesw6_6.6+20260608-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libnet-ssleay-perl amd64 1.96-1 [345 kB] Fetched 345 kB in 0s (31.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpap6re2f5/libnet-ssleay-perl_1.96-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhttp-message-perl all 7.02-1 [79.5 kB] Fetched 79.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpu3k4jy8y/libhttp-message-perl_7.02-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 debhelper all 14.3 [934 kB] Fetched 934 kB in 0s (65.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptxfkc6dp/debhelper_14.3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 tar amd64 1.35+dfsg-4 [817 kB] Fetched 817 kB in 0s (58.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpopobxs5b/tar_1.35+dfsg-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhdf5-fortran-310 amd64 1.14.6+repack-2+b1 [107 kB] Fetched 107 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9ckxx6f0/libhdf5-fortran-310_1.14.6+repack-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhtml-tokeparser-simple-perl all 3.16-4 [39.1 kB] Fetched 39.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0motwdz1/libhtml-tokeparser-simple-perl_3.16-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libclone-choose-perl all 0.010-2 [8676 B] Fetched 8676 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpt9rmfccj/libclone-choose-perl_0.010-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdatetime-format-builder-perl all 0.8300-1 [63.8 kB] Fetched 63.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5pn9bvej/libdatetime-format-builder-perl_0.8300-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp98ijjxf9/libregexp-pattern-perl_0.2.14-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libobject-pad-perl amd64 0.825-1 [140 kB] Fetched 140 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpak_n8lya/libobject-pad-perl_0.825-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxml2-16 amd64 2.15.3+dfsg-1 [642 kB] Fetched 642 kB in 0s (56.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk0jvhonj/libxml2-16_2.15.3+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libaec-dev amd64 1.1.7-1 [25.2 kB] Fetched 25.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3fr5l2um/libaec-dev_1.1.7-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libclass-tiny-perl all 1.008-2 [18.6 kB] Fetched 18.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3yjbivsx/libclass-tiny-perl_1.008-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp01nku97i/libset-intspan-perl_1.19-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsub-install-perl all 0.929-1 [10.5 kB] Fetched 10.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1c6x1thr/libsub-install-perl_0.929-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libzstd-dev amd64 1.5.7+dfsg-3+b2 [372 kB] Fetched 372 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo1lptnpx/libzstd-dev_1.5.7+dfsg-3+b2_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libctf0 amd64 2.46.50.20260617-1 [92.2 kB] Fetched 92.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp94ocuvbi/libctf0_2.46.50.20260617-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpcre2-8-0 amd64 10.46-1+b2 [297 kB] Fetched 297 kB in 0s (26.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpf2u6l9nb/libpcre2-8-0_10.46-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libconfig-model-dpkg-perl all 3.024 [191 kB] Fetched 191 kB in 0s (18.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp57tmrfy0/libconfig-model-dpkg-perl_3.024_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libparams-util-perl amd64 1.102-3+b1 [24.4 kB] Fetched 24.4 kB in 0s (2378 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7lvep9dc/libparams-util-perl_1.102-3+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 g++-x86-64-linux-gnu amd64 4:15.2.0-5+b1 [1204 B] Fetched 1204 B in 0s (0 B/s) dpkg-name: info: moved 'g++-x86-64-linux-gnu_4%3a15.2.0-5+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmp7ydbi8su/g++-x86-64-linux-gnu_15.2.0-5+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-image0 amd64 0.4.0-2+b3 [22.3 kB] Fetched 22.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphye90ld1/libxcb-image0_0.4.0-2+b3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 pkgconf amd64 2.5.1-4 [33.6 kB] Fetched 33.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuvcf6_bq/pkgconf_2.5.1-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp8uc3ncun/libnet-netmask-perl_2.0003-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libclass-c3-perl all 0.35-2 [21.0 kB] Fetched 21.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsgtarv06/libclass-c3-perl_0.35-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp7ym0vl1s/libaudit-common_4.1.2-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libproc2-1 amd64 2:4.0.6-2 [69.2 kB] Fetched 69.2 kB in 0s (0 B/s) dpkg-name: info: moved 'libproc2-1_2%3a4.0.6-2_amd64.deb' to '/srv/rebuilderd/tmp/tmpn3v0upbg/libproc2-1_4.0.6-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblzma5 amd64 5.8.3-1 [332 kB] Fetched 332 kB in 0s (28.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptaz_xc2k/liblzma5_5.8.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libitm1 amd64 16.1.0-2 [26.9 kB] Fetched 26.9 kB in 0s (2405 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpekqq0wyj/libitm1_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfftw3-long3 amd64 3.3.11-1 [313 kB] Fetched 313 kB in 0s (29.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfxexvs60/libfftw3-long3_3.3.11-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libde265-0 amd64 1.1.1-1 [201 kB] Fetched 201 kB in 0s (18.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvwk05hzh/libde265-0_1.1.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdatetime-perl amd64 2:1.65-1+b2 [116 kB] Fetched 116 kB in 0s (11.3 MB/s) dpkg-name: info: moved 'libdatetime-perl_2%3a1.65-1+b2_amd64.deb' to '/srv/rebuilderd/tmp/tmpfia5_u44/libdatetime-perl_1.65-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libasound2t64 amd64 1.2.16.1-1 [397 kB] Fetched 397 kB in 0s (33.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpu6_osr39/libasound2t64_1.2.16.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdpkg-perl all 1.23.7 [669 kB] Fetched 669 kB in 0s (50.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl21svu84/libdpkg-perl_1.23.7_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libportaudio2 amd64 19.7.0-1+b1 [65.0 kB] Fetched 65.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpf664rk79/libportaudio2_19.7.0-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp9o_21hhz/libdata-validate-domain-perl_0.15-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libclone-perl amd64 0.50-1 [21.3 kB] Fetched 21.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1o8kcskx/libclone-perl_0.50-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libseccomp2 amd64 2.6.0-2+b1 [52.2 kB] Fetched 52.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplxx24whl/libseccomp2_2.6.0-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpiwaeyp38/intltool-debian_0.35.0+20060710.6_all.deb' Downloading dependency 127 of 690: libtext-autoformat-perl:amd64=1.750000-2 Downloading dependency 128 of 690: libmpc3:amd64=1.3.1-3 Downloading dependency 129 of 690: libmpg123-0t64:amd64=1.33.6-1 Downloading dependency 130 of 690: libqt6gui6:amd64=6.10.2+dfsg-15 Downloading dependency 131 of 690: libsmartcols1:amd64=2.42.2-1 Downloading dependency 132 of 690: libllvm21:amd64=1:21.1.8-7+b4 Downloading dependency 133 of 690: libxcursor1:amd64=1:1.2.3-1+b2 Downloading dependency 134 of 690: libmtdev1t64:amd64=1.1.7-1+b2 Downloading dependency 135 of 690: libproxy1v5:amd64=0.5.12-1+b1 Downloading dependency 136 of 690: libxinerama1:amd64=2:1.1.4-3+b5 Downloading dependency 137 of 690: base-passwd:amd64=3.6.8 Downloading dependency 138 of 690: libconst-fast-perl:amd64=0.014-2 Downloading dependency 139 of 690: libdrm-common:amd64=2.4.134-3 Downloading dependency 140 of 690: libngtcp2-crypto-ossl0:amd64=1.22.1-1 Downloading dependency 141 of 690: libgcc-15-dev:amd64=15.3.0-1 Downloading dependency 142 of 690: libparams-classify-perl:amd64=0.015-2+b5 Downloading dependency 143 of 690: libgl-dev:amd64=1.7.0-3+b1 Downloading dependency 144 of 690: libubsan1:amd64=16.1.0-2 Downloading dependency 145 of 690: libtext-charwidth-perl:amd64=0.04-12 Downloading dependency 146 of 690: libexpat1:amd64=2.8.2-1 Downloading dependency 147 of 690: dh-octave-autopkgtest:amd64=1.16.0 Downloading dependency 148 of 690: libcolamd3:amd64=1:7.12.2+dfsg-1 Downloading dependency 149 of 690: libio-stringy-perl:amd64=2.113-2 Downloading dependency 150 of 690: libhdf5-cpp-310:amd64=1.14.6+repack-2+b1 Downloading dependency 151 of 690: bsdextrautils:amd64=2.42.2-1 Downloading dependency 152 of 690: libselinux1:amd64=3.10-1 Downloading dependency 153 of 690: libsoftware-licensemoreutils-perl:amd64=1.009-1 Downloading dependency 154 of 690: libnamespace-clean-perl:amd64=0.27-2 Downloading dependency 155 of 690: libpcre2-16-0:amd64=10.46-1+b2 Downloading dependency 156 of 690: libimport-into-perl:amd64=1.002005-2 Downloading dependency 157 of 690: libsereal-encoder-perl:amd64=5.006+ds-1 Downloading dependency 158 of 690: bash:amd64=5.3-3 Downloading dependency 159 of 690: gnuplot-nox:amd64=6.0.3+dfsg1-1 Downloading dependency 160 of 690: libegl1:amd64=1.7.0-3+b1 Downloading dependency 161 of 690: libinput-bin:amd64=1.31.3-1 Downloading dependency 162 of 690: libumfpack6:amd64=1:7.12.2+dfsg-1 Downloading dependency 163 of 690: libtext-xslate-perl:amd64=3.5.9-2+b2 Downloading dependency 164 of 690: libtime-duration-perl:amd64=1.21-2 Downloading dependency 165 of 690: libtasn1-6-dev:amd64=4.21.0-2+b1 Downloading dependency 166 of 690: libpod-spell-perl:amd64=1.27-1 Downloading dependency 167 of 690: libjson-maybexs-perl:amd64=1.004008-1 Downloading dependency 168 of 690: libltdl7:amd64=2.5.4-11 Downloading dependency 169 of 690: libcurl3t64-gnutls:amd64=8.21.0-2 Downloading dependency 170 of 690: libgcc-s1:amd64=16.1.0-2 Downloading dependency 171 of 690: libmailtools-perl:amd64=2.22-1 Downloading dependency 172 of 690: libncurses-dev:amd64=6.6+20260608-2 Downloading dependency 173 of 690: netbase:amd64=6.5 Downloading dependency 174 of 690: libparams-validationcompiler-perl:amd64=0.31-1 Downloading dependency 175 of 690: ucf:amd64=3.0056 Downloading dependency 176 of 690: libpam0g:amd64=1.7.0-8 Downloading dependency 177 of 690: libtool:amd64=2.5.4-11 Downloading dependency 178 of 690: libdeflate0:amd64=1.25-1 Downloading dependency 179 of 690: libpkgconf7:amd64=2.5.1-4 Downloading dependency 180 of 690: libqt6printsupport6:amd64=6.10.2+dfsg-15 Downloading dependency 181 of 690: libqrupdate1:amd64=1.1.5-3+b1 Downloading dependency 182 of 690: libuuid1:amd64=2.42.2-1 Downloading dependency 183 of 690: libbsd0:amd64=0.12.2-3 Downloading dependency 184 of 690: libxcb-render0:amd64=1.17.0-2+b2 Downloading dependency 185 of 690: octave-dev:amd64=11.3.0-1 Downloading dependency 186 of 690: libxcb-shm0:amd64=1.17.0-2+b2 Downloading dependency 187 of 690: libclass-xsaccessor-perl:amd64=1.19-4+b5 Downloading dependency 188 of 690: libhtml-form-perl:amd64=6.13-1 Downloading dependency 189 of 690: libavahi-common-data:amd64=0.8-18 Downloading dependency 190 of 690: libidn2-0:amd64=2.3.8-5 Downloading dependency 191 of 690: patch:amd64=2.8-2 Downloading dependency 192 of 690: libglx0:amd64=1.7.0-3+b1 Downloading dependency 193 of 690: libdatetime-locale-perl:amd64=1:1.45-1 Downloading dependency 194 of 690: libgraphicsmagick-q16-3t64:amd64=1.4+really1.3.46-2 Downloading dependency 195 of 690: rpcsvc-proto:amd64=1.4.4-1 Downloading dependency 196 of 690: gpg:amd64=2.4.9-7 Downloading dependency 197 of 690: libapt-pkg-perl:amd64=0.1.43 Downloading dependency 198 of 690: libnamespace-autoclean-perl:amd64=0.31-1 Downloading dependency 199 of 690: liblingua-en-inflect-perl:amd64=1.905-2 Downloading dependency 200 of 690: libheif-plugin-dav1d:amd64=1.23.1-1 Downloading dependency 201 of 690: libxml-sax-perl:amd64=1.02+dfsg-5 Downloading dependency 202 of 690: libfeature-compat-try-perl:amd64=0.05-1 Downloading dependency 203 of 690: dh-strip-nondeterminism:amd64=1.15.1-1 Downloading dependency 204 of 690: libblas-dev:amd64=3.12.1-8 Downloading dependency 205 of 690: dash:amd64=0.5.12-12 Downloading dependency 206 of 690: libgssapi-krb5-2:amd64=1.22.1-3 Downloading dependency 207 of 690: libqt6opengl6:amd64=6.10.2+dfsg-15 Downloading dependency 208 of 690: libblas3:amd64=3.12.1-8 Downloading dependency 209 of 690: libldap-dev:amd64=2.6.13+dfsg-1 Downloading dependency 210 of 690: libncursesw6:amd64=6.6+20260608-2 Downloading dependency 211 of 690: libnet-ssleay-perl:amd64=1.96-1 Downloading dependency 212 of 690: libhttp-message-perl:amd64=7.02-1 Downloading dependency 213 of 690: debhelper:amd64=14.3 Downloading dependency 214 of 690: tar:amd64=1.35+dfsg-4 Downloading dependency 215 of 690: libhdf5-fortran-310:amd64=1.14.6+repack-2+b1 Downloading dependency 216 of 690: libhtml-tokeparser-simple-perl:amd64=3.16-4 Downloading dependency 217 of 690: libclone-choose-perl:amd64=0.010-2 Downloading dependency 218 of 690: libdatetime-format-builder-perl:amd64=0.8300-1 Downloading dependency 219 of 690: libregexp-pattern-perl:amd64=0.2.14-3 Downloading dependency 220 of 690: libobject-pad-perl:amd64=0.825-1 Downloading dependency 221 of 690: libxml2-16:amd64=2.15.3+dfsg-1 Downloading dependency 222 of 690: libaec-dev:amd64=1.1.7-1 Downloading dependency 223 of 690: libclass-tiny-perl:amd64=1.008-2 Downloading dependency 224 of 690: libset-intspan-perl:amd64=1.19-3 Downloading dependency 225 of 690: libsub-install-perl:amd64=0.929-1 Downloading dependency 226 of 690: libzstd-dev:amd64=1.5.7+dfsg-3+b2 Downloading dependency 227 of 690: libctf0:amd64=2.46.50.20260617-1 Downloading dependency 228 of 690: libpcre2-8-0:amd64=10.46-1+b2 Downloading dependency 229 of 690: libconfig-model-dpkg-perl:amd64=3.024 Downloading dependency 230 of 690: libparams-util-perl:amd64=1.102-3+b1 Downloading dependency 231 of 690: g++-x86-64-linux-gnu:amd64=4:15.2.0-5+b1 Downloading dependency 232 of 690: libxcb-image0:amd64=0.4.0-2+b3 Downloading dependency 233 of 690: pkgconf:amd64=2.5.1-4 Downloading dependency 234 of 690: libnet-netmask-perl:amd64=2.0003-1 Downloading dependency 235 of 690: libclass-c3-perl:amd64=0.35-2 Downloading dependency 236 of 690: libaudit-common:amd64=1:4.1.2-1 Downloading dependency 237 of 690: libproc2-1:amd64=2:4.0.6-2 Downloading dependency 238 of 690: liblzma5:amd64=5.8.3-1 Downloading dependency 239 of 690: libitm1:amd64=16.1.0-2 Downloading dependency 240 of 690: libfftw3-long3:amd64=3.3.11-1 Downloading dependency 241 of 690: libde265-0:amd64=1.1.1-1 Downloading dependency 242 of 690: libdatetime-perl:amd64=2:1.65-1+b2 Downloading dependency 243 of 690: libasound2t64:amd64=1.2.16.1-1 Downloading dependency 244 of 690: libdpkg-perl:amd64=1.23.7 Downloading dependency 245 of 690: libportaudio2:amd64=19.7.0-1+b1 Downloading dependency 246 of 690: libdata-validate-domain-perl:amd64=0.15-1 Downloading dependency 247 of 690: libclone-perl:amd64=0.50-1 Downloading dependency 248 of 690: libseccomp2:amd64=2.6.0-2+b1 Downloading dependency 249 of 690: intltool-debian:amd64=0.35.0+20060710.6 Downloading dependency 250 of 690: libdebhelper-perl:amd64=14.3Get:1 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 14.3 [77.3 kB] Fetched 77.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp90y2jsa1/libdebhelper-perl_14.3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgnutls-dane0t64 amd64 3.8.13-1 [496 kB] Fetched 496 kB in 0s (36.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp__i6n9b1/libgnutls-dane0t64_3.8.13-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libkrb5support0 amd64 1.22.1-3 [31.1 kB] Fetched 31.1 kB in 0s (3078 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfk0ot08u/libkrb5support0_1.22.1-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libnet-http-perl all 6.24-1 [23.2 kB] Fetched 23.2 kB in 0s (2211 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkuu41lg3/libnet-http-perl_6.24-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtry-tiny-perl all 0.32-1 [22.9 kB] Fetched 22.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb3ebzlzg/libtry-tiny-perl_0.32-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libindirect-perl amd64 0.39-2+b4 [27.1 kB] Fetched 27.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2160qtqd/libindirect-perl_0.39-2+b4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxkbcommon-x11-0 amd64 1.13.1-1 [21.0 kB] Fetched 21.0 kB in 0s (2085 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2apqngg1/libxkbcommon-x11-0_1.13.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 perl-modules-5.40 all 5.40.1-8 [3019 kB] Fetched 3019 kB in 0s (110 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmploerjydy/perl-modules-5.40_5.40.1-8_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 shared-mime-info amd64 2.4-5+b3 [758 kB] Fetched 758 kB in 0s (55.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpc01zczjq/shared-mime-info_2.4-5+b3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20240727.1+nmu1 [60.0 kB] Fetched 60.0 kB in 0s (5187 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnyldz419/autotools-dev_20240727.1+nmu1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libncurses6 amd64 6.6+20260608-2 [107 kB] Fetched 107 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5bodevwf/libncurses6_6.6+20260608-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libproc-processtable-perl amd64 0.637-1+b2 [41.7 kB] Fetched 41.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptdwbqahh/libproc-processtable-perl_0.637-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libthai0 amd64 0.1.30-2 [51.8 kB] Fetched 51.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdgqay7h9/libthai0_0.1.30-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpvpuweosf/libfile-listing-perl_6.16-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libevdev2 amd64 1.13.6+dfsg-3 [31.9 kB] Fetched 31.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7mmirdtw/libevdev2_1.13.6+dfsg-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxau-dev amd64 1:1.0.11-1+b2 [23.9 kB] Fetched 23.9 kB in 0s (0 B/s) dpkg-name: info: moved 'libxau-dev_1%3a1.0.11-1+b2_amd64.deb' to '/srv/rebuilderd/tmp/tmp7124_x7b/libxau-dev_1.0.11-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libyuv0 amd64 0.0.1949.20260706-1 [177 kB] Fetched 177 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmposbkmp75/libyuv0_0.0.1949.20260706-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libx11-xcb1 amd64 2:1.8.13-1 [250 kB] Fetched 250 kB in 0s (23.3 MB/s) dpkg-name: info: moved 'libx11-xcb1_2%3a1.8.13-1_amd64.deb' to '/srv/rebuilderd/tmp/tmpzef870n_/libx11-xcb1_1.8.13-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gcc-16-base amd64 16.1.0-2 [36.8 kB] Fetched 36.8 kB in 0s (3601 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpq75wqvu3/gcc-16-base_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libc-dev-bin amd64 2.42-17 [38.1 kB] Fetched 38.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_ibcvb0_/libc-dev-bin_2.42-17_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6network6 amd64 6.10.2+dfsg-15 [811 kB] Fetched 811 kB in 0s (62.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptzv_nmrg/libqt6network6_6.10.2+dfsg-15_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtasn1-6 amd64 4.21.0-2+b1 [49.3 kB] Fetched 49.3 kB in 0s (4043 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpos4d00ku/libtasn1-6_4.21.0-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libaom3 amd64 3.13.1-2+b1 [1904 kB] Fetched 1904 kB in 0s (107 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgnm0c_2y/libaom3_3.13.1-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libb-keywords-perl all 1.29-1 [12.5 kB] Fetched 12.5 kB in 0s (1135 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkajtojbf/libb-keywords-perl_1.29-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 dwz amd64 0.16-4 [108 kB] Fetched 108 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpaqhn7svq/dwz_0.16-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libquadmath0 amd64 16.1.0-2 [148 kB] Fetched 148 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp17oylrry/libquadmath0_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-present0 amd64 1.17.0-2+b2 [106 kB] Fetched 106 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbesn32wr/libxcb-present0_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libvorbis0a amd64 1.3.7-3+b2 [93.2 kB] Fetched 93.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppzjye_u1/libvorbis0a_1.3.7-3+b2_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 binutils-common amd64 2.46.50.20260617-1 [2636 kB] Fetched 2636 kB in 0s (128 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdn9snnml/binutils-common_2.46.50.20260617-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 diffutils amd64 1:3.12-1 [405 kB] Fetched 405 kB in 0s (39.9 MB/s) dpkg-name: info: moved 'diffutils_1%3a3.12-1_amd64.deb' to '/srv/rebuilderd/tmp/tmpz5zcra1b/diffutils_3.12-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libp11-kit0 amd64 0.26.4-1 [471 kB] Fetched 471 kB in 0s (45.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzlpkaz7k/libp11-kit0_0.26.4-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxrender1 amd64 1:0.9.12-1+b2 [27.7 kB] Fetched 27.7 kB in 0s (0 B/s) dpkg-name: info: moved 'libxrender1_1%3a0.9.12-1+b2_amd64.deb' to '/srv/rebuilderd/tmp/tmpjm5uqgbq/libxrender1_0.9.12-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsoftware-copyright-perl all 0.015-1 [15.5 kB] Fetched 15.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwm_t9ejn/libsoftware-copyright-perl_0.015-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libnumber-compare-perl all 0.03-3 [6332 B] Fetched 6332 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2zkcaxw_/libnumber-compare-perl_0.03-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 x11-common all 1:7.7+26 [217 kB] Fetched 217 kB in 0s (0 B/s) dpkg-name: info: moved 'x11-common_1%3a7.7+26_all.deb' to '/srv/rebuilderd/tmp/tmpso6w_2fm/x11-common_7.7+26_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpam-runtime all 1.7.0-8 [246 kB] Fetched 246 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphie5p0hf/libpam-runtime_1.7.0-8_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsvtav1enc4 amd64 4.1.0+dfsg-1 [2414 kB] Fetched 2414 kB in 0s (121 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5xi4p4iz/libsvtav1enc4_4.1.0+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxml-libxml-perl amd64 2.0207+dfsg+really+2.0134-8 [313 kB] Fetched 313 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuemwiu44/libxml-libxml-perl_2.0207+dfsg+really+2.0134-8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgraphicsmagick++-q16-12t64 amd64 1.4+really1.3.46-2 [128 kB] Fetched 128 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjqcz87mc/libgraphicsmagick++-q16-12t64_1.4+really1.3.46-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfreetype6 amd64 2.14.3+dfsg-1 [493 kB] Fetched 493 kB in 0s (46.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcqdbf6hk/libfreetype6_2.14.3+dfsg-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 lintian all 2.137.1 [1024 kB] Fetched 1024 kB in 0s (82.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmputipfa5y/lintian_2.137.1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libppix-regexp-perl all 0.092-1 [245 kB] Fetched 245 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuh3otc5x/libppix-regexp-perl_0.092-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 sysvinit-utils amd64 3.18-1 [29.7 kB] Fetched 29.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpixr9mzds/sysvinit-utils_3.18-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-randr0 amd64 1.17.0-2+b2 [117 kB] Fetched 117 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0jm_iikf/libxcb-randr0_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 octave-common all 11.3.0-1 [6779 kB] Fetched 6779 kB in 0s (149 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpos3g6kdq/octave-common_11.3.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp1bqw71nb/liblog-any-adapter-screen-perl_0.141-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhdf5-dev amd64 1.14.6+repack-2+b1 [3196 kB] Fetched 3196 kB in 0s (136 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_b2jtpl0/libhdf5-dev_1.14.6+repack-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libparams-validate-perl amd64 1.31-2+b4 [63.3 kB] Fetched 63.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6m6z_1su/libparams-validate-perl_1.31-2+b4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgdbm6t64 amd64 1.26-1+b2 [77.7 kB] Fetched 77.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4kqwvb1j/libgdbm6t64_1.26-1+b2_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libnghttp3-dev amd64 1.15.0-1 [94.5 kB] Fetched 94.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp77c6l7z8/libnghttp3-dev_1.15.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libkadm5clnt-mit12 amd64 1.22.1-3 [40.3 kB] Fetched 40.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp__6h70hn/libkadm5clnt-mit12_1.22.1-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libacl1 amd64 2.4.0-1 [37.1 kB] Fetched 37.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppbuh7vqe/libacl1_2.4.0-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libgl1-mesa-dri amd64 26.1.4-1 [44.5 kB] Fetched 44.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9gspc2o9/libgl1-mesa-dri_26.1.4-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsamplerate0 amd64 0.2.2-4+b3 [954 kB] Fetched 954 kB in 0s (72.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcsng_vu_/libsamplerate0_0.2.2-4+b3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp4u0t2a9g/liblwp-protocol-https-perl_6.15-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libvariable-magic-perl amd64 0.64-1+b1 [44.9 kB] Fetched 44.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpajbvu0ly/libvariable-magic-perl_0.64-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libglib2.0-0t64 amd64 2.88.2-1 [1536 kB] Fetched 1536 kB in 0s (101 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpz5c5ttmg/libglib2.0-0t64_2.88.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gpgconf amd64 2.4.9-7 [126 kB] Fetched 126 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgddvaioq/gpgconf_2.4.9-7_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libpsl-dev amd64 0.22.0-1 [29.8 kB] Fetched 29.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2bc9zi5a/libpsl-dev_0.22.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libc6-dev amd64 2.42-17 [1991 kB] Fetched 1991 kB in 0s (106 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpg1ovosoh/libc6-dev_2.42-17_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhwasan0 amd64 16.1.0-2 [1580 kB] Fetched 1580 kB in 0s (103 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpeorbs9w5/libhwasan0_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblcms2-2 amd64 2.19.1-1 [164 kB] Fetched 164 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyzw9uz4z/liblcms2-2_2.19.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 openssl amd64 3.6.3-1 [1522 kB] Fetched 1522 kB in 0s (97.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpot2pcc__/openssl_3.6.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6core5compat6 amd64 6.10.2-3 [139 kB] Fetched 139 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3715h2_g/libqt6core5compat6_6.10.2-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsharpyuv0 amd64 1.5.0-0.1+b2 [115 kB] Fetched 115 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv00xi1ke/libsharpyuv0_1.5.0-0.1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 perl amd64 5.40.1-8 [264 kB] Fetched 264 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpp_u1lt_1/perl_5.40.1-8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhtml-tree-perl all 5.07-3 [211 kB] Fetched 211 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_orpprzi/libhtml-tree-perl_5.07-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libccolamd3 amd64 1:7.12.2+dfsg-1 [49.4 kB] Fetched 49.4 kB in 0s (0 B/s) dpkg-name: info: moved 'libccolamd3_1%3a7.12.2+dfsg-1_amd64.deb' to '/srv/rebuilderd/tmp/tmpi9dpe_t_/libccolamd3_7.12.2+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgfortran-15-dev amd64 15.3.0-1 [877 kB] Fetched 877 kB in 0s (73.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppz406pl4/libgfortran-15-dev_15.3.0-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libbinutils amd64 2.46.50.20260617-1 [536 kB] Fetched 536 kB in 0s (50.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp89qem7y1/libbinutils_2.46.50.20260617-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-icccm4 amd64 0.4.2-1+b2 [27.7 kB] Fetched 27.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsi_chck0/libxcb-icccm4_0.4.2-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-sync1 amd64 1.17.0-2+b2 [109 kB] Fetched 109 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxw88jfnq/libxcb-sync1_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsz2 amd64 1.1.7-1 [18.7 kB] Fetched 18.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxctafcrx/libsz2_1.1.7-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libvulkan1 amd64 1.4.341.0-1 [141 kB] Fetched 141 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpx0qpq4hy/libvulkan1_1.4.341.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhogweed6t64 amd64 3.10.2-1+b1 [335 kB] Fetched 335 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppvdsu04r/libhogweed6t64_3.10.2-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 librtmp-dev amd64 2.6-1 [69.7 kB] Fetched 69.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyde4629c/librtmp-dev_2.6-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 aglfn all 1.7+git20191031.4036a9c-2 [30.5 kB] Fetched 30.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpa8a6km8_/aglfn_1.7+git20191031.4036a9c-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libspecio-perl all 0.53-1 [134 kB] Fetched 134 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpss4u2ro0/libspecio-perl_0.53-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libstring-copyright-perl all 0.003014-1 [23.4 kB] Fetched 23.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0qx49e1k/libstring-copyright-perl_0.003014-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtime-moment-perl amd64 0.46-1 [78.2 kB] Fetched 78.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpayf25cz3/libtime-moment-perl_0.46-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqscintilla2-qt6-15 amd64 2.14.1+dfsg-3 [1183 kB] Fetched 1183 kB in 0s (76.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_xy1yj8h/libqscintilla2-qt6-15_2.14.1+dfsg-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcom-err2 amd64 1.47.4-1 [19.2 kB] Fetched 19.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwzxq6lem/libcom-err2_1.47.4-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gettext amd64 1.0-3 [2658 kB] Fetched 2658 kB in 0s (126 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpp2b_nl00/gettext_1.0-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libemail-address-xs-perl amd64 1.05-1+b4 [29.4 kB] Fetched 29.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwlha2hen/libemail-address-xs-perl_1.05-1+b4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsort-versions-perl all 1.62-3 [8928 B] Fetched 8928 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7pgvugtv/libsort-versions-perl_1.62-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libwebpmux3 amd64 1.5.0-0.1+b2 [126 kB] Fetched 126 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo6ov9w8w/libwebpmux3_1.5.0-0.1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libjansson4 amd64 2.15.1-1 [65.6 kB] Fetched 65.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9f9iplgf/libjansson4_2.15.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libparse-debcontrol-perl all 2.005-6 [21.6 kB] Fetched 21.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb0d213oy/libparse-debcontrol-perl_2.005-6_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp_zxqrsks/libclass-method-modifiers-perl_2.15-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libgprofng0 amd64 2.46.50.20260617-1 [821 kB] Fetched 821 kB in 0s (70.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8jm41fqe/libgprofng0_2.46.50.20260617-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6sql6 amd64 6.10.2+dfsg-15 [145 kB] Fetched 145 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpd792v3hj/libqt6sql6_6.10.2+dfsg-15_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6dbus6 amd64 6.10.2+dfsg-15 [272 kB] Fetched 272 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpire2oy3d/libqt6dbus6_6.10.2+dfsg-15_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtext-levenshtein-damerau-perl all 0.41-3 [12.3 kB] Fetched 12.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptxoiiqak/libtext-levenshtein-damerau-perl_0.41-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-util1 amd64 0.4.1-1+b2 [23.8 kB] Fetched 23.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2kl46thd/libxcb-util1_0.4.1-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp3nk7upcc/libreadonly-perl_2.050-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6openglwidgets6 amd64 6.10.2+dfsg-15 [47.2 kB] Fetched 47.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkcqs00z9/libqt6openglwidgets6_6.10.2+dfsg-15_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblz4-1 amd64 1.10.0-10 [70.3 kB] Fetched 70.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjlns0z33/liblz4-1_1.10.0-10_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libreadline8t64 amd64 8.3-4 [181 kB] Fetched 181 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbr11826e/libreadline8t64_8.3-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libwayland-egl1 amd64 1.25.0-2 [5604 B] Fetched 5604 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptulwnzwc/libwayland-egl1_1.25.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxdmcp6 amd64 1:1.1.5-2+b1 [28.2 kB] Fetched 28.2 kB in 0s (0 B/s) dpkg-name: info: moved 'libxdmcp6_1%3a1.1.5-2+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmpxpvqtdyh/libxdmcp6_1.1.5-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxxf86vm1 amd64 1:1.1.4-2+b1 [20.2 kB] Fetched 20.2 kB in 0s (0 B/s) dpkg-name: info: moved 'libxxf86vm1_1%3a1.1.4-2+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmpilsj1go5/libxxf86vm1_1.1.4-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 g++-15 amd64 15.3.0-1 [28.7 kB] Fetched 28.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppns_w0br/g++-15_15.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 mawk amd64 1.3.4.20260302-1 [142 kB] Fetched 142 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpffe4co5f/mawk_1.3.4.20260302-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp3bhfmu_z/libaliased-perl_0.34-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libeval-closure-perl all 0.14-3 [11.2 kB] Fetched 11.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpt13jo84i/libeval-closure-perl_0.14-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-render-util0 amd64 0.3.10-1+b2 [18.7 kB] Fetched 18.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvor592w3/libxcb-render-util0_0.3.10-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 lzop amd64 1.04-2 [84.2 kB] Fetched 84.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpknuychrf/lzop_1.04-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libnet-smtp-ssl-perl all 1.04-2 [6548 B] Fetched 6548 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpr9wdrrnh/libnet-smtp-ssl-perl_1.04-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Fetched 10.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpndp4ig6t/libalgorithm-c3-perl_0.11-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libarpack2t64 amd64 3.9.1-6+b2 [105 kB] Fetched 105 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpif116kqv/libarpack2t64_3.9.1-6+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmd0 amd64 1.2.0-2 [43.2 kB] Fetched 43.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2bok8wv9/libmd0_1.2.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgudev-1.0-0 amd64 238-7+b2 [14.4 kB] Fetched 14.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpht94xacr/libgudev-1.0-0_238-7+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libkrb5-3 amd64 1.22.1-3 [335 kB] Fetched 335 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfz_jyeom/libkrb5-3_1.22.1-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtext-wrapi18n-perl all 0.06-11 [7788 B] Fetched 7788 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkj30i8g0/libtext-wrapi18n-perl_0.06-11_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcamd3 amd64 1:7.12.2+dfsg-1 [47.5 kB] Fetched 47.5 kB in 0s (0 B/s) dpkg-name: info: moved 'libcamd3_1%3a7.12.2+dfsg-1_amd64.deb' to '/srv/rebuilderd/tmp/tmpj9jqrwg7/libcamd3_7.12.2+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libbrotli-dev amd64 1.2.0-3 [324 kB] Fetched 324 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8w8ndgoj/libbrotli-dev_1.2.0-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmime-tools-perl all 5.517-1 [204 kB] Fetched 204 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzt9rpfd9/libmime-tools-perl_5.517-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 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/tmpr1xkleqr/dh-octave_1.16.0_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmoo-perl all 2.005005-1 [58.0 kB] Fetched 58.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpralr2ukm/libmoo-perl_2.005005-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libwacom-common all 2.18.0-1 [117 kB] Fetched 117 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcm6uzsr0/libwacom-common_2.18.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhwy1t64 amd64 1.3.0-2+b1 [707 kB] Fetched 707 kB in 0s (56.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdftc4ek9/libhwy1t64_1.3.0-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblapack-dev amd64 3.12.1-8 [5230 kB] Fetched 5230 kB in 0s (143 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpg6ku5kf9/liblapack-dev_3.12.1-8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libiterator-util-perl all 0.02+ds1-2 [14.0 kB] Fetched 14.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsp6zbqij/libiterator-util-perl_0.02+ds1-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpod-pom-perl all 2.01-4 [65.0 kB] Fetched 65.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3nrgfyxc/libpod-pom-perl_2.01-4_all.deb' Downloading dependency 251 of 690: libgnutls-dane0t64:amd64=3.8.13-1 Downloading dependency 252 of 690: libkrb5support0:amd64=1.22.1-3 Downloading dependency 253 of 690: libnet-http-perl:amd64=6.24-1 Downloading dependency 254 of 690: libtry-tiny-perl:amd64=0.32-1 Downloading dependency 255 of 690: libindirect-perl:amd64=0.39-2+b4 Downloading dependency 256 of 690: libxkbcommon-x11-0:amd64=1.13.1-1 Downloading dependency 257 of 690: perl-modules-5.40:amd64=5.40.1-8 Downloading dependency 258 of 690: shared-mime-info:amd64=2.4-5+b3 Downloading dependency 259 of 690: autotools-dev:amd64=20240727.1+nmu1 Downloading dependency 260 of 690: libncurses6:amd64=6.6+20260608-2 Downloading dependency 261 of 690: libproc-processtable-perl:amd64=0.637-1+b2 Downloading dependency 262 of 690: libthai0:amd64=0.1.30-2 Downloading dependency 263 of 690: libfile-listing-perl:amd64=6.16-1 Downloading dependency 264 of 690: libevdev2:amd64=1.13.6+dfsg-3 Downloading dependency 265 of 690: libxau-dev:amd64=1:1.0.11-1+b2 Downloading dependency 266 of 690: libyuv0:amd64=0.0.1949.20260706-1 Downloading dependency 267 of 690: libx11-xcb1:amd64=2:1.8.13-1 Downloading dependency 268 of 690: gcc-16-base:amd64=16.1.0-2 Downloading dependency 269 of 690: libc-dev-bin:amd64=2.42-17 Downloading dependency 270 of 690: libqt6network6:amd64=6.10.2+dfsg-15 Downloading dependency 271 of 690: libtasn1-6:amd64=4.21.0-2+b1 Downloading dependency 272 of 690: libaom3:amd64=3.13.1-2+b1 Downloading dependency 273 of 690: libb-keywords-perl:amd64=1.29-1 Downloading dependency 274 of 690: dwz:amd64=0.16-4 Downloading dependency 275 of 690: libquadmath0:amd64=16.1.0-2 Downloading dependency 276 of 690: libxcb-present0:amd64=1.17.0-2+b2 Downloading dependency 277 of 690: libvorbis0a:amd64=1.3.7-3+b2 Downloading dependency 278 of 690: binutils-common:amd64=2.46.50.20260617-1 Downloading dependency 279 of 690: diffutils:amd64=1:3.12-1 Downloading dependency 280 of 690: libp11-kit0:amd64=0.26.4-1 Downloading dependency 281 of 690: libxrender1:amd64=1:0.9.12-1+b2 Downloading dependency 282 of 690: libsoftware-copyright-perl:amd64=0.015-1 Downloading dependency 283 of 690: libnumber-compare-perl:amd64=0.03-3 Downloading dependency 284 of 690: x11-common:amd64=1:7.7+26 Downloading dependency 285 of 690: libpam-runtime:amd64=1.7.0-8 Downloading dependency 286 of 690: libsvtav1enc4:amd64=4.1.0+dfsg-1 Downloading dependency 287 of 690: libxml-libxml-perl:amd64=2.0207+dfsg+really+2.0134-8 Downloading dependency 288 of 690: libgraphicsmagick++-q16-12t64:amd64=1.4+really1.3.46-2 Downloading dependency 289 of 690: libfreetype6:amd64=2.14.3+dfsg-1 Downloading dependency 290 of 690: lintian:amd64=2.137.1 Downloading dependency 291 of 690: libppix-regexp-perl:amd64=0.092-1 Downloading dependency 292 of 690: sysvinit-utils:amd64=3.18-1 Downloading dependency 293 of 690: libxcb-randr0:amd64=1.17.0-2+b2 Downloading dependency 294 of 690: octave-common:amd64=11.3.0-1 Downloading dependency 295 of 690: liblog-any-adapter-screen-perl:amd64=0.141-2 Downloading dependency 296 of 690: libhdf5-dev:amd64=1.14.6+repack-2+b1 Downloading dependency 297 of 690: libparams-validate-perl:amd64=1.31-2+b4 Downloading dependency 298 of 690: libgdbm6t64:amd64=1.26-1+b2 Downloading dependency 299 of 690: libnghttp3-dev:amd64=1.15.0-1 Downloading dependency 300 of 690: libkadm5clnt-mit12:amd64=1.22.1-3 Downloading dependency 301 of 690: libacl1:amd64=2.4.0-1 Downloading dependency 302 of 690: libgl1-mesa-dri:amd64=26.1.4-1 Downloading dependency 303 of 690: libsamplerate0:amd64=0.2.2-4+b3 Downloading dependency 304 of 690: liblwp-protocol-https-perl:amd64=6.15-1 Downloading dependency 305 of 690: libvariable-magic-perl:amd64=0.64-1+b1 Downloading dependency 306 of 690: libglib2.0-0t64:amd64=2.88.2-1 Downloading dependency 307 of 690: gpgconf:amd64=2.4.9-7 Downloading dependency 308 of 690: libpsl-dev:amd64=0.22.0-1 Downloading dependency 309 of 690: libc6-dev:amd64=2.42-17 Downloading dependency 310 of 690: libhwasan0:amd64=16.1.0-2 Downloading dependency 311 of 690: liblcms2-2:amd64=2.19.1-1 Downloading dependency 312 of 690: openssl:amd64=3.6.3-1 Downloading dependency 313 of 690: libqt6core5compat6:amd64=6.10.2-3 Downloading dependency 314 of 690: libsharpyuv0:amd64=1.5.0-0.1+b2 Downloading dependency 315 of 690: perl:amd64=5.40.1-8 Downloading dependency 316 of 690: libhtml-tree-perl:amd64=5.07-3 Downloading dependency 317 of 690: libccolamd3:amd64=1:7.12.2+dfsg-1 Downloading dependency 318 of 690: libgfortran-15-dev:amd64=15.3.0-1 Downloading dependency 319 of 690: libbinutils:amd64=2.46.50.20260617-1 Downloading dependency 320 of 690: libxcb-icccm4:amd64=0.4.2-1+b2 Downloading dependency 321 of 690: libxcb-sync1:amd64=1.17.0-2+b2 Downloading dependency 322 of 690: libsz2:amd64=1.1.7-1 Downloading dependency 323 of 690: libvulkan1:amd64=1.4.341.0-1 Downloading dependency 324 of 690: libhogweed6t64:amd64=3.10.2-1+b1 Downloading dependency 325 of 690: librtmp-dev:amd64=2.6-1 Downloading dependency 326 of 690: aglfn:amd64=1.7+git20191031.4036a9c-2 Downloading dependency 327 of 690: libspecio-perl:amd64=0.53-1 Downloading dependency 328 of 690: libstring-copyright-perl:amd64=0.003014-1 Downloading dependency 329 of 690: libtime-moment-perl:amd64=0.46-1 Downloading dependency 330 of 690: libqscintilla2-qt6-15:amd64=2.14.1+dfsg-3 Downloading dependency 331 of 690: libcom-err2:amd64=1.47.4-1 Downloading dependency 332 of 690: gettext:amd64=1.0-3 Downloading dependency 333 of 690: libemail-address-xs-perl:amd64=1.05-1+b4 Downloading dependency 334 of 690: libsort-versions-perl:amd64=1.62-3 Downloading dependency 335 of 690: libwebpmux3:amd64=1.5.0-0.1+b2 Downloading dependency 336 of 690: libjansson4:amd64=2.15.1-1 Downloading dependency 337 of 690: libparse-debcontrol-perl:amd64=2.005-6 Downloading dependency 338 of 690: libclass-method-modifiers-perl:amd64=2.15-1 Downloading dependency 339 of 690: libgprofng0:amd64=2.46.50.20260617-1 Downloading dependency 340 of 690: libqt6sql6:amd64=6.10.2+dfsg-15 Downloading dependency 341 of 690: libqt6dbus6:amd64=6.10.2+dfsg-15 Downloading dependency 342 of 690: libtext-levenshtein-damerau-perl:amd64=0.41-3 Downloading dependency 343 of 690: libxcb-util1:amd64=0.4.1-1+b2 Downloading dependency 344 of 690: libreadonly-perl:amd64=2.050-3 Downloading dependency 345 of 690: libqt6openglwidgets6:amd64=6.10.2+dfsg-15 Downloading dependency 346 of 690: liblz4-1:amd64=1.10.0-10 Downloading dependency 347 of 690: libreadline8t64:amd64=8.3-4 Downloading dependency 348 of 690: libwayland-egl1:amd64=1.25.0-2 Downloading dependency 349 of 690: libxdmcp6:amd64=1:1.1.5-2+b1 Downloading dependency 350 of 690: libxxf86vm1:amd64=1:1.1.4-2+b1 Downloading dependency 351 of 690: g++-15:amd64=15.3.0-1 Downloading dependency 352 of 690: mawk:amd64=1.3.4.20260302-1 Downloading dependency 353 of 690: libaliased-perl:amd64=0.34-3 Downloading dependency 354 of 690: libeval-closure-perl:amd64=0.14-3 Downloading dependency 355 of 690: libxcb-render-util0:amd64=0.3.10-1+b2 Downloading dependency 356 of 690: lzop:amd64=1.04-2 Downloading dependency 357 of 690: libnet-smtp-ssl-perl:amd64=1.04-2 Downloading dependency 358 of 690: libalgorithm-c3-perl:amd64=0.11-2 Downloading dependency 359 of 690: libarpack2t64:amd64=3.9.1-6+b2 Downloading dependency 360 of 690: libmd0:amd64=1.2.0-2 Downloading dependency 361 of 690: libgudev-1.0-0:amd64=238-7+b2 Downloading dependency 362 of 690: libkrb5-3:amd64=1.22.1-3 Downloading dependency 363 of 690: libtext-wrapi18n-perl:amd64=0.06-11 Downloading dependency 364 of 690: libcamd3:amd64=1:7.12.2+dfsg-1 Downloading dependency 365 of 690: libbrotli-dev:amd64=1.2.0-3 Downloading dependency 366 of 690: libmime-tools-perl:amd64=5.517-1 Downloading dependency 367 of 690: dh-octave:amd64=1.16.0 Downloading dependency 368 of 690: libmoo-perl:amd64=2.005005-1 Downloading dependency 369 of 690: libwacom-common:amd64=2.18.0-1 Downloading dependency 370 of 690: libhwy1t64:amd64=1.3.0-2+b1 Downloading dependency 371 of 690: liblapack-dev:amd64=3.12.1-8 Downloading dependency 372 of 690: libiterator-util-perl:amd64=0.02+ds1-2 Downloading dependency 373 of 690: libpod-pom-perl:amd64=2.01-4 Downloading dependency 374 of 690: libvorbisenc2:amd64=1.3.7-3+b2Get:1 http://deb.debian.org/debian unstable/main amd64 libvorbisenc2 amd64 1.3.7-3+b2 [76.1 kB] Fetched 76.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8vlys_yk/libvorbisenc2_1.3.7-3+b2_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libngtcp2-16 amd64 1.22.1-1 [133 kB] Fetched 133 kB in 0s (12.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphs9l3q2w/libngtcp2-16_1.22.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gcc-15 amd64 15.3.0-1 [546 kB] Fetched 546 kB in 0s (37.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2d8g3kqa/gcc-15_15.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libogg0 amd64 1.3.6-2+b1 [24.0 kB] Fetched 24.0 kB in 0s (2259 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsac_12yi/libogg0_1.3.6-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libatomic1 amd64 16.1.0-2 [10.4 kB] Fetched 10.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1ufew0xw/libatomic1_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-xinput0 amd64 1.17.0-2+b2 [130 kB] Fetched 130 kB in 0s (12.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp87xbu51v/libxcb-xinput0_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libx11-data all 2:1.8.13-1 [346 kB] Fetched 346 kB in 0s (33.5 MB/s) dpkg-name: info: moved 'libx11-data_2%3a1.8.13-1_all.deb' to '/srv/rebuilderd/tmp/tmp8z745l_v/libx11-data_1.8.13-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libwww-perl all 6.83-1 [186 kB] Fetched 186 kB in 0s (17.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpufe2kziz/libwww-perl_6.83-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpou4qdgzi/licensecheck_3.3.9-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libabsl20260107 amd64 20260107.0-5 [549 kB] Fetched 549 kB in 0s (44.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvhry_zza/libabsl20260107_20260107.0-5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libnet-domain-tld-perl all 1.75-4 [31.5 kB] Fetched 31.5 kB in 0s (3045 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppnwlt2dr/libnet-domain-tld-perl_1.75-4_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libblkid1 amd64 2.42.2-1 [173 kB] Fetched 173 kB in 0s (16.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmx0a6ye3/libblkid1_2.42.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libperlio-utf8-strict-perl amd64 0.010-1+b3 [11.4 kB] Fetched 11.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplx0358qy/libperlio-utf8-strict-perl_0.010-1+b3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libencode-locale-perl all 1.05-3 [12.9 kB] Fetched 12.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnhlufp9m/libencode-locale-perl_1.05-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsensors5 amd64 1:3.6.2-2+b2 [37.2 kB] Fetched 37.2 kB in 0s (0 B/s) dpkg-name: info: moved 'libsensors5_1%3a3.6.2-2+b2_amd64.deb' to '/srv/rebuilderd/tmp/tmpl3juks1k/libsensors5_3.6.2-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libx11-6 amd64 2:1.8.13-1 [829 kB] Fetched 829 kB in 0s (62.3 MB/s) dpkg-name: info: moved 'libx11-6_2%3a1.8.13-1_amd64.deb' to '/srv/rebuilderd/tmp/tmphe58kt1u/libx11-6_1.8.13-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-cursor0 amd64 0.1.6-1 [17.8 kB] Fetched 17.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpoo682wl_/libxcb-cursor0_0.1.6-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 perl-base amd64 5.40.1-8 [1677 kB] Fetched 1677 kB in 0s (104 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuadfltxs/perl-base_5.40.1-8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.73-2 [516 kB] Fetched 516 kB in 0s (51.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuogb1gjo/autoconf_2.73-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtext-levenshteinxs-perl amd64 0.03-5+b4 [8720 B] Fetched 8720 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpp9570i1d/libtext-levenshteinxs-perl_0.03-5+b4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblua5.4-0 amd64 5.4.8-2 [148 kB] Fetched 148 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpz1tciqx9/liblua5.4-0_5.4.8-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfile-sharedir-perl all 1.118-3 [16.0 kB] Fetched 16.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5w_x6k4u/libfile-sharedir-perl_1.118-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxau6 amd64 1:1.0.11-1+b2 [20.7 kB] Fetched 20.7 kB in 0s (0 B/s) dpkg-name: info: moved 'libxau6_1%3a1.0.11-1+b2_amd64.deb' to '/srv/rebuilderd/tmp/tmpu3w63c6f/libxau6_1.0.11-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libbz2-1.0 amd64 1.0.8-6+b2 [39.9 kB] Fetched 39.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppr8ae87j/libbz2-1.0_1.0.8-6+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libnpth0t64 amd64 1.8-3+b2 [23.2 kB] Fetched 23.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp44g1_0q9/libnpth0t64_1.8-3+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libamd3 amd64 1:7.12.2+dfsg-1 [50.6 kB] Fetched 50.6 kB in 0s (0 B/s) dpkg-name: info: moved 'libamd3_1%3a7.12.2+dfsg-1_amd64.deb' to '/srv/rebuilderd/tmp/tmphtxgnjys/libamd3_7.12.2+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libiterator-perl all 0.03+ds1-2 [18.8 kB] Fetched 18.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8mflr3mt/libiterator-perl_0.03+ds1-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Fetched 20.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8ka16opx/liblwp-mediatypes-perl_6.04-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libglx-dev amd64 1.7.0-3+b1 [15.0 kB] Fetched 15.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyltgkpnv/libglx-dev_1.7.0-3+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libstring-format-perl all 1.18-1 [9408 B] Fetched 9408 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuivok3um/libstring-format-perl_1.18-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxext6 amd64 2:1.3.4-1+b4 [50.7 kB] Fetched 50.7 kB in 0s (0 B/s) dpkg-name: info: moved 'libxext6_2%3a1.3.4-1+b4_amd64.deb' to '/srv/rebuilderd/tmp/tmpv8wc8_fh/libxext6_1.3.4-1+b4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpm7ftb_1u/libhtml-html5-entities-perl_0.004-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsyntax-keyword-try-perl amd64 0.31-1 [27.4 kB] Fetched 27.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbvm59yr3/libsyntax-keyword-try-perl_0.31-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsndfile1 amd64 1.2.2-4+b1 [205 kB] Fetched 205 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0bhkf535/libsndfile1_1.2.2-4+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxmlb2 amd64 0.3.28-1 [63.7 kB] Fetched 63.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9kvj94lz/libxmlb2_0.3.28-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdatetime-timezone-perl all 1:2.69-1+2026c [260 kB] Fetched 260 kB in 0s (25.7 MB/s) dpkg-name: info: moved 'libdatetime-timezone-perl_1%3a2.69-1+2026c_all.deb' to '/srv/rebuilderd/tmp/tmpjr94rn9_/libdatetime-timezone-perl_2.69-1+2026c_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmousex-strictconstructor-perl all 0.02-3 [5304 B] Fetched 5304 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3wluk4w7/libmousex-strictconstructor-perl_0.02-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libssh2-1-dev amd64 1.11.1-4 [393 kB] Fetched 393 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdv12u_o3/libssh2-1-dev_1.11.1-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libyaml-libyaml-perl amd64 0.910.0+ds-1 [47.8 kB] Fetched 47.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkvjgf19v/libyaml-libyaml-perl_0.910.0+ds-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 cpp-15 amd64 15.3.0-1 [1280 B] Fetched 1280 B in 0s (119 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6tky3xmj/cpp-15_15.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libintl-perl all 1.37-1 [696 kB] Fetched 696 kB in 0s (59.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpx9j_4qth/libintl-perl_1.37-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmodule-implementation-perl all 0.09-2 [12.6 kB] Fetched 12.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyrkbuh1p/libmodule-implementation-perl_0.09-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libopus0 amd64 1.6.1-1+b1 [3484 kB] Fetched 3484 kB in 0s (130 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpx9vo3e3a/libopus0_1.6.1-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfile-find-rule-perl all 0.35-1 [25.9 kB] Fetched 25.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl600ugn7/libfile-find-rule-perl_0.35-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libbrotli1 amd64 1.2.0-3 [320 kB] Fetched 320 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2qayx8gu/libbrotli1_1.2.0-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblzo2-2 amd64 2.10-3+b2 [57.4 kB] Fetched 57.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsmmtmobl/liblzo2-2_2.10-3+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxshmfence1 amd64 1.3.3-1+b2 [11.2 kB] Fetched 11.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp588rogqq/libxshmfence1_1.3.3-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libapp-cmd-perl all 0.340-1 [63.8 kB] Fetched 63.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpide4iz8i/libapp-cmd-perl_0.340-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 hostname amd64 3.25 [11.0 kB] Fetched 11.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp68znef2k/hostname_3.25_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 1.0-3 [332 kB] Fetched 332 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo8w1y19m/gettext-base_1.0-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxxhash0 amd64 0.8.3-2+b2 [27.1 kB] Fetched 27.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxqbenlo5/libxxhash0_0.8.3-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsereal-decoder-perl amd64 5.006+ds-1 [101 kB] Fetched 101 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpve8b41wc/libsereal-decoder-perl_5.006+ds-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libjpeg-dev amd64 1:3.1.3-4 [78.8 kB] Fetched 78.8 kB in 0s (0 B/s) dpkg-name: info: moved 'libjpeg-dev_1%3a3.1.3-4_amd64.deb' to '/srv/rebuilderd/tmp/tmp_gggnocn/libjpeg-dev_3.1.3-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfftw3-bin amd64 3.3.11-1 [46.6 kB] Fetched 46.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpg2cwvf1q/libfftw3-bin_3.3.11-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhdf5-310 amd64 1.14.6+repack-2+b1 [1357 kB] Fetched 1357 kB in 0s (96.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprupg7x8o/libhdf5-310_1.14.6+repack-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcc1-0 amd64 16.1.0-2 [46.1 kB] Fetched 46.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9q9961cc/libcc1-0_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libnghttp2-14 amd64 1.69.0-1 [89.0 kB] Fetched 89.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxt4lgaon/libnghttp2-14_1.69.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcurl4t64 amd64 8.21.0-2 [422 kB] Fetched 422 kB in 0s (41.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm5zpnwnu/libcurl4t64_8.21.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libkdb5-10t64 amd64 1.22.1-3 [41.3 kB] Fetched 41.3 kB in 0s (3977 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp97bm75fp/libkdb5-10t64_1.22.1-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmodule-pluggable-perl all 6.3-1 [24.1 kB] Fetched 24.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcogfnsuy/libmodule-pluggable-perl_6.3-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpod-parser-perl all 1.67-1 [94.1 kB] Fetched 94.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4xu8ygp9/libpod-parser-perl_1.67-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdouble-conversion3 amd64 3.4.0-1+b1 [40.7 kB] Fetched 40.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpx2ef30xw/libdouble-conversion3_3.4.0-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libboolean-perl all 0.46-3 [9924 B] Fetched 9924 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_dhkj4df/libboolean-perl_0.46-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libio-string-perl all 1.08-4 [12.1 kB] Fetched 12.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpclpjy8an/libio-string-perl_1.08-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpfoy84p5t/libtext-template-perl_1.61-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpvjm_urzo/libdata-validate-uri-perl_0.07-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 octave-io amd64 2.7.2-1 [248 kB] Fetched 248 kB in 0s (3166 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvwamx4o9/octave-io_2.7.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsm6 amd64 2:1.2.6-1+b2 [37.9 kB] Fetched 37.9 kB in 0s (0 B/s) dpkg-name: info: moved 'libsm6_2%3a1.2.6-1+b2_amd64.deb' to '/srv/rebuilderd/tmp/tmp8c_4cii4/libsm6_1.2.6-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gcc-15-x86-64-linux-gnu amd64 15.3.0-1 [23.4 MB] Fetched 23.4 MB in 0s (195 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvra6akpb/gcc-15-x86-64-linux-gnu_15.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblog-any-perl all 1.720-1 [75.8 kB] Fetched 75.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzsmzzrhd/liblog-any-perl_1.720-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libwww-robotrules-perl all 6.03-1 [15.8 kB] Fetched 15.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5oefamy5/libwww-robotrules-perl_6.03-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 sed amd64 4.9-3 [331 kB] Fetched 331 kB in 0s (31.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpx8tbseyi/sed_4.9-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpg_dsh704/libstring-escape-perl_2010.002-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcholmod5 amd64 1:7.12.2+dfsg-1 [678 kB] Fetched 678 kB in 0s (60.3 MB/s) dpkg-name: info: moved 'libcholmod5_1%3a7.12.2+dfsg-1_amd64.deb' to '/srv/rebuilderd/tmp/tmpcyr93wy_/libcholmod5_7.12.2+dfsg-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libpsl5t64 amd64 0.22.0-1 [60.7 kB] Fetched 60.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpveyg49zf/libpsl5t64_0.22.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxs-parse-sublike-perl amd64 0.41-1+b1 [50.3 kB] Fetched 50.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprgwc88sl/libxs-parse-sublike-perl_0.41-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgnutls30t64 amd64 3.8.13-1 [1546 kB] Fetched 1546 kB in 0s (95.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb812ji6t/libgnutls30t64_3.8.13-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblist-moreutils-xs-perl amd64 0.430-4+b2 [42.1 kB] Fetched 42.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmps3h8aiy8/liblist-moreutils-xs-perl_0.430-4+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 iso-codes all 4.20.1-1 [3319 kB] Fetched 3319 kB in 0s (129 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6jcv_b0v/iso-codes_4.20.1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libc-gconv-modules-extra amd64 2.42-17 [1097 kB] Fetched 1097 kB in 0s (80.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdp6aq1jw/libc-gconv-modules-extra_2.42-17_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxkbcommon0 amd64 1.13.1-1 [148 kB] Fetched 148 kB in 0s (14.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0dv1wsx6/libxkbcommon0_1.13.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsub-identify-perl amd64 0.14-4 [11.0 kB] Fetched 11.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdyk1u5v0/libsub-identify-perl_0.14-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6widgets6 amd64 6.10.2+dfsg-15 [2654 kB] Fetched 2654 kB in 0s (128 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpe6uvncbx/libqt6widgets6_6.10.2+dfsg-15_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libstemmer0d amd64 3.1.1-1 [138 kB] Fetched 138 kB in 0s (12.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2a0_e5c5/libstemmer0d_3.1.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 grep amd64 3.12-1 [443 kB] Fetched 443 kB in 0s (38.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbgz_hg5a/grep_3.12-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdatetime-format-rfc3339-perl all 1.10.0-1 [8660 B] Fetched 8660 B in 0s (841 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprjr2nj6b/libdatetime-format-rfc3339-perl_1.10.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libssl-dev amd64 3.6.3-1 [3025 kB] Fetched 3025 kB in 0s (130 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_0mep92s/libssl-dev_3.6.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gfortran amd64 4:15.2.0-5+b1 [1440 B] Fetched 1440 B in 0s (0 B/s) dpkg-name: info: moved 'gfortran_4%3a15.2.0-5+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmpbi_u5fl5/gfortran_15.2.0-5+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libjpeg62-turbo-dev amd64 1:3.1.3-4 [356 kB] Fetched 356 kB in 0s (33.9 MB/s) dpkg-name: info: moved 'libjpeg62-turbo-dev_1%3a3.1.3-4_amd64.deb' to '/srv/rebuilderd/tmp/tmp66jpmt0h/libjpeg62-turbo-dev_3.1.3-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-dri3-0 amd64 1.17.0-2+b2 [107 kB] Fetched 107 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_f_c2uhg/libxcb-dri3-0_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 autopoint all 1.0-3 [820 kB] Fetched 820 kB in 0s (60.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpvxc4rzr3/autopoint_1.0-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmp3lame0 amd64 3.101~svn6531+dfsg-1 [285 kB] Fetched 285 kB in 0s (22.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxr1r0_eh/libmp3lame0_3.101~svn6531+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libice6 amd64 2:1.1.1-1+b2 [66.8 kB] Fetched 66.8 kB in 0s (0 B/s) dpkg-name: info: moved 'libice6_2%3a1.1.1-1+b2_amd64.deb' to '/srv/rebuilderd/tmp/tmp4yq_nqgg/libice6_1.1.1-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpango-1.0-0 amd64 1.58.0-1 [225 kB] Fetched 225 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdooyel9f/libpango-1.0-0_1.58.0-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libunicode-utf8-perl amd64 0.72-1 [26.4 kB] Fetched 26.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpa747fxwd/libunicode-utf8-perl_0.72-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liberror-perl all 0.17030-1 [26.9 kB] Fetched 26.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv5yc5piq/liberror-perl_0.17030-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 diffstat amd64 1.69-1 [34.9 kB] Fetched 34.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxr68tndx/diffstat_1.69-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 procps amd64 2:4.0.6-2 [983 kB] Fetched 983 kB in 0s (68.9 MB/s) dpkg-name: info: moved 'procps_2%3a4.0.6-2_amd64.deb' to '/srv/rebuilderd/tmp/tmpshondftn/procps_4.0.6-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtask-weaken-perl all 1.06-2 [9364 B] Fetched 9364 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4fzvzwgf/libtask-weaken-perl_1.06-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp4284k1pt/libqscintilla2-qt6-l10n_2.14.1+dfsg-3_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 mesa-libgallium amd64 26.1.4-1 [11.2 MB] Fetched 11.2 MB in 0s (169 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjsqiww0n/mesa-libgallium_26.1.4-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 dpkg-dev all 1.23.7 [1318 kB] Fetched 1318 kB in 0s (89.1 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpq6ab3_yw/dpkg-dev_1.23.7_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcurl4-openssl-dev amd64 8.21.0-2 [550 kB] Fetched 550 kB in 0s (49.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwz84lpv0/libcurl4-openssl-dev_8.21.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libb-hooks-op-check-perl amd64 0.22-3+b4 [10.6 kB] Fetched 10.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp84mo8so0/libb-hooks-op-check-perl_0.22-3+b4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpi4qajjm6/libpath-iterator-rule-perl_1.015-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgssrpc4t64 amd64 1.22.1-3 [58.3 kB] Fetched 58.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2aoaspql/libgssrpc4t64_1.22.1-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libjxl0.11 amd64 0.11.2-5 [1256 kB] Fetched 1256 kB in 0s (89.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp09t2nw_v/libjxl0.11_0.11.2-5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 xorg-sgml-doctools all 1:1.12.1-1 [23.9 kB] Fetched 23.9 kB in 0s (0 B/s) dpkg-name: info: moved 'xorg-sgml-doctools_1%3a1.12.1-1_all.deb' to '/srv/rebuilderd/tmp/tmp01leem64/xorg-sgml-doctools_1.12.1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gfortran-15-x86-64-linux-gnu amd64 15.3.0-1 [12.8 MB] Fetched 12.8 MB in 0s (184 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptfp4s7y9/gfortran-15-x86-64-linux-gnu_15.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgpg-error0 amd64 1.61-3 [89.2 kB] Fetched 89.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgz1_39j7/libgpg-error0_1.61-3_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 tzdata all 2026b-1 [260 kB] Fetched 260 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbij8s825/tzdata_2026b-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhash-merge-perl all 0.302-1 [14.7 kB] Fetched 14.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8zs1l2ly/libhash-merge-perl_0.302-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libffi8 amd64 3.5.2-4 [25.2 kB] Fetched 25.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5st540ou/libffi8_3.5.2-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libk5crypto3 amd64 1.22.1-3 [79.0 kB] Fetched 79.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb_a84auy/libk5crypto3_1.22.1-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gzip amd64 1.13-1 [138 kB] Fetched 138 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpz1ty_vpa/gzip_1.13-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libisl23 amd64 0.27-2 [664 kB] Fetched 664 kB in 0s (58.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsaj4f026/libisl23_0.27-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfont-ttf-perl all 1.06-2 [318 kB] Fetched 318 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfpy6ws_1/libfont-ttf-perl_1.06-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtext-wrapper-perl all 1.05-4 [10.3 kB] Fetched 10.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxyiz6ybn/libtext-wrapper-perl_1.05-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libyaml-0-2 amd64 0.2.5-2+b1 [53.8 kB] Fetched 53.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp2dp1nr_u/libyaml-0-2_0.2.5-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libnghttp2-dev amd64 1.69.0-1 [128 kB] Fetched 128 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpq7vp_74l/libnghttp2-dev_1.69.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libexporter-lite-perl all 0.09-2 [10.7 kB] Fetched 10.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpp525ps0h/libexporter-lite-perl_0.09-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 xtrans-dev all 1.6.0-1 [93.5 kB] Fetched 93.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpj9q6b3jw/xtrans-dev_1.6.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-2+b2 [69.0 kB] Fetched 69.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpchbc0doa/libuchardet0_0.0.8-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcxsparse4 amd64 1:7.12.2+dfsg-1 [95.5 kB] Fetched 95.5 kB in 0s (0 B/s) dpkg-name: info: moved 'libcxsparse4_1%3a7.12.2+dfsg-1_amd64.deb' to '/srv/rebuilderd/tmp/tmplkm6sfqn/libcxsparse4_7.12.2+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libjpeg62-turbo amd64 1:3.1.3-4 [213 kB] Fetched 213 kB in 0s (0 B/s) dpkg-name: info: moved 'libjpeg62-turbo_1%3a3.1.3-4_amd64.deb' to '/srv/rebuilderd/tmp/tmpi874z682/libjpeg62-turbo_3.1.3-4_amd64.deb' Downloading dependency 375 of 690: libngtcp2-16:amd64=1.22.1-1 Downloading dependency 376 of 690: gcc-15:amd64=15.3.0-1 Downloading dependency 377 of 690: libogg0:amd64=1.3.6-2+b1 Downloading dependency 378 of 690: libatomic1:amd64=16.1.0-2 Downloading dependency 379 of 690: libxcb-xinput0:amd64=1.17.0-2+b2 Downloading dependency 380 of 690: libx11-data:amd64=2:1.8.13-1 Downloading dependency 381 of 690: libwww-perl:amd64=6.83-1 Downloading dependency 382 of 690: licensecheck:amd64=3.3.9-1 Downloading dependency 383 of 690: libabsl20260107:amd64=20260107.0-5 Downloading dependency 384 of 690: libnet-domain-tld-perl:amd64=1.75-4 Downloading dependency 385 of 690: libblkid1:amd64=2.42.2-1 Downloading dependency 386 of 690: libperlio-utf8-strict-perl:amd64=0.010-1+b3 Downloading dependency 387 of 690: libencode-locale-perl:amd64=1.05-3 Downloading dependency 388 of 690: libsensors5:amd64=1:3.6.2-2+b2 Downloading dependency 389 of 690: libx11-6:amd64=2:1.8.13-1 Downloading dependency 390 of 690: libxcb-cursor0:amd64=0.1.6-1 Downloading dependency 391 of 690: perl-base:amd64=5.40.1-8 Downloading dependency 392 of 690: autoconf:amd64=2.73-2 Downloading dependency 393 of 690: libtext-levenshteinxs-perl:amd64=0.03-5+b4 Downloading dependency 394 of 690: liblua5.4-0:amd64=5.4.8-2 Downloading dependency 395 of 690: libfile-sharedir-perl:amd64=1.118-3 Downloading dependency 396 of 690: libxau6:amd64=1:1.0.11-1+b2 Downloading dependency 397 of 690: libbz2-1.0:amd64=1.0.8-6+b2 Downloading dependency 398 of 690: libnpth0t64:amd64=1.8-3+b2 Downloading dependency 399 of 690: libamd3:amd64=1:7.12.2+dfsg-1 Downloading dependency 400 of 690: libiterator-perl:amd64=0.03+ds1-2 Downloading dependency 401 of 690: liblwp-mediatypes-perl:amd64=6.04-2 Downloading dependency 402 of 690: libglx-dev:amd64=1.7.0-3+b1 Downloading dependency 403 of 690: libstring-format-perl:amd64=1.18-1 Downloading dependency 404 of 690: libxext6:amd64=2:1.3.4-1+b4 Downloading dependency 405 of 690: libhtml-html5-entities-perl:amd64=0.004-3 Downloading dependency 406 of 690: libsyntax-keyword-try-perl:amd64=0.31-1 Downloading dependency 407 of 690: libsndfile1:amd64=1.2.2-4+b1 Downloading dependency 408 of 690: libxmlb2:amd64=0.3.28-1 Downloading dependency 409 of 690: libdatetime-timezone-perl:amd64=1:2.69-1+2026c Downloading dependency 410 of 690: libmousex-strictconstructor-perl:amd64=0.02-3 Downloading dependency 411 of 690: libssh2-1-dev:amd64=1.11.1-4 Downloading dependency 412 of 690: libyaml-libyaml-perl:amd64=0.910.0+ds-1 Downloading dependency 413 of 690: cpp-15:amd64=15.3.0-1 Downloading dependency 414 of 690: libintl-perl:amd64=1.37-1 Downloading dependency 415 of 690: libmodule-implementation-perl:amd64=0.09-2 Downloading dependency 416 of 690: libopus0:amd64=1.6.1-1+b1 Downloading dependency 417 of 690: libfile-find-rule-perl:amd64=0.35-1 Downloading dependency 418 of 690: libbrotli1:amd64=1.2.0-3 Downloading dependency 419 of 690: liblzo2-2:amd64=2.10-3+b2 Downloading dependency 420 of 690: libxshmfence1:amd64=1.3.3-1+b2 Downloading dependency 421 of 690: libapp-cmd-perl:amd64=0.340-1 Downloading dependency 422 of 690: hostname:amd64=3.25 Downloading dependency 423 of 690: gettext-base:amd64=1.0-3 Downloading dependency 424 of 690: libxxhash0:amd64=0.8.3-2+b2 Downloading dependency 425 of 690: libsereal-decoder-perl:amd64=5.006+ds-1 Downloading dependency 426 of 690: libjpeg-dev:amd64=1:3.1.3-4 Downloading dependency 427 of 690: libfftw3-bin:amd64=3.3.11-1 Downloading dependency 428 of 690: libhdf5-310:amd64=1.14.6+repack-2+b1 Downloading dependency 429 of 690: libcc1-0:amd64=16.1.0-2 Downloading dependency 430 of 690: libnghttp2-14:amd64=1.69.0-1 Downloading dependency 431 of 690: libcurl4t64:amd64=8.21.0-2 Downloading dependency 432 of 690: libkdb5-10t64:amd64=1.22.1-3 Downloading dependency 433 of 690: libmodule-pluggable-perl:amd64=6.3-1 Downloading dependency 434 of 690: libpod-parser-perl:amd64=1.67-1 Downloading dependency 435 of 690: libdouble-conversion3:amd64=3.4.0-1+b1 Downloading dependency 436 of 690: libboolean-perl:amd64=0.46-3 Downloading dependency 437 of 690: libio-string-perl:amd64=1.08-4 Downloading dependency 438 of 690: libtext-template-perl:amd64=1.61-1 Downloading dependency 439 of 690: libdata-validate-uri-perl:amd64=0.07-3 Downloading dependency 440 of 690: octave-io:amd64=2.7.2-1 Downloading dependency 441 of 690: libsm6:amd64=2:1.2.6-1+b2 Downloading dependency 442 of 690: gcc-15-x86-64-linux-gnu:amd64=15.3.0-1 Downloading dependency 443 of 690: liblog-any-perl:amd64=1.720-1 Downloading dependency 444 of 690: libwww-robotrules-perl:amd64=6.03-1 Downloading dependency 445 of 690: sed:amd64=4.9-3 Downloading dependency 446 of 690: libstring-escape-perl:amd64=2010.002-3 Downloading dependency 447 of 690: libcholmod5:amd64=1:7.12.2+dfsg-1 Downloading dependency 448 of 690: libpsl5t64:amd64=0.22.0-1 Downloading dependency 449 of 690: libxs-parse-sublike-perl:amd64=0.41-1+b1 Downloading dependency 450 of 690: libgnutls30t64:amd64=3.8.13-1 Downloading dependency 451 of 690: liblist-moreutils-xs-perl:amd64=0.430-4+b2 Downloading dependency 452 of 690: iso-codes:amd64=4.20.1-1 Downloading dependency 453 of 690: libc-gconv-modules-extra:amd64=2.42-17 Downloading dependency 454 of 690: libxkbcommon0:amd64=1.13.1-1 Downloading dependency 455 of 690: libsub-identify-perl:amd64=0.14-4 Downloading dependency 456 of 690: libqt6widgets6:amd64=6.10.2+dfsg-15 Downloading dependency 457 of 690: libstemmer0d:amd64=3.1.1-1 Downloading dependency 458 of 690: grep:amd64=3.12-1 Downloading dependency 459 of 690: libdatetime-format-rfc3339-perl:amd64=1.10.0-1 Downloading dependency 460 of 690: libssl-dev:amd64=3.6.3-1 Downloading dependency 461 of 690: gfortran:amd64=4:15.2.0-5+b1 Downloading dependency 462 of 690: libjpeg62-turbo-dev:amd64=1:3.1.3-4 Downloading dependency 463 of 690: libxcb-dri3-0:amd64=1.17.0-2+b2 Downloading dependency 464 of 690: autopoint:amd64=1.0-3 Downloading dependency 465 of 690: libmp3lame0:amd64=3.101~svn6531+dfsg-1 Downloading dependency 466 of 690: libice6:amd64=2:1.1.1-1+b2 Downloading dependency 467 of 690: libpango-1.0-0:amd64=1.58.0-1 Downloading dependency 468 of 690: libunicode-utf8-perl:amd64=0.72-1 Downloading dependency 469 of 690: liberror-perl:amd64=0.17030-1 Downloading dependency 470 of 690: diffstat:amd64=1.69-1 Downloading dependency 471 of 690: procps:amd64=2:4.0.6-2 Downloading dependency 472 of 690: libtask-weaken-perl:amd64=1.06-2 Downloading dependency 473 of 690: libqscintilla2-qt6-l10n:amd64=2.14.1+dfsg-3 Downloading dependency 474 of 690: mesa-libgallium:amd64=26.1.4-1 Downloading dependency 475 of 690: dpkg-dev:amd64=1.23.7 Downloading dependency 476 of 690: libcurl4-openssl-dev:amd64=8.21.0-2 Downloading dependency 477 of 690: libb-hooks-op-check-perl:amd64=0.22-3+b4 Downloading dependency 478 of 690: libpath-iterator-rule-perl:amd64=1.015-2 Downloading dependency 479 of 690: libgssrpc4t64:amd64=1.22.1-3 Downloading dependency 480 of 690: libjxl0.11:amd64=0.11.2-5 Downloading dependency 481 of 690: xorg-sgml-doctools:amd64=1:1.12.1-1 Downloading dependency 482 of 690: gfortran-15-x86-64-linux-gnu:amd64=15.3.0-1 Downloading dependency 483 of 690: libgpg-error0:amd64=1.61-3 Downloading dependency 484 of 690: tzdata:amd64=2026b-1 Downloading dependency 485 of 690: libhash-merge-perl:amd64=0.302-1 Downloading dependency 486 of 690: libffi8:amd64=3.5.2-4 Downloading dependency 487 of 690: libk5crypto3:amd64=1.22.1-3 Downloading dependency 488 of 690: gzip:amd64=1.13-1 Downloading dependency 489 of 690: libisl23:amd64=0.27-2 Downloading dependency 490 of 690: libfont-ttf-perl:amd64=1.06-2 Downloading dependency 491 of 690: libtext-wrapper-perl:amd64=1.05-4 Downloading dependency 492 of 690: libyaml-0-2:amd64=0.2.5-2+b1 Downloading dependency 493 of 690: libnghttp2-dev:amd64=1.69.0-1 Downloading dependency 494 of 690: libexporter-lite-perl:amd64=0.09-2 Downloading dependency 495 of 690: xtrans-dev:amd64=1.6.0-1 Downloading dependency 496 of 690: libuchardet0:amd64=0.0.8-2+b2 Downloading dependency 497 of 690: libcxsparse4:amd64=1:7.12.2+dfsg-1 Downloading dependency 498 of 690: libjpeg62-turbo:amd64=1:3.1.3-4 Downloading dependency 499 of 690: libflac14:amd64=1.5.0+ds-5+b1Get:1 http://deb.debian.org/debian unstable/main amd64 libflac14 amd64 1.5.0+ds-5+b1 [179 kB] Fetched 179 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpp0awknm_/libflac14_1.5.0+ds-5+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libp11-kit-dev amd64 0.26.4-1 [225 kB] Fetched 225 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnm4yo1kd/libp11-kit-dev_0.26.4-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmponeuqvpd/libtext-reform-perl_1.20-5_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmldbm-perl all 2.05-4 [16.8 kB] Fetched 16.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcfhl9h9t/libmldbm-perl_2.05-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-3 [49.2 kB] Fetched 49.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuxq3ml1d/libpipeline1_1.5.8-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpiub6fz2m/libyaml-tiny-perl_1.76-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 base-files amd64 14.2 [88.0 kB] Fetched 88.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7gyrkzt8/base-files_14.2_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libudev1 amd64 261.1-2 [138 kB] Fetched 138 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplwoyx8kl/libudev1_261.1-2_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libsystemd0 amd64 261.1-2 [467 kB] Fetched 467 kB in 0s (41.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5btv5oyx/libsystemd0_261.1-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfftw3-single3 amd64 3.3.11-1 [738 kB] Fetched 738 kB in 0s (59.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm1sef5y6/libfftw3-single3_3.3.11-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libunbound8 amd64 1.25.1-1+b1 [619 kB] Fetched 619 kB in 0s (53.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpu_k6g6gk/libunbound8_1.25.1-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdrm-intel1 amd64 2.4.134-3 [64.2 kB] Fetched 64.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjhale3cy/libdrm-intel1_2.4.134-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libzstd1 amd64 1.5.7+dfsg-3+b2 [305 kB] Fetched 305 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmv1xcbyg/libzstd1_1.5.7+dfsg-3+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpiqsh4kj8/libpackage-stash-perl_0.40-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libperl-critic-perl all 1.156-1 [685 kB] Fetched 685 kB in 0s (62.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk42xuoxj/libperl-critic-perl_1.156-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpng16-16t64 amd64 1.6.58-1 [289 kB] Fetched 289 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0jgigvt3/libpng16-16t64_1.6.58-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpangoft2-1.0-0 amd64 1.58.0-1 [53.1 kB] Fetched 53.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpwpnxnfhp/libpangoft2-1.0-0_1.58.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtext-glob-perl all 0.11-3 [7676 B] Fetched 7676 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv8q42jq0/libtext-glob-perl_0.11-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfltk-gl1.4 amd64 1.4.4-4 [85.6 kB] Fetched 85.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmc_3jjtj/libfltk-gl1.4_1.4.4-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 tex-common all 6.20 [29.7 kB] Fetched 29.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0o6uble2/tex-common_6.20_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libopengl0 amd64 1.7.0-3+b1 [30.4 kB] Fetched 30.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp28uovn0h/libopengl0_1.7.0-3+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libldap2 amd64 2.6.13+dfsg-1 [188 kB] Fetched 188 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_bquy0te/libldap2_2.6.13+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgraphite2-3 amd64 1.3.15-2 [75.8 kB] Fetched 75.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqbgt7mav/libgraphite2-3_1.3.15-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libattr1 amd64 1:2.6.0-1 [24.7 kB] Fetched 24.7 kB in 0s (0 B/s) dpkg-name: info: moved 'libattr1_1%3a2.6.0-1_amd64.deb' to '/srv/rebuilderd/tmp/tmpksbqlt66/libattr1_2.6.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libavahi-client3 amd64 0.8-18 [49.2 kB] Fetched 49.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptnzqaubn/libavahi-client3_0.8-18_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpam-modules amd64 1.7.0-8 [168 kB] Fetched 168 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpnu3j9rm4/libpam-modules_1.7.0-8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libwacom9 amd64 2.18.0-1 [27.0 kB] Fetched 27.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpko_cnaqs/libwacom9_2.18.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcurl4-gnutls amd64 8.21.0-2 [416 kB] Fetched 416 kB in 0s (40.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9k0p5h52/libcurl4-gnutls_8.21.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp1hktnb8_/libipc-system-simple-perl_1.30-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 22 [12.2 kB] Fetched 12.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpi22ii8rk/dh-autoreconf_22_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 octave-datatypes amd64 1.2.6-1 [858 kB] Fetched 858 kB in 1s (1617 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuohdhcqa/octave-datatypes_1.2.6-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtest-exception-perl all 0.43-3 [16.9 kB] Fetched 16.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5s0hc6ag/libtest-exception-perl_0.43-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcpanel-json-xs-perl amd64 4.42-1 [134 kB] Fetched 134 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmydhuxa6/libcpanel-json-xs-perl_4.42-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.24.1-1 [1336 kB] Fetched 1336 kB in 0s (92.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpox59n7pp/groff-base_1.24.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libharfbuzz0b amd64 12.3.2-2+b2 [513 kB] Fetched 513 kB in 0s (49.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxmtlz3_5/libharfbuzz0b_12.3.2-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp8mm4v8b7/libsensors-config_3.6.2-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liburi-perl all 5.35-1 [112 kB] Fetched 112 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb91_u5yz/liburi-perl_5.35-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libjack-jackd2-0 amd64 1.9.22~dfsg-5+b2 [288 kB] Fetched 288 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4cmhs7cz/libjack-jackd2-0_1.9.22~dfsg-5+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 fonts-freefont-otf all 20211204+svn4273-4 [4322 kB] Fetched 4322 kB in 0s (151 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5u1kie_8/fonts-freefont-otf_20211204+svn4273-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 fontconfig-config amd64 2.17.1-5 [56.1 kB] Fetched 56.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyuudazdo/fontconfig-config_2.17.1-5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libregexp-common-perl all 2024080801-1 [167 kB] Fetched 167 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpx4e_6zel/libregexp-common-perl_2024080801-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgmp-dev amd64 2:6.3.0+dfsg-5+b2 [641 kB] Fetched 641 kB in 0s (59.5 MB/s) dpkg-name: info: moved 'libgmp-dev_2%3a6.3.0+dfsg-5+b2_amd64.deb' to '/srv/rebuilderd/tmp/tmp7_4teyjk/libgmp-dev_6.3.0+dfsg-5+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsoftware-license-perl all 0.104007-1 [121 kB] Fetched 121 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpox6a3ebb/libsoftware-license-perl_0.104007-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpta7tnr0_/librole-tiny-perl_2.002005-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gnuplot-data all 6.0.3+dfsg1-1 [73.0 kB] Fetched 73.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyrwzp7q_/gnuplot-data_6.0.3+dfsg1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libassuan9 amd64 3.0.2-2+b2 [60.7 kB] Fetched 60.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpozivy36e/libassuan9_3.0.2-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libperl5.40 amd64 5.40.1-8 [4344 kB] Fetched 4344 kB in 0s (151 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppee5pnd2/libperl5.40_5.40.1-8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpam-modules-bin amd64 1.7.0-8 [46.3 kB] Fetched 46.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpebilsao_/libpam-modules-bin_1.7.0-8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblist-compare-perl all 0.55-2 [65.7 kB] Fetched 65.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgna2nkjy/liblist-compare-perl_0.55-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libasound2-data all 1.2.16.1-1 [19.4 kB] Fetched 19.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_o9s1yuv/libasound2-data_1.2.16.1-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblist-moreutils-perl all 0.430-2 [46.9 kB] Fetched 46.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpf9uo8tvp/liblist-moreutils-perl_0.430-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsuitesparseconfig7 amd64 1:7.12.2+dfsg-1 [33.7 kB] Fetched 33.7 kB in 0s (0 B/s) dpkg-name: info: moved 'libsuitesparseconfig7_1%3a7.12.2+dfsg-1_amd64.deb' to '/srv/rebuilderd/tmp/tmpzarxjp22/libsuitesparseconfig7_7.12.2+dfsg-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdata-optlist-perl all 0.114-1 [10.6 kB] Fetched 10.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmprbe2d3md/libdata-optlist-perl_0.114-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 fontconfig amd64 2.17.1-5 [191 kB] Fetched 191 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptv6jgcq_/fontconfig_2.17.1-5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsasl2-2 amd64 2.1.28+dfsg1-11 [55.2 kB] Fetched 55.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfj77dmdr/libsasl2-2_2.1.28+dfsg1-11_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtext-unidecode-perl all 1.30-3 [101 kB] Fetched 101 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzlomv__p/libtext-unidecode-perl_1.30-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfile-homedir-perl all 1.006-2 [42.4 kB] Fetched 42.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptb0yt9kr/libfile-homedir-perl_1.006-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpe5ti_5el/libio-html-perl_1.004-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.26 [27.0 kB] Fetched 27.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3ji20ysl/sensible-utils_0.0.26_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpod-constants-perl all 0.19-2 [17.3 kB] Fetched 17.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmgu_2yx4/libpod-constants-perl_0.19-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 appstream amd64 1.1.3-1 [602 kB] Fetched 602 kB in 0s (46.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzakvpwpq/appstream_1.1.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libglpk40 amd64 5.0-3 [392 kB] Fetched 392 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkq4gt06p/libglpk40_5.0-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libapt-pkg7.0 amd64 3.3.1 [1223 kB] Fetched 1223 kB in 0s (88.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0j_2tzi5/libapt-pkg7.0_3.3.1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.47-4 [111 kB] Fetched 111 kB in 0s (0 B/s) dpkg-name: info: moved 'libmagic1t64_1%3a5.47-4_amd64.deb' to '/srv/rebuilderd/tmp/tmpz2bwnlj0/libmagic1t64_5.47-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libappstream5 amd64 1.1.3-1 [228 kB] Fetched 228 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmph89ixfu2/libappstream5_1.1.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxml-sax-base-perl all 1.09-3 [20.6 kB] Fetched 20.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_2axsmki/libxml-sax-base-perl_1.09-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libconfig-inifiles-perl all 3.000003-5 [44.9 kB] Fetched 44.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp30nj9em9/libconfig-inifiles-perl_3.000003-5_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpangocairo-1.0-0 amd64 1.58.0-1 [34.2 kB] Fetched 34.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpump81cv3/libpangocairo-1.0-0_1.58.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6help6 amd64 6.10.2-3 [187 kB] Fetched 187 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpes4w1yda/libqt6help6_6.10.2-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-keysyms1 amd64 0.4.1-1+b2 [17.0 kB] Fetched 17.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpi5x3eo6z/libxcb-keysyms1_0.4.1-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libthai-data all 0.1.30-2 [172 kB] Fetched 172 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7m3fo0lj/libthai-data_0.1.30-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libstdc++-15-dev amd64 15.3.0-1 [2784 kB] Fetched 2784 kB in 0s (128 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp84t9zij2/libstdc++-15-dev_15.3.0-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdatrie1 amd64 0.2.14-2 [39.1 kB] Fetched 39.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp08nxe95e/libdatrie1_0.2.14-2_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libctf-nobfd0 amd64 2.46.50.20260617-1 [160 kB] Fetched 160 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpup2_o4mu/libctf-nobfd0_2.46.50.20260617-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhttp-date-perl all 6.08-1 [12.1 kB] Fetched 12.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpqkfupxyy/libhttp-date-perl_6.08-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 hdf5-helpers amd64 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/tmpsb6qnccl/hdf5-helpers_1.14.6+repack-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.15.1-1 [17.1 kB] Fetched 17.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyyeges20/libfile-stripnondeterminism-perl_1.15.1-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libngtcp2-crypto-gnutls8 amd64 1.22.1-1 [20.8 kB] Fetched 20.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpa9xmkxna/libngtcp2-crypto-gnutls8_1.22.1-1_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 util-linux amd64 2.42.2-1 [1229 kB] Fetched 1229 kB in 0s (84.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgyvq6t15/util-linux_2.42.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtiff6 amd64 4.7.2-1 [383 kB] Fetched 383 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8u4s5y40/libtiff6_4.7.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp1zmk76rt/libparse-recdescent-perl_1.967015+dfsg-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gcc-x86-64-linux-gnu amd64 4:15.2.0-5+b1 [1440 B] Fetched 1440 B in 0s (0 B/s) dpkg-name: info: moved 'gcc-x86-64-linux-gnu_4%3a15.2.0-5+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmphmvoz62_/gcc-x86-64-linux-gnu_15.2.0-5+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpciaccess0 amd64 0.19-2 [18.5 kB] Fetched 18.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmph676ciyy/libpciaccess0_0.19-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsqlite3-0 amd64 3.53.3-1 [973 kB] Fetched 973 kB in 0s (77.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmptw8dh_lx/libsqlite3-0_3.53.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcgi-pm-perl all 4.72-1 [217 kB] Fetched 217 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmd1dkfg1/libcgi-pm-perl_4.72-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpd7dmtxij/libclass-data-inheritable-perl_0.10-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libclass-singleton-perl all 1.6-2 [12.5 kB] Fetched 12.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpegxullkc/libclass-singleton-perl_1.6-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp2frrk885/readline-common_8.3-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 pci.ids all 0.0~2026.07.06-1 [285 kB] Fetched 285 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuxhstkx8/pci.ids_0.0~2026.07.06-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhtml-parser-perl amd64 3.83-2 [98.5 kB] Fetched 98.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4zhs6jd0/libhtml-parser-perl_3.83-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libio-interactive-perl all 1.027-1 [11.8 kB] Fetched 11.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp9b4rhxh8/libio-interactive-perl_1.027-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdrm2 amd64 2.4.134-3 [38.5 kB] Fetched 38.5 kB in 0s (3541 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3o5bo21a/libdrm2_2.4.134-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgdbm-compat4t64 amd64 1.26-1+b2 [52.0 kB] Fetched 52.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1q9rq5bn/libgdbm-compat4t64_1.26-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 ncurses-base all 6.6+20260608-2 [276 kB] Fetched 276 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpn6nbloun/ncurses-base_6.6+20260608-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdebconfclient0 amd64 0.283 [7572 B] Fetched 7572 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpu47bppyk/libdebconfclient0_0.283_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libglvnd0 amd64 1.7.0-3+b1 [54.3 kB] Fetched 54.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmps_jw2joo/libglvnd0_1.7.0-3+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 unzip amd64 6.0-29 [173 kB] Fetched 173 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8tcq8yx_/unzip_6.0-29_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libevent-2.1-7t64 amd64 2.1.13-stable-1 [183 kB] Fetched 183 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpckm39t1q/libevent-2.1-7t64_2.1.13-stable-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 g++ amd64 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_amd64.deb' to '/srv/rebuilderd/tmp/tmpd3tcatgn/g++_15.2.0-5+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libinput10 amd64 1.31.3-1 [160 kB] Fetched 160 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpig0x792b/libinput10_1.31.3-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libyaml-pp-perl all 0.41.0-1 [112 kB] Fetched 112 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3lbcee78/libyaml-pp-perl_0.41.0-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 make amd64 4.4.1-3 [463 kB] Fetched 463 kB in 0s (45.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuneeadqo/make_4.4.1-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libssh2-1t64 amd64 1.11.1-4 [244 kB] Fetched 244 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpi6ala81r/libssh2-1t64_1.11.1-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 cpp amd64 4:15.2.0-5+b1 [1568 B] Fetched 1568 B in 0s (0 B/s) dpkg-name: info: moved 'cpp_4%3a15.2.0-5+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmp3vabwl3r/cpp_15.2.0-5+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhdf5-hl-310 amd64 1.14.6+repack-2+b1 [63.3 kB] Fetched 63.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpez_s3_ga/libhdf5-hl-310_1.14.6+repack-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcrypt1 amd64 1:4.5.1-1+b1 [96.4 kB] Fetched 96.4 kB in 0s (0 B/s) dpkg-name: info: moved 'libcrypt1_1%3a4.5.1-1+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmp593cjzr9/libcrypt1_4.5.1-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfribidi0 amd64 1.0.16-5+b1 [26.2 kB] Fetched 26.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8a7jsgum/libfribidi0_1.0.16-5+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxfixes3 amd64 1:6.0.0-2+b5 [20.3 kB] Fetched 20.3 kB in 0s (0 B/s) dpkg-name: info: moved 'libxfixes3_1%3a6.0.0-2+b5_amd64.deb' to '/srv/rebuilderd/tmp/tmp4vu5rd4y/libxfixes3_6.0.0-2+b5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 debianutils amd64 5.23.2 [92.4 kB] Fetched 92.4 kB in 0s (9075 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpdrthzkn6/debianutils_5.23.2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libglu1-mesa amd64 9.0.2-1.1+b4 [191 kB] Fetched 191 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpjjpy_pm9/libglu1-mesa_9.0.2-1.1+b4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgnutls28-dev amd64 3.8.13-1 [1479 kB] Fetched 1479 kB in 0s (98.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyehc2fuz/libgnutls28-dev_3.8.13-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libb2-1 amd64 0.98.1-1.1+b3 [42.0 kB] Fetched 42.0 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp55skw3n5/libb2-1_0.98.1-1.1+b3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdbus-1-3 amd64 1.16.2-5+b1 [176 kB] Fetched 176 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpa42utd7a/libdbus-1-3_1.16.2-5+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.18.1-4 [877 kB] Fetched 877 kB in 0s (53.1 MB/s) dpkg-name: info: moved 'automake_1%3a1.18.1-4_all.deb' to '/srv/rebuilderd/tmp/tmpwhk1ur39/automake_1.18.1-4_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdynaloader-functions-perl all 0.004-2 [12.2 kB] Fetched 12.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpr55emgyj/libdynaloader-functions-perl_0.004-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-xfixes0 amd64 1.17.0-2+b2 [109 kB] Fetched 109 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmppqquydtc/libxcb-xfixes0_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhdf5-hl-fortran-310 amd64 1.14.6+repack-2+b1 [38.1 kB] Fetched 38.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgke9628r/libhdf5-hl-fortran-310_1.14.6+repack-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb1 amd64 1.17.0-2+b2 [144 kB] Fetched 144 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplxm5rkx7/libxcb1_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libjbig0 amd64 2.1-6.1+b3 [32.2 kB] Fetched 32.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpg0ce1lch/libjbig0_2.1-6.1+b3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsub-exporter-perl all 0.990-1 [50.6 kB] Fetched 50.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_sbr2f7u/libsub-exporter-perl_0.990-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libnetaddr-ip-perl amd64 4.079+dfsg-2+b5 [98.1 kB] Fetched 98.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpcxhoqrjj/libnetaddr-ip-perl_4.079+dfsg-2+b5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqhull-r8.0 amd64 2020.2-9 [248 kB] Fetched 248 kB in 0s (21.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpzzj299s_/libqhull-r8.0_2020.2-9_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libregexp-pattern-license-perl all 3.11.2-1 [94.6 kB] Fetched 94.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3usj0l3m/libregexp-pattern-license-perl_3.11.2-1_all.deb' Downloading dependency 500 of 690: libp11-kit-dev:amd64=0.26.4-1 Downloading dependency 501 of 690: libtext-reform-perl:amd64=1.20-5 Downloading dependency 502 of 690: libmldbm-perl:amd64=2.05-4 Downloading dependency 503 of 690: libpipeline1:amd64=1.5.8-3 Downloading dependency 504 of 690: libyaml-tiny-perl:amd64=1.76-1 Downloading dependency 505 of 690: base-files:amd64=14.2 Downloading dependency 506 of 690: libudev1:amd64=261.1-2 Downloading dependency 507 of 690: libsystemd0:amd64=261.1-2 Downloading dependency 508 of 690: libfftw3-single3:amd64=3.3.11-1 Downloading dependency 509 of 690: libunbound8:amd64=1.25.1-1+b1 Downloading dependency 510 of 690: libdrm-intel1:amd64=2.4.134-3 Downloading dependency 511 of 690: libzstd1:amd64=1.5.7+dfsg-3+b2 Downloading dependency 512 of 690: libpackage-stash-perl:amd64=0.40-1 Downloading dependency 513 of 690: libperl-critic-perl:amd64=1.156-1 Downloading dependency 514 of 690: libpng16-16t64:amd64=1.6.58-1 Downloading dependency 515 of 690: libpangoft2-1.0-0:amd64=1.58.0-1 Downloading dependency 516 of 690: libtext-glob-perl:amd64=0.11-3 Downloading dependency 517 of 690: libfltk-gl1.4:amd64=1.4.4-4 Downloading dependency 518 of 690: tex-common:amd64=6.20 Downloading dependency 519 of 690: libopengl0:amd64=1.7.0-3+b1 Downloading dependency 520 of 690: libldap2:amd64=2.6.13+dfsg-1 Downloading dependency 521 of 690: libgraphite2-3:amd64=1.3.15-2 Downloading dependency 522 of 690: libattr1:amd64=1:2.6.0-1 Downloading dependency 523 of 690: libavahi-client3:amd64=0.8-18 Downloading dependency 524 of 690: libpam-modules:amd64=1.7.0-8 Downloading dependency 525 of 690: libwacom9:amd64=2.18.0-1 Downloading dependency 526 of 690: libcurl4-gnutls:amd64=8.21.0-2 Downloading dependency 527 of 690: libipc-system-simple-perl:amd64=1.30-2 Downloading dependency 528 of 690: dh-autoreconf:amd64=22 Downloading dependency 529 of 690: octave-datatypes:amd64=1.2.6-1 Downloading dependency 530 of 690: libtest-exception-perl:amd64=0.43-3 Downloading dependency 531 of 690: libcpanel-json-xs-perl:amd64=4.42-1 Downloading dependency 532 of 690: groff-base:amd64=1.24.1-1 Downloading dependency 533 of 690: libharfbuzz0b:amd64=12.3.2-2+b2 Downloading dependency 534 of 690: libsensors-config:amd64=1:3.6.2-2 Downloading dependency 535 of 690: liburi-perl:amd64=5.35-1 Downloading dependency 536 of 690: libjack-jackd2-0:amd64=1.9.22~dfsg-5+b2 Downloading dependency 537 of 690: fonts-freefont-otf:amd64=20211204+svn4273-4 Downloading dependency 538 of 690: fontconfig-config:amd64=2.17.1-5 Downloading dependency 539 of 690: libregexp-common-perl:amd64=2024080801-1 Downloading dependency 540 of 690: libgmp-dev:amd64=2:6.3.0+dfsg-5+b2 Downloading dependency 541 of 690: libsoftware-license-perl:amd64=0.104007-1 Downloading dependency 542 of 690: librole-tiny-perl:amd64=2.002005-1 Downloading dependency 543 of 690: gnuplot-data:amd64=6.0.3+dfsg1-1 Downloading dependency 544 of 690: libassuan9:amd64=3.0.2-2+b2 Downloading dependency 545 of 690: libperl5.40:amd64=5.40.1-8 Downloading dependency 546 of 690: libpam-modules-bin:amd64=1.7.0-8 Downloading dependency 547 of 690: liblist-compare-perl:amd64=0.55-2 Downloading dependency 548 of 690: libasound2-data:amd64=1.2.16.1-1 Downloading dependency 549 of 690: liblist-moreutils-perl:amd64=0.430-2 Downloading dependency 550 of 690: libsuitesparseconfig7:amd64=1:7.12.2+dfsg-1 Downloading dependency 551 of 690: libdata-optlist-perl:amd64=0.114-1 Downloading dependency 552 of 690: fontconfig:amd64=2.17.1-5 Downloading dependency 553 of 690: libsasl2-2:amd64=2.1.28+dfsg1-11 Downloading dependency 554 of 690: libtext-unidecode-perl:amd64=1.30-3 Downloading dependency 555 of 690: libfile-homedir-perl:amd64=1.006-2 Downloading dependency 556 of 690: libio-html-perl:amd64=1.004-3 Downloading dependency 557 of 690: sensible-utils:amd64=0.0.26 Downloading dependency 558 of 690: libpod-constants-perl:amd64=0.19-2 Downloading dependency 559 of 690: appstream:amd64=1.1.3-1 Downloading dependency 560 of 690: libglpk40:amd64=5.0-3 Downloading dependency 561 of 690: libapt-pkg7.0:amd64=3.3.1 Downloading dependency 562 of 690: libmagic1t64:amd64=1:5.47-4 Downloading dependency 563 of 690: libappstream5:amd64=1.1.3-1 Downloading dependency 564 of 690: libxml-sax-base-perl:amd64=1.09-3 Downloading dependency 565 of 690: libconfig-inifiles-perl:amd64=3.000003-5 Downloading dependency 566 of 690: libpangocairo-1.0-0:amd64=1.58.0-1 Downloading dependency 567 of 690: libqt6help6:amd64=6.10.2-3 Downloading dependency 568 of 690: libxcb-keysyms1:amd64=0.4.1-1+b2 Downloading dependency 569 of 690: libthai-data:amd64=0.1.30-2 Downloading dependency 570 of 690: libstdc++-15-dev:amd64=15.3.0-1 Downloading dependency 571 of 690: libdatrie1:amd64=0.2.14-2 Downloading dependency 572 of 690: libctf-nobfd0:amd64=2.46.50.20260617-1 Downloading dependency 573 of 690: libhttp-date-perl:amd64=6.08-1 Downloading dependency 574 of 690: hdf5-helpers:amd64=1.14.6+repack-2+b1 Downloading dependency 575 of 690: libfile-stripnondeterminism-perl:amd64=1.15.1-1 Downloading dependency 576 of 690: libngtcp2-crypto-gnutls8:amd64=1.22.1-1 Downloading dependency 577 of 690: util-linux:amd64=2.42.2-1 Downloading dependency 578 of 690: libtiff6:amd64=4.7.2-1 Downloading dependency 579 of 690: libparse-recdescent-perl:amd64=1.967015+dfsg-4 Downloading dependency 580 of 690: gcc-x86-64-linux-gnu:amd64=4:15.2.0-5+b1 Downloading dependency 581 of 690: libpciaccess0:amd64=0.19-2 Downloading dependency 582 of 690: libsqlite3-0:amd64=3.53.3-1 Downloading dependency 583 of 690: libcgi-pm-perl:amd64=4.72-1 Downloading dependency 584 of 690: libclass-data-inheritable-perl:amd64=0.10-1 Downloading dependency 585 of 690: libclass-singleton-perl:amd64=1.6-2 Downloading dependency 586 of 690: readline-common:amd64=8.3-4 Downloading dependency 587 of 690: pci.ids:amd64=0.0~2026.07.06-1 Downloading dependency 588 of 690: libhtml-parser-perl:amd64=3.83-2 Downloading dependency 589 of 690: libio-interactive-perl:amd64=1.027-1 Downloading dependency 590 of 690: libdrm2:amd64=2.4.134-3 Downloading dependency 591 of 690: libgdbm-compat4t64:amd64=1.26-1+b2 Downloading dependency 592 of 690: ncurses-base:amd64=6.6+20260608-2 Downloading dependency 593 of 690: libdebconfclient0:amd64=0.283 Downloading dependency 594 of 690: libglvnd0:amd64=1.7.0-3+b1 Downloading dependency 595 of 690: unzip:amd64=6.0-29 Downloading dependency 596 of 690: libevent-2.1-7t64:amd64=2.1.13-stable-1 Downloading dependency 597 of 690: g++:amd64=4:15.2.0-5+b1 Downloading dependency 598 of 690: libinput10:amd64=1.31.3-1 Downloading dependency 599 of 690: libyaml-pp-perl:amd64=0.41.0-1 Downloading dependency 600 of 690: make:amd64=4.4.1-3 Downloading dependency 601 of 690: libssh2-1t64:amd64=1.11.1-4 Downloading dependency 602 of 690: cpp:amd64=4:15.2.0-5+b1 Downloading dependency 603 of 690: libhdf5-hl-310:amd64=1.14.6+repack-2+b1 Downloading dependency 604 of 690: libcrypt1:amd64=1:4.5.1-1+b1 Downloading dependency 605 of 690: libfribidi0:amd64=1.0.16-5+b1 Downloading dependency 606 of 690: libxfixes3:amd64=1:6.0.0-2+b5 Downloading dependency 607 of 690: debianutils:amd64=5.23.2 Downloading dependency 608 of 690: libglu1-mesa:amd64=9.0.2-1.1+b4 Downloading dependency 609 of 690: libgnutls28-dev:amd64=3.8.13-1 Downloading dependency 610 of 690: libb2-1:amd64=0.98.1-1.1+b3 Downloading dependency 611 of 690: libdbus-1-3:amd64=1.16.2-5+b1 Downloading dependency 612 of 690: automake:amd64=1:1.18.1-4 Downloading dependency 613 of 690: libdynaloader-functions-perl:amd64=0.004-2 Downloading dependency 614 of 690: libxcb-xfixes0:amd64=1.17.0-2+b2 Downloading dependency 615 of 690: libhdf5-hl-fortran-310:amd64=1.14.6+repack-2+b1 Downloading dependency 616 of 690: libxcb1:amd64=1.17.0-2+b2 Downloading dependency 617 of 690: libjbig0:amd64=2.1-6.1+b3 Downloading dependency 618 of 690: libsub-exporter-perl:amd64=0.990-1 Downloading dependency 619 of 690: libnetaddr-ip-perl:amd64=4.079+dfsg-2+b5 Downloading dependency 620 of 690: libqhull-r8.0:amd64=2020.2-9 Downloading dependency 621 of 690: libregexp-pattern-license-perl:amd64=3.11.2-1 Downloading dependency 622 of 690: libgav1-2:amd64=0.20.0-2+b1Get:1 http://deb.debian.org/debian unstable/main amd64 libgav1-2 amd64 0.20.0-2+b1 [372 kB] Fetched 372 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb9_jeqyh/libgav1-2_0.20.0-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libavahi-common3 amd64 0.8-18 [45.2 kB] Fetched 45.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_puizkl0/libavahi-common3_0.8-18_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcups2t64 amd64 2.4.18-1 [252 kB] Fetched 252 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpsuo6f0c6/libcups2t64_2.4.18-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmodule-runtime-perl all 0.018-1 [17.8 kB] Fetched 17.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpja_zf29j/libmodule-runtime-perl_0.018-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libconfig-tiny-perl all 2.30-1 [18.9 kB] Fetched 18.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp74sx2cbn/libconfig-tiny-perl_2.30-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 gcc amd64 4:15.2.0-5+b1 [5160 B] Fetched 5160 B in 0s (0 B/s) dpkg-name: info: moved 'gcc_4%3a15.2.0-5+b1_amd64.deb' to '/srv/rebuilderd/tmp/tmpa_1ubknb/gcc_15.2.0-5+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Fetched 104 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpy3aqtcly/libarchive-zip-perl_1.68-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmpfr6 amd64 4.2.2-3 [729 kB] Fetched 729 kB in 0s (64.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpkxzw7d2h/libmpfr6_4.2.2-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblog-log4perl-perl all 1.57-1 [367 kB] Fetched 367 kB in 0s (36.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphq4w257s/liblog-log4perl-perl_1.57-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmoox-aliases-perl all 0.001006-3 [6996 B] Fetched 6996 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk3djtkxa/libmoox-aliases-perl_0.001006-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 coreutils amd64 9.10-1 [3142 kB] Fetched 3142 kB in 0s (136 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgovlugro/coreutils_9.10-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmousex-nativetraits-perl all 1.09-3 [53.5 kB] Fetched 53.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpm403vu86/libmousex-nativetraits-perl_1.09-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdav1d7 amd64 1.5.3-1+b2 [563 kB] Fetched 563 kB in 0s (50.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpihi4300t/libdav1d7_1.5.3-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.47-4 [345 kB] Fetched 345 kB in 0s (0 B/s) dpkg-name: info: moved 'libmagic-mgc_1%3a5.47-4_amd64.deb' to '/srv/rebuilderd/tmp/tmphoirkh0u/libmagic-mgc_5.47-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libqt6xml6 amd64 6.10.2+dfsg-15 [83.9 kB] Fetched 83.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpeoscfsd3/libqt6xml6_6.10.2+dfsg-15_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmplg3zncaa/libnet-ipv6addr-perl_1.02-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhttp-cookies-perl all 6.11-1 [19.1 kB] Fetched 19.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7sjgo8t_/libhttp-cookies-perl_6.11-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp3wc3uakm/init-system-helpers_1.69_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libsub-quote-perl all 2.006009-1 [21.3 kB] Fetched 21.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6koiut_z/libsub-quote-perl_2.006009-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libavif16 amd64 1.4.2-1 [147 kB] Fetched 147 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv74aaknk/libavif16_1.4.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdata-messagepack-perl amd64 1.02-3 [32.6 kB] Fetched 32.6 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_e4thiez/libdata-messagepack-perl_1.02-3_amd64.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libgbm1 amd64 26.1.4-1 [54.8 kB] Fetched 54.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplnosaoxr/libgbm1_26.1.4-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtext-markdown-discount-perl amd64 0.18-1 [13.1 kB] Fetched 13.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpy1gomuza/libtext-markdown-discount-perl_0.18-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libimagequant0 amd64 4.4.1-1+b2 [255 kB] Fetched 255 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp71j8x79p/libimagequant0_4.4.1-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmpnovrr3rs/libhtml-tagset-perl_3.24-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libx11-dev amd64 2:1.8.13-1 [903 kB] Fetched 903 kB in 0s (75.0 MB/s) dpkg-name: info: moved 'libx11-dev_2%3a1.8.13-1_amd64.deb' to '/srv/rebuilderd/tmp/tmpg629ondc/libx11-dev_1.8.13-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libkadm5srv-mit12 amd64 1.22.1-3 [54.1 kB] Fetched 54.1 kB in 0s (4681 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpe5s1m0_u/libkadm5srv-mit12_1.22.1-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgetopt-long-descriptive-perl all 0.117-1 [29.8 kB] Fetched 29.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpuo4tc_y_/libgetopt-long-descriptive-perl_0.117-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 plzip amd64 1.13-1 [66.1 kB] Fetched 66.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3msr93at/plzip_1.13-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 xkb-data all 2.47-1 [835 kB] Fetched 835 kB in 0s (69.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpncqeqsqi/xkb-data_2.47-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 dpkg amd64 1.23.7 [1531 kB] Fetched 1531 kB in 0s (97.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbsgv46n1/dpkg_1.23.7_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 build-essential amd64 12.12 [4624 B] Fetched 4624 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp8xnuomcp/build-essential_12.12_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-glx0 amd64 1.17.0-2+b2 [122 kB] Fetched 122 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp40pemfny/libxcb-glx0_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 liblapack3 amd64 3.12.1-8 [2548 kB] Fetched 2548 kB in 0s (116 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7nywlccb/liblapack3_3.12.1-8_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libheif1 amd64 1.23.1-1 [761 kB] Fetched 761 kB in 0s (64.0 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo1xjfqs4/libheif1_1.23.1-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libpixman-1-0 amd64 0.46.4-1+b2 [259 kB] Fetched 259 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmphjxjembo/libpixman-1-0_0.46.4-1+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgl1 amd64 1.7.0-3+b1 [87.1 kB] Fetched 87.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3_eyrbbk/libgl1_1.7.0-3+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 ncurses-bin amd64 6.6+20260608-2 [445 kB] Fetched 445 kB in 0s (41.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmx60xirf/ncurses-bin_6.6+20260608-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libkeyutils1 amd64 1.6.3-6+b2 [9348 B] Fetched 9348 B in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpfj7trf0l/libkeyutils1_1.6.3-6+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp8vtyb7aw/libxml-namespacesupport-perl_1.12-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfltk1.4 amd64 1.4.4-4 [595 kB] Fetched 595 kB in 0s (55.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpb4_uuvxg/libfltk1.4_1.4.4-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libio-tiecombine-perl all 1.005-3 [10.8 kB] Fetched 10.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbkzh90b9/libio-tiecombine-perl_1.005-3_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libwayland-client0 amd64 1.25.0-2 [29.2 kB] Fetched 29.2 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpmg6weqa3/libwayland-client0_1.25.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxs-parse-keyword-perl amd64 0.49-1 [66.1 kB] Fetched 66.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpk2nn5s5h/libxs-parse-keyword-perl_0.49-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libcairo2 amd64 1.18.4-3+b1 [543 kB] Fetched 543 kB in 0s (51.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpldwrz6kl/libcairo2_1.18.4-3+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 comerr-dev amd64 2.1-1.47.4-1 [50.9 kB] Fetched 50.9 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpimndy260/comerr-dev_2.1-1.47.4-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 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/tmp2muksmao/libfeature-compat-class-perl_0.08-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdecor-0-0 amd64 0.2.5-1+b1 [15.8 kB] Fetched 15.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4g6b_g57/libdecor-0-0_0.2.5-1+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libarray-intspan-perl all 2.004-2 [25.7 kB] Fetched 25.7 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp0m9ee2ky/libarray-intspan-perl_2.004-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libz3-4 amd64 4.13.3-1.1 [8644 kB] Fetched 8644 kB in 0s (163 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmps365w3n2/libz3-4_4.13.3-1.1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libhttp-negotiate-perl all 6.01-2 [13.1 kB] Fetched 13.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpgx2h0sa7/libhttp-negotiate-perl_6.01-2_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 t1utils amd64 1.41-4 [62.1 kB] Fetched 62.1 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpyt8jrchk/t1utils_1.41-4_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libc-bin amd64 2.42-17 [620 kB] Fetched 620 kB in 0s (57.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvekw9y0/libc-bin_2.42-17_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libberkeleydb-perl amd64 0.66-2+b1 [122 kB] Fetched 122 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpl8lj6fw1/libberkeleydb-perl_0.66-2+b1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfontconfig1 amd64 2.17.1-5 [132 kB] Fetched 132 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpq7knnhjn/libfontconfig1_2.17.1-5_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdevel-size-perl amd64 0.87-1 [23.8 kB] Fetched 23.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpw5jf_feg/libdevel-size-perl_0.87-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdatetime-format-strptime-perl all 1.8000-1 [33.8 kB] Fetched 33.8 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7qbzddrs/libdatetime-format-strptime-perl_1.8000-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libconfig-model-perl all 2.165-1 [410 kB] Fetched 410 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmplb60t7nv/libconfig-model-perl_2.165-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libxcb-shape0 amd64 1.17.0-2+b2 [106 kB] Fetched 106 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpo0lixp0u/libxcb-shape0_1.17.0-2+b2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdevel-stacktrace-perl all 2.0500-1 [26.4 kB] Fetched 26.4 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp7w95kx0q/libdevel-stacktrace-perl_2.0500-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libexporter-tiny-perl all 1.006003-1 [37.5 kB] Fetched 37.5 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4mw6ktck/libexporter-tiny-perl_1.006003-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 libmount1 amd64 2.42.2-1 [215 kB] Fetched 215 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpztv1bc2m/libmount1_2.42.2-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libdrm-amdgpu1 amd64 2.4.134-3 [23.3 kB] Fetched 23.3 kB in 0s (0 B/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp5_g92tzg/libdrm-amdgpu1_2.4.134-3_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libfftw3-quad3 amd64 3.3.11-1 [554 kB] Fetched 554 kB in 0s (48.4 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpn64d0f_q/libfftw3-quad3_3.3.11-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libtimedate-perl all 2.3500-1 [64.2 kB] Fetched 64.2 kB in 0s (6280 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp3wpyx9b0/libtimedate-perl_2.3500-1_all.deb' Get:1 http://snapshot.debian.org/archive/debian/20260709T201930Z unstable/main amd64 binutils-x86-64-linux-gnu amd64 2.46.50.20260617-1 [1077 kB] Fetched 1077 kB in 0s (69.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpabtr78kj/binutils-x86-64-linux-gnu_2.46.50.20260617-1_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libstring-license-perl all 0.0.11-1 [34.7 kB] Fetched 34.7 kB in 0s (3333 kB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpbxo9qw6l/libstring-license-perl_0.0.11-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libgfortran5 amd64 16.1.0-2 [877 kB] Fetched 877 kB in 0s (61.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpw6btj6p2/libgfortran5_16.1.0-2_amd64.deb' Get:1 http://deb.debian.org/debian unstable/main amd64 libmouse-perl amd64 2.6.2-1 [143 kB] Fetched 143 kB in 0s (12.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp6hu678ku/libmouse-perl_2.6.2-1_amd64.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/tmpl5kqjrr3/cache directory, not in ".." as indicated by the message above! I: automatically chosen mode: unshare I: chroot architecture amd64 is equal to the host's architecture I: using /srv/rebuilderd/tmp/mmdebstrap.WcsX9YD38O as tempdir I: running --setup-hook directly: /usr/share/mmdebstrap/hooks/maybe-merged-usr/setup00.sh /srv/rebuilderd/tmp/mmdebstrap.WcsX9YD38O 127.0.0.1 - - [18/Jul/2026 00:49:08] code 404, message File not found 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./InRelease HTTP/1.1" 404 - Ign:1 http://localhost:36717 ./ InRelease 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./Release HTTP/1.1" 200 - Get:2 http://localhost:36717 ./ Release [462 B] 127.0.0.1 - - [18/Jul/2026 00:49:08] code 404, message File not found 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./Release.gpg HTTP/1.1" 404 - Ign:3 http://localhost:36717 ./ Release.gpg 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./Packages HTTP/1.1" 200 - Get:4 http://localhost:36717 ./ Packages [852 kB] Fetched 853 kB in 0s (42.9 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 00:49:08] "GET /./gcc-16-base_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libc-gconv-modules-extra_2.42-17_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libc6_2.42-17_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libgcc-s1_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./mawk_1.3.4.20260302-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./base-files_14.2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libtinfo6_6.6%2b20260608-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./debianutils_5.23.2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./bash_5.3-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libacl1_2.4.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libattr1_2.6.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libgmp10_6.3.0%2bdfsg-5%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libpcre2-8-0_10.46-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libselinux1_3.10-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libzstd1_1.5.7%2bdfsg-3%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./zlib1g_1.3.dfsg%2breally1.3.2-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libssl3t64_3.6.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./openssl-provider-legacy_3.6.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libsystemd0_261.1-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./coreutils_9.10-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./dash_0.5.12-12_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./diffutils_3.12-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libbz2-1.0_1.0.8-6%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./liblzma5_5.8.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libmd0_1.2.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./tar_1.35%2bdfsg-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./dpkg_1.23.7_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./findutils_4.10.0-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./grep_3.12-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./gzip_1.13-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./hostname_3.25_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./ncurses-bin_6.6%2b20260608-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libcrypt1_4.5.1-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./perl-base_5.40.1-8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./sed_4.9-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libaudit-common_4.1.2-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libcap-ng0_0.9.3-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libaudit1_4.1.2-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libdb5.3t64_5.3.28%2bdfsg2-11%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./debconf_1.5.92_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libpam0g_1.7.0-8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libpam-modules-bin_1.7.0-8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libpam-modules_1.7.0-8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libpam-runtime_1.7.0-8_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libblkid1_2.42.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libmount1_2.42.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libsmartcols1_2.42.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libudev1_261.1-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libuuid1_2.42.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./util-linux_2.42.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libdebconfclient0_0.283_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./base-passwd_3.6.8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./init-system-helpers_1.69_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./libc-bin_2.42-17_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./ncurses-base_6.6%2b20260608-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:49:08] "GET /./sysvinit-utils_3.18-1_amd64.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.WcsX9YD38O 127.0.0.1 - - [18/Jul/2026 00:49:10] code 404, message File not found 127.0.0.1 - - [18/Jul/2026 00:49:10] "GET /./InRelease HTTP/1.1" 404 - Ign:1 http://localhost:36717 ./ InRelease 127.0.0.1 - - [18/Jul/2026 00:49:10] "GET /./Release HTTP/1.1" 304 - Hit:2 http://localhost:36717 ./ Release 127.0.0.1 - - [18/Jul/2026 00:49:10] code 404, message File not found 127.0.0.1 - - [18/Jul/2026 00:49:10] "GET /./Release.gpg HTTP/1.1" 404 - Ign:3 http://localhost:36717 ./ 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.WcsX9YD38O 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 00:50:17] "GET /./libexpat1_2.8.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./sensible-utils_0.0.26_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./tzdata_2026b-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libstdc%2b%2b6_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libuchardet0_0.0.8-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./groff-base_1.24.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./bsdextrautils_2.42.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libgdbm6t64_1.26-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libpipeline1_1.5.8-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libseccomp2_2.6.0-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./man-db_2.13.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./netbase_6.5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libncursesw6_6.6%2b20260608-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libproc2-1_4.0.6-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./procps_4.0.6-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./bzip2_1.0.8-6%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./openssl_3.6.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./ca-certificates_20260601_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libmagic-mgc_5.47-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libmagic1t64_5.47-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./file_5.47-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./gettext-base_1.0-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./perl-modules-5.40_5.40.1-8_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libgdbm-compat4t64_1.26-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libperl5.40_5.40.1-8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./perl_5.40.1-8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libtext-charwidth-perl_0.04-12_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libtext-wrapi18n-perl_0.06-11_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./ucf_3.0056_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./xz-utils_5.8.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./aglfn_1.7%2bgit20191031.4036a9c-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libatomic1_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libffi8_3.5.2-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libglib2.0-0t64_2.88.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libxml2-16_2.15.3%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./shared-mime-info_2.4-5%2bb3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libnghttp3-9_1.15.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libngtcp2-16_1.22.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libbrotli1_1.2.0-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libnettle8t64_3.10.2-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libhogweed6t64_3.10.2-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libunistring5_1.4.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libidn2-0_2.3.8-5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libp11-kit0_0.26.4-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libtasn1-6_4.21.0-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libgnutls30t64_3.8.13-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libkrb5support0_1.22.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libcom-err2_1.47.4-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libk5crypto3_1.22.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libkeyutils1_1.6.3-6%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libkrb5-3_1.22.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libgssapi-krb5-2_1.22.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libsasl2-modules-db_2.1.28%2bdfsg1-11_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libsasl2-2_2.1.28%2bdfsg1-11_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libldap2_2.6.13%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libnghttp2-14_1.69.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libngtcp2-crypto-gnutls8_1.22.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libpsl5t64_0.22.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libssh2-1t64_1.11.1-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libcurl4-gnutls_8.21.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libfyaml0_0.9.4-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libstemmer0d_3.1.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libxmlb2_0.3.28-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libappstream5_1.1.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./appstream_1.1.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./m4_1.4.21-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./autoconf_2.73-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./autotools-dev_20240727.1%2bnmu1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./automake_1.18.1-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./autopoint_1.0-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libsframe3_2.46.50.20260617-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./binutils-common_2.46.50.20260617-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libbinutils_2.46.50.20260617-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libgprofng0_2.46.50.20260617-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libctf-nobfd0_2.46.50.20260617-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libctf0_2.46.50.20260617-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libjansson4_2.15.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./binutils-x86-64-linux-gnu_2.46.50.20260617-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./binutils_2.46.50.20260617-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libc-dev-bin_2.42-17_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./linux-libc-dev_7.1.3-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./rpcsvc-proto_1.4.4-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libc6-dev_2.42-17_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./gcc-15-base_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libisl23_0.27-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libmpfr6_4.2.2-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libmpc3_1.3.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./cpp-15-x86-64-linux-gnu_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./cpp-15_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./cpp-x86-64-linux-gnu_15.2.0-5%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./cpp_15.2.0-5%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libcc1-0_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libgomp1_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libitm1_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libasan8_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./liblsan0_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libtsan2_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libubsan1_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libhwasan0_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libquadmath0_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libgcc-15-dev_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./gcc-15-x86-64-linux-gnu_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./gcc-15_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./gcc-x86-64-linux-gnu_15.2.0-5%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./gcc_15.2.0-5%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:17] "GET /./libstdc%2b%2b-15-dev_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./g%2b%2b-15-x86-64-linux-gnu_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./g%2b%2b-15_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./g%2b%2b-x86-64-linux-gnu_15.2.0-5%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./g%2b%2b_15.2.0-5%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./make_4.4.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdpkg-perl_1.23.7_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./patch_2.8-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./dpkg-dev_1.23.7_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./build-essential_12.12_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libcapture-tiny-perl_0.50-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libparams-util-perl_1.102-3%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libsub-install-perl_0.929-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdata-optlist-perl_0.114-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libb-hooks-op-check-perl_0.22-3%2bb4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdynaloader-functions-perl_0.004-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdevel-callchecker-perl_0.009-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libparams-classify-perl_0.015-2%2bb5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libmodule-runtime-perl_0.018-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libtry-tiny-perl_0.32-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libmodule-implementation-perl_0.09-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libpackage-stash-perl_0.40-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libclass-load-perl_0.25-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libio-stringy-perl_2.113-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libparams-validate-perl_1.31-2%2bb4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libsub-exporter-perl_0.990-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libgetopt-long-descriptive-perl_0.117-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libio-tiecombine-perl_1.005-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libmodule-pluggable-perl_6.3-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libstring-rewriteprefix-perl_0.009-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libapp-cmd-perl_0.340-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libboolean-perl_0.46-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libsub-uplevel-perl_0.2800-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libtest-exception-perl_0.43-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libcarp-assert-more-perl_2.9.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfile-which-perl_1.27-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfile-homedir-perl_1.006-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libclone-choose-perl_0.010-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libhash-merge-perl_0.302-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libexporter-tiny-perl_1.006003-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./liblist-moreutils-xs-perl_0.430-4%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./liblist-moreutils-perl_0.430-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./liblog-log4perl-perl_1.57-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libmouse-perl_2.6.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libmousex-nativetraits-perl_1.09-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libmousex-strictconstructor-perl_0.02-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libparse-recdescent-perl_1.967015%2bdfsg-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libpath-tiny-perl_0.150-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libregexp-common-perl_2024080801-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libconfig-model-perl_2.165-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libjson-perl_4.10000-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libpod-pom-perl_2.01-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libyaml-pp-perl_0.41.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./cme_1.049-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./comerr-dev_2.1-1.47.4-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdebhelper-perl_14.3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libtool_2.5.4-11_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./dh-autoreconf_22_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libarchive-zip-perl_1.68-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfile-stripnondeterminism-perl_1.15.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./dh-strip-nondeterminism_1.15.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libelf1t64_0.195-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./dwz_0.16-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./gettext_1.0-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./intltool-debian_0.35.0%2b20060710.6_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./po-debconf_1.0.22_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./debhelper_14.3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./perl-openssl-defaults_7%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libnet-ssleay-perl_1.96-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libio-socket-ssl-perl_2.099-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxau6_1.0.11-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxdmcp6_1.1.5-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxcb1_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./xorg-sgml-doctools_1.12.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./x11proto-dev_2025.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxau-dev_1.0.11-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxdmcp-dev_1.1.5-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxcb1-dev_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libbsd0_0.12.2-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libedit2_3.1-20260512-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libsub-name-perl_0.28-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libidn2-dev_2.3.8-5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libx11-data_1.8.13-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libx11-6_1.8.13-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxpm4_3.5.19-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libclass-inspector-perl_1.36-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libgssrpc4t64_1.22.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libkadm5clnt-mit12_1.22.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libkdb5-10t64_1.22.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libkadm5srv-mit12_1.22.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./krb5-multidev_1.22.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libsub-exporter-progressive-perl_0.001013-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libgfortran5_16.1.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libgfortran-15-dev_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./gfortran-15-x86-64-linux-gnu_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./gfortran-x86-64-linux-gnu_15.2.0-5%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libicu78_78.3-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./liblz1_1.16-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libunistring-dev_1.4.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./patchutils_0.4.5-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfile-sharedir-perl_1.118-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libvariable-magic-perl_0.64-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libb-hooks-endofscope-perl_0.28-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libsub-identify-perl_0.14-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libnamespace-clean-perl_0.27-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libnamespace-autoclean-perl_0.31-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libeval-closure-perl_0.14-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libclass-data-inheritable-perl_0.10-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdevel-stacktrace-perl_2.0500-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libexception-class-perl_1.45-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libparams-validationcompiler-perl_0.31-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libclone-perl_0.50-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libclone-pp-perl_1.08-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libalgorithm-c3-perl_0.11-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libclass-c3-perl_0.35-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libmro-compat-perl_0.15-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libclass-method-modifiers-perl_2.15-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./librole-tiny-perl_2.002005-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libsub-quote-perl_2.006009-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxstring-perl_0.005-2%2bb5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libspecio-perl_0.53-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdatetime-locale-perl_1.45-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libclass-singleton-perl_1.6-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdatetime-timezone-perl_2.69-1%2b2026c_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdatetime-perl_1.65-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdatetime-format-strptime-perl_1.8000-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdatetime-format-builder-perl_0.8300-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdatetime-format-iso8601-perl_0.19-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libnet-ipv6addr-perl_1.02-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libnet-netmask-perl_2.0003-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libnetaddr-ip-perl_4.079%2bdfsg-2%2bb5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdata-validate-ip-perl_0.31-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libts0t64_1.22-1.1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libpkgconf7_2.5.1-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./pkgconf-bin_2.5.1-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libduktape207_2.7.0-2%2bb3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./liblist-someutils-perl_0.59-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libipc-system-simple-perl_1.30-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfile-basedir-perl_0.09-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libstrictures-perl_2.000006-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libmarkdown2_2.2.7-2.1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxcb-xkb1_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libsafe-isa-perl_1.000010-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libb-keywords-perl_1.29-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libtask-weaken-perl_1.06-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libppi-perl_1.291-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libppix-utils-perl_0.003-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libtext-unidecode-perl_1.30-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libintl-perl_1.37-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxml-namespacesupport-perl_1.12-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxml-sax-base-perl_1.09-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxml-sax-perl_1.02%2bdfsg-5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libxml-libxml-perl_2.0207%2bdfsg%2breally%2b2.0134-8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./texinfo-lib_7.3-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./tex-common_6.20_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./texinfo_7.3-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./liblist-utilsby-perl_0.12-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./gfortran-15_15.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libngtcp2-dev_1.22.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libterm-readkey-perl_2.38-2%2bb4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libconvert-binhex-perl_1.125-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libreadonly-perl_2.050-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libppix-quotelike-perl_0.024-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libregexp-wildcards-perl_1.05-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libkrb5-dev_1.22.1-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfftw3-double3_3.3.11-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfftw3-long3_3.3.11-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfftw3-quad3_3.3.11-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfftw3-single3_3.3.11-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfftw3-bin_3.3.11-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfftw3-dev_3.3.11-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./perltidy_20250105-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfile-libmagic-perl_1.23-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libwayland-client0_1.25.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libwayland-cursor0_1.25.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libhtml-tagset-perl_3.24-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./liburi-perl_5.35-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libhtml-parser-perl_3.83-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libcgi-pm-perl_4.72-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libencode-locale-perl_1.05-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libtimedate-perl_2.3500-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libhttp-date-perl_6.08-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libio-html-perl_1.004-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./liblwp-mediatypes-perl_6.04-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libhttp-message-perl_7.02-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libhtml-form-perl_6.13-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libhtml-tree-perl_5.07-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libhttp-cookies-perl_6.11-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfile-listing-perl_6.16-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libhttp-negotiate-perl_6.01-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libnet-http-perl_6.24-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./liblwp-protocol-https-perl_6.15-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libwww-robotrules-perl_6.03-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libwww-perl_6.83-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libwww-mechanize-perl_2.22-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libperlio-gzip-perl_0.20-1%2bb4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./librav1e0.8_0.8.1-10_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libsharpyuv0_1.5.0-0.1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdav1d7_1.5.3-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libheif-plugin-dav1d_1.23.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libheif1_1.23.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libde265-0_1.1.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libheif-plugin-libde265_1.23.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./readline-common_8.3-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libreadline8t64_8.3-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libncurses6_6.6%2b20260608-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libncurses-dev_6.6%2b20260608-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libreadline-dev_8.3-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libwmflite-0.2-7_0.2.14-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libwebp7_1.5.0-0.1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libmd4c0_0.5.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./librtmp1_2.6-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libb2-1_0.98.1-1.1%2bb3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdouble-conversion3_3.4.0-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libpcre2-16-0_10.46-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libqt6core6t64_6.10.2%2bdfsg-15_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libaom3_3.13.1-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libabsl20260107_20260107.0-5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libgav1-2_0.20.0-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libsvtav1enc4_4.1.0%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libjpeg62-turbo_3.1.3-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libyuv0_0.0.1949.20260706-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libavif16_1.4.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libpng16-16t64_1.6.58-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfreetype6_2.14.3%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./fonts-freefont-otf_20211204%2bsvn4273-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./fontconfig-config_2.17.1-5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libfontconfig1_2.17.1-5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libimagequant0_4.4.1-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdeflate0_1.25-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libjbig0_2.1-6.1%2bb3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./liblerc4_4.1.1%2bds-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libtiff6_4.7.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libgd3_2.3.3-13%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdrm-common_2.4.134-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdrm2_2.4.134-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdrm-amdgpu1_2.4.134-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./pci.ids_0.0%7e2026.07.06-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libpciaccess0_0.19-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libdrm-intel1_2.4.134-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libz3-4_4.13.3-1.1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:18] "GET /./libllvm21_21.1.8-7%2bb4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsensors-config_3.6.2-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsensors5_3.6.2-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libx11-xcb1_1.8.13-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-dri3-0_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-present0_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-randr0_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-sync1_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-xfixes0_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxshmfence1_1.3.3-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./mesa-libgallium_26.1.4-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgbm1_26.1.4-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libvulkan1_1.4.341.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgl1-mesa-dri_26.1.4-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-glx0_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-shm0_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxext6_1.3.4-1%2bb4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxxf86vm1_1.1.4-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libglx-mesa0_26.1.4-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgpg-error0_1.61-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgcrypt20_1.12.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgmpxx4ldbl_6.3.0%2bdfsg-5%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgmp-dev_6.3.0%2bdfsg-5%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./nettle-dev_3.10.2-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsuitesparseconfig7_7.12.2%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libamd3_7.12.2%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libblas3_3.12.1-8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./liblapack3_3.12.1-8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libarpack2t64_3.9.1-6%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libccolamd3_7.12.2%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libcamd3_7.12.2%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libcolamd3_7.12.2%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libcholmod5_7.12.2%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libcxsparse4_7.12.2%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libpixman-1-0_0.46.4-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-render0_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxrender1_0.9.12-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libcairo2_1.18.4-3%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libdbus-1-3_1.16.2-5%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libdecor-0-0_0.2.5-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./fontconfig_2.17.1-5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libfribidi0_1.0.16-5%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgraphite2-3_1.3.15-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libharfbuzz0b_12.3.2-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libthai-data_0.1.30-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libdatrie1_0.2.14-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libthai0_0.1.30-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libpango-1.0-0_1.58.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libpangoft2-1.0-0_1.58.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libpangocairo-1.0-0_1.58.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxfixes3_6.0.0-2%2bb5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcursor1_1.2.3-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxinerama1_1.1.4-3%2bb5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./xkb-data_2.47-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxkbcommon0_1.13.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libfltk1.4_1.4.4-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libglvnd0_1.7.0-3%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libegl-mesa0_26.1.4-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libegl1_1.7.0-3%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libglx0_1.7.0-3%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgl1_1.7.0-3%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libopengl0_1.7.0-3%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libglu1-mesa_9.0.2-1.1%2bb4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libwayland-egl1_1.25.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libfltk-gl1.4_1.4.4-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgl2ps1.4_1.4.2%2bdfsg1-4%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libltdl7_2.5.4-11_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libglpk40_5.0-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libhwy1t64_1.3.0-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./liblcms2-2_2.19.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libjxl0.11_0.11.2-5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libwebpmux3_1.5.0-0.1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgraphicsmagick-q16-3t64_1.4%2breally1.3.46-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgraphicsmagick%2b%2b-q16-12t64_1.4%2breally1.3.46-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libngtcp2-crypto-ossl0_1.22.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libcurl4t64_8.21.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsz2_1.1.7-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libhdf5-310_1.14.6%2brepack-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libasound2-data_1.2.16.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libasound2t64_1.2.16.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libopus0_1.6.1-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsamplerate0_0.2.2-4%2bb3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libjack-jackd2-0_1.9.22%7edfsg-5%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libportaudio2_19.7.0-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqhull-r8.0_2020.2-9_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqrupdate1_1.1.5-3%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqscintilla2-qt6-l10n_2.14.1%2bdfsg-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./x11-common_7.7%2b26_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libice6_1.1.1-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libevdev2_1.13.6%2bdfsg-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libmtdev1t64_1.1.7-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgudev-1.0-0_238-7%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libwacom-common_2.18.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libwacom9_2.18.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libinput-bin_1.31.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libinput10_1.31.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqt6dbus6_6.10.2%2bdfsg-15_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsm6_1.2.6-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-util1_0.4.1-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-image0_0.4.0-2%2bb3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-render-util0_0.3.10-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-cursor0_0.1.6-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-icccm4_0.4.2-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-keysyms1_0.4.1-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-shape0_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxcb-xinput0_1.17.0-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxkbcommon-x11-0_1.13.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqt6gui6_6.10.2%2bdfsg-15_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libavahi-common-data_0.8-18_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libavahi-common3_0.8-18_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libavahi-client3_0.8-18_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libcups2t64_2.4.18-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqt6widgets6_6.10.2%2bdfsg-15_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqt6printsupport6_6.10.2%2bdfsg-15_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqscintilla2-qt6-15_2.14.1%2bdfsg-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqt6core5compat6_6.10.2-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqt6sql6_6.10.2%2bdfsg-15_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqt6help6_6.10.2-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libcurl3t64-gnutls_8.21.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libproxy1v5_0.5.12-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqt6network6_6.10.2%2bdfsg-15_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqt6opengl6_6.10.2%2bdfsg-15_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqt6openglwidgets6_6.10.2%2bdfsg-15_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libqt6xml6_6.10.2%2bdfsg-15_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libogg0_1.3.6-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libflac14_1.5.0%2bds-5%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libmpg123-0t64_1.33.6-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libmp3lame0_3.101%7esvn6531%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libvorbis0a_1.3.7-3%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libvorbisenc2_1.3.7-3%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsndfile1_1.2.2-4%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libspqr4_7.12.2%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libumfpack6_7.12.2%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./octave-common_11.3.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./octave_11.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libksba8_1.8.0-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libngtcp2-crypto-ossl-dev_1.22.1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libhdf5-hl-310_1.14.6%2brepack-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libhdf5-hl-cpp-310_1.14.6%2brepack-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libdata-section-perl_0.200008-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libaec0_1.1.7-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./zlib1g-dev_1.3.dfsg%2breally1.3.2-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libaliased-perl_0.34-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libclass-xsaccessor-perl_1.19-4%2bb5_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libiterator-perl_0.03%2bds1-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libiterator-util-perl_0.02%2bds1-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libdata-dpath-perl_0.60-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libipc-run3-perl_0.049-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libdatetime-format-rfc3339-perl_1.10.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtoml-tiny-perl_0.22-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libyaml-0-2_0.2.5-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libyaml-libyaml-perl_0.910.0%2bds-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libconfig-model-backend-yaml-perl_2.134-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtext-reform-perl_1.20-5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtext-autoformat-perl_1.750000-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libconst-fast-perl_0.014-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./xtrans-dev_1.6.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libx11-dev_1.8.13-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libglx-dev_1.7.0-3%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgl-dev_1.7.0-3%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./gnuplot-data_6.0.3%2bdfsg1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./liblua5.4-0_5.4.8-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./gnuplot-nox_6.0.3%2bdfsg1-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./dh-octave-autopkgtest_1.16.0_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libhdf5-cpp-310_1.14.6%2brepack-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtext-template-perl_1.61-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsoftware-license-perl_0.104007-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libyaml-tiny-perl_1.76-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsoftware-licensemoreutils-perl_1.009-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libimport-into-perl_1.002005-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsereal-encoder-perl_5.006%2bds-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libdata-messagepack-perl_1.02-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtext-xslate-perl_3.5.9-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtime-duration-perl_1.21-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtasn1-6-dev_4.21.0-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libclass-tiny-perl_1.008-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./liblingua-en-inflect-perl_1.905-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libpod-spell-perl_1.27-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libcpanel-json-xs-perl_4.42-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libjson-maybexs-perl_1.004008-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libnet-smtp-ssl-perl_1.04-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libmailtools-perl_2.22-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libhdf5-fortran-310_1.14.6%2brepack-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libhdf5-hl-fortran-310_1.14.6%2brepack-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libjpeg62-turbo-dev_3.1.3-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libjpeg-dev_3.1.3-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libaec-dev_1.1.7-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libbrotli-dev_1.2.0-3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libldap-dev_2.6.13%2bdfsg-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./pkgconf_2.5.1-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libnghttp2-dev_1.69.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libnghttp3-dev_1.15.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libpsl-dev_0.22.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libevent-2.1-7t64_2.1.13-stable-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libunbound8_1.25.1-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgnutls-dane0t64_3.8.13-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libp11-kit-dev_0.26.4-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libgnutls28-dev_3.8.13-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./librtmp-dev_2.6-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libssl-dev_3.6.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libssh2-1-dev_1.11.1-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libzstd-dev_1.5.7%2bdfsg-3%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libcurl4-openssl-dev_8.21.0-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./hdf5-helpers_1.14.6%2brepack-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libhdf5-dev_1.14.6%2brepack-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libblas-dev_3.12.1-8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./liblapack-dev_3.12.1-8_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./gfortran_15.2.0-5%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./octave-dev_11.3.0-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libassuan9_3.0.2-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./gpgconf_2.4.9-7_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libnpth0t64_1.8-3%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsqlite3-0_3.53.3-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./gpg_2.4.9-7_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxxhash0_0.8.3-2%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./liblz4-1_1.10.0-10_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libapt-pkg7.0_3.3.1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libapt-pkg-perl_0.1.43_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxs-parse-keyword-perl_0.49-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsyntax-keyword-try-perl_0.31-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libfeature-compat-try-perl_0.05-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libhtml-tokeparser-simple-perl_3.16-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libregexp-pattern-perl_0.2.14-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libindirect-perl_0.39-2%2bb4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libxs-parse-sublike-perl_0.41-1%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libobject-pad-perl_0.825-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libset-intspan-perl_1.19-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libarray-intspan-perl_2.004-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libconfig-inifiles-perl_3.000003-5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libexporter-lite-perl_0.09-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./liberror-perl_0.17030-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libparse-debcontrol-perl_2.005-6_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsoftware-copyright-perl_0.015-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsort-versions-perl_1.62-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtext-levenshtein-damerau-perl_0.41-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libfeature-compat-class-perl_0.08-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libio-interactive-perl_1.027-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./liblog-any-perl_1.720-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./liblog-any-adapter-screen-perl_0.141-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libnumber-compare-perl_0.03-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtext-glob-perl_0.11-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libpath-iterator-rule-perl_1.015-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libpod-parser-perl_1.67-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libpod-constants-perl_0.19-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libstring-copyright-perl_0.003014-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libstring-escape-perl_2010.002-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libregexp-pattern-license-perl_3.11.2-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libstring-license-perl_0.0.11-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./licensecheck_3.3.9-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./diffstat_1.69-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./iso-codes_4.20.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libberkeleydb-perl_0.66-2%2bb1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libconfig-tiny-perl_2.30-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libnet-domain-tld-perl_1.75-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libdata-validate-domain-perl_0.15-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libdata-validate-uri-perl_0.07-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libdevel-size-perl_0.87-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libemail-address-xs-perl_1.05-1%2bb4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libfile-find-rule-perl_0.35-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libio-string-perl_1.08-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libfont-ttf-perl_1.06-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libhtml-html5-entities-perl_0.004-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./liblist-compare-perl_0.55-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libmldbm-perl_2.05-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libmoo-perl_2.005005-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libmoox-aliases-perl_0.001006-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libperlio-utf8-strict-perl_0.010-1%2bb3_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libproc-processtable-perl_0.637-1%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libsereal-decoder-perl_5.006%2bds-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtext-levenshteinxs-perl_0.03-5%2bb4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtext-markdown-discount-perl_0.18-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtime-moment-perl_0.46-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libunicode-utf8-perl_0.72-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./plzip_1.13-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./liblzo2-2_2.10-3%2bb2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./lzop_1.04-2_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./t1utils_1.41-4_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./unzip_6.0-29_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./lintian_2.137.1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libconfig-model-dpkg-perl_3.024_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libppix-regexp-perl_0.092-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libmime-tools-perl_5.517-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libstring-format-perl_1.18-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libperl-critic-perl_1.156-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./libtext-wrapper-perl_1.05-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./dh-octave_1.16.0_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:19] "GET /./octave-io_2.7.2-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:20] "GET /./octave-datatypes_1.2.6-1_amd64.deb HTTP/1.1" 200 - 127.0.0.1 - - [18/Jul/2026 00:50:20] "GET /./debootsnap-dummy_1.0_all.deb HTTP/1.1" 200 - I: running --customize-hook directly: /srv/rebuilderd/tmp/tmpl5kqjrr3/apt_install.sh /srv/rebuilderd/tmp/mmdebstrap.WcsX9YD38O Reading package lists... Building dependency tree... Reading state information... libio-socket-ssl-perl is already the newest version (2.099-1). libio-socket-ssl-perl set to manually installed. libjson-perl is already the newest version (4.10000-1). libjson-perl set to manually installed. libxcb1-dev is already the newest version (1.17.0-2+b2). libxcb1-dev set to manually installed. po-debconf is already the newest version (1.0.22). po-debconf set to manually installed. perl-openssl-defaults is already the newest version (7+b2). perl-openssl-defaults set to manually installed. libedit2 is already the newest version (3.1-20260512-1). libedit2 set to manually installed. libsub-name-perl is already the newest version (0.28-1+b2). libsub-name-perl set to manually installed. libidn2-dev is already the newest version (2.3.8-5). libidn2-dev set to manually installed. libxpm4 is already the newest version (1:3.5.19-1). libxpm4 set to manually installed. libclass-inspector-perl is already the newest version (1.36-3). libclass-inspector-perl set to manually installed. krb5-multidev is already the newest version (1.22.1-3). krb5-multidev set to manually installed. libfyaml0 is already the newest version (0.9.4-1). libfyaml0 set to manually installed. libclass-load-perl is already the newest version (0.25-2). libclass-load-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. gfortran-x86-64-linux-gnu is already the newest version (4:15.2.0-5+b1). gfortran-x86-64-linux-gnu set to manually installed. libicu78 is already the newest version (78.3-2). libicu78 set to manually installed. liblz1 is already the newest version (1.16-1). liblz1 set to manually installed. libnghttp3-9 is already the newest version (1.15.0-1). libnghttp3-9 set to manually installed. libunistring-dev is already the newest version (1.4.2-1). libunistring-dev set to manually installed. patchutils is already the newest version (0.4.5-1). patchutils set to manually installed. libdatetime-format-iso8601-perl is already the newest version (0.19-1). libdatetime-format-iso8601-perl set to manually installed. findutils is already the newest version (4.10.0-4). libgmp10 is already the newest version (2:6.3.0+dfsg-5+b2). libsframe3 is already the newest version (2.46.50.20260617-1). libsframe3 set to manually installed. libdata-validate-ip-perl is already the newest version (0.31-1). libdata-validate-ip-perl set to manually installed. linux-libc-dev is already the newest version (7.1.3-1). linux-libc-dev set to manually installed. libts0t64 is already the newest version (1.22-1.1+b2). libts0t64 set to manually installed. pkgconf-bin is already the newest version (2.5.1-4). pkgconf-bin set to manually installed. libduktape207 is already the newest version (2.7.0-2+b3). libduktape207 set to manually installed. binutils is already the newest version (2.46.50.20260617-1). binutils set to manually installed. liblist-someutils-perl is already the newest version (0.59-1). liblist-someutils-perl set to manually installed. g++-15-x86-64-linux-gnu is already the newest version (15.3.0-1). g++-15-x86-64-linux-gnu set to manually installed. liblsan0 is already the newest version (16.1.0-2). liblsan0 set to manually installed. libfile-basedir-perl is already the newest version (0.09-2). libfile-basedir-perl set to manually installed. libstrictures-perl is already the newest version (2.000006-1). libstrictures-perl set to manually installed. cme is already the newest version (1.049-1). cme set to manually installed. debconf is already the newest version (1.5.92). libcapture-tiny-perl is already the newest version (0.50-1). libcapture-tiny-perl set to manually installed. libmarkdown2 is already the newest version (2.2.7-2.1+b2). libmarkdown2 set to manually installed. libxcb-xkb1 is already the newest version (1.17.0-2+b2). libxcb-xkb1 set to manually installed. libsafe-isa-perl is already the newest version (1.000010-1). libsafe-isa-perl set to manually installed. libmro-compat-perl is already the newest version (0.15-2). libmro-compat-perl set to manually installed. libppix-utils-perl is already the newest version (0.003-2). libppix-utils-perl set to manually installed. ca-certificates is already the newest version (20260601). ca-certificates set to manually installed. libb-hooks-endofscope-perl is already the newest version (0.28-2). libb-hooks-endofscope-perl set to manually installed. texinfo is already the newest version (7.3-2). texinfo set to manually installed. x11proto-dev is already the newest version (2025.1-1). x11proto-dev set to manually installed. liblist-utilsby-perl is already the newest version (0.12-2). liblist-utilsby-perl set to manually installed. gfortran-15 is already the newest version (15.3.0-1). gfortran-15 set to manually installed. m4 is already the newest version (1.4.21-1). m4 set to manually installed. libngtcp2-dev is already the newest version (1.22.1-1). libngtcp2-dev set to manually installed. libterm-readkey-perl is already the newest version (2.38-2+b4). libterm-readkey-perl set to manually installed. libppi-perl is already the newest version (1.291-1). libppi-perl set to manually installed. libssl3t64 is already the newest version (3.6.3-1). libconvert-binhex-perl is already the newest version (1.125-3). libconvert-binhex-perl set to manually installed. libppix-quotelike-perl is already the newest version (0.024-1). libppix-quotelike-perl set to manually installed. libregexp-wildcards-perl is already the newest version (1.05-3). libregexp-wildcards-perl set to manually installed. libkrb5-dev is already the newest version (1.22.1-3). libkrb5-dev set to manually installed. libfftw3-dev is already the newest version (3.3.11-1). libfftw3-dev set to manually installed. libc6 is already the newest version (2.42-17). libunistring5 is already the newest version (1.4.2-1). libunistring5 set to manually installed. libaudit1 is already the newest version (1:4.1.2-1+b1). libtsan2 is already the newest version (16.1.0-2). libtsan2 set to manually installed. perltidy is already the newest version (20250105-1). perltidy set to manually installed. libfile-libmagic-perl is already the newest version (1.23-2+b2). libfile-libmagic-perl set to manually installed. cpp-x86-64-linux-gnu is already the newest version (4:15.2.0-5+b1). cpp-x86-64-linux-gnu set to manually installed. libwayland-cursor0 is already the newest version (1.25.0-2). libwayland-cursor0 set to manually installed. libwww-mechanize-perl is already the newest version (2.22-1). libwww-mechanize-perl set to manually installed. libperlio-gzip-perl is already the newest version (0.20-1+b4). libperlio-gzip-perl 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. libfile-which-perl is already the newest version (1.27-2). libfile-which-perl set to manually installed. librav1e0.8 is already the newest version (0.8.1-10). librav1e0.8 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. libcap-ng0 is already the newest version (0.9.3-1+b1). libheif-plugin-libde265 is already the newest version (1.23.1-1). libheif-plugin-libde265 set to manually installed. libreadline-dev is already the newest version (8.3-4). libreadline-dev set to manually installed. openssl-provider-legacy is already the newest version (3.6.3-1). libwmflite-0.2-7 is already the newest version (0.2.14-1). libwmflite-0.2-7 set to manually installed. libelf1t64 is already the newest version (0.195-1). libelf1t64 set to manually installed. libwebp7 is already the newest version (1.5.0-0.1+b2). libwebp7 set to manually installed. libdb5.3t64 is already the newest version (5.3.28+dfsg2-11+b1). libmd4c0 is already the newest version (0.5.3-1). libmd4c0 set to manually installed. librtmp1 is already the newest version (2.6-1). librtmp1 set to manually installed. libtinfo6 is already the newest version (6.6+20260608-2). libqt6core6t64 is already the newest version (6.10.2+dfsg-15). libqt6core6t64 set to manually installed. texinfo-lib is already the newest version (7.3-2). texinfo-lib set to manually installed. libstring-rewriteprefix-perl is already the newest version (0.009-1). libstring-rewriteprefix-perl set to manually installed. libexception-class-perl is already the newest version (1.45-1). libexception-class-perl set to manually installed. libgomp1 is already the newest version (16.1.0-2). libgomp1 set to manually installed. libxdmcp-dev is already the newest version (1:1.1.5-2+b1). libxdmcp-dev set to manually installed. libxstring-perl is already the newest version (0.005-2+b5). libxstring-perl set to manually installed. libgd3 is already the newest version (2.3.3-13+b2). libgd3 set to manually installed. liblerc4 is already the newest version (4.1.1+ds-1). liblerc4 set to manually installed. libglx-mesa0 is already the newest version (26.1.4-1). libglx-mesa0 set to manually installed. man-db is already the newest version (2.13.1-1). man-db set to manually installed. cpp-15-x86-64-linux-gnu is already the newest version (15.3.0-1). cpp-15-x86-64-linux-gnu set to manually installed. libgcrypt20 is already the newest version (1.12.2-1). libgcrypt20 set to manually installed. libsasl2-modules-db is already the newest version (2.1.28+dfsg1-11). libsasl2-modules-db set to manually installed. nettle-dev is already the newest version (3.10.2-1+b1). nettle-dev set to manually installed. file is already the newest version (1:5.47-4). file set to manually installed. octave is already the newest version (11.3.0-1). octave set to manually installed. libksba8 is already the newest version (1.8.0-3). libksba8 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. libhdf5-hl-cpp-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-hl-cpp-310 set to manually installed. libdevel-callchecker-perl is already the newest version (0.009-3). libdevel-callchecker-perl set to manually installed. libclone-pp-perl is already the newest version (1.08-2). libclone-pp-perl set to manually installed. libsub-uplevel-perl is already the newest version (0.2800-3). libsub-uplevel-perl set to manually installed. libdata-section-perl is already the newest version (0.200008-1). libdata-section-perl set to manually installed. libaec0 is already the newest version (1.1.7-1). libaec0 set to manually installed. libgl2ps1.4 is already the newest version (1.4.2+dfsg1-4+b1). libgl2ps1.4 set to manually installed. libpath-tiny-perl is already the newest version (0.150-1). libpath-tiny-perl set to manually installed. xz-utils is already the newest version (5.8.3-1). xz-utils set to manually installed. libspqr4 is already the newest version (1:7.12.2+dfsg-1). libspqr4 set to manually installed. libgmpxx4ldbl is already the newest version (2:6.3.0+dfsg-5+b2). libgmpxx4ldbl set to manually installed. libfftw3-double3 is already the newest version (3.3.11-1). libfftw3-double3 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. gcc-15-base is already the newest version (15.3.0-1). gcc-15-base set to manually installed. libdata-dpath-perl is already the newest version (0.60-1). libdata-dpath-perl set to manually installed. libnettle8t64 is already the newest version (3.10.2-1+b1). libnettle8t64 set to manually installed. libipc-run3-perl is already the newest version (0.049-1). libipc-run3-perl set to manually installed. libtoml-tiny-perl is already the newest version (0.22-1). libtoml-tiny-perl set to manually installed. libasan8 is already the newest version (16.1.0-2). libasan8 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. libstdc++6 is already the newest version (16.1.0-2). libstdc++6 set to manually installed. libegl-mesa0 is already the newest version (26.1.4-1). libegl-mesa0 set to manually installed. libtext-autoformat-perl is already the newest version (1.750000-2). libtext-autoformat-perl set to manually installed. libmpc3 is already the newest version (1.3.1-3). libmpc3 set to manually installed. libmpg123-0t64 is already the newest version (1.33.6-1). libmpg123-0t64 set to manually installed. libqt6gui6 is already the newest version (6.10.2+dfsg-15). libqt6gui6 set to manually installed. libsmartcols1 is already the newest version (2.42.2-1). libllvm21 is already the newest version (1:21.1.8-7+b4). libllvm21 set to manually installed. libxcursor1 is already the newest version (1:1.2.3-1+b2). libxcursor1 set to manually installed. libmtdev1t64 is already the newest version (1.1.7-1+b2). libmtdev1t64 set to manually installed. libproxy1v5 is already the newest version (0.5.12-1+b1). libproxy1v5 set to manually installed. libxinerama1 is already the newest version (2:1.1.4-3+b5). libxinerama1 set to manually installed. base-passwd is already the newest version (3.6.8). libconst-fast-perl is already the newest version (0.014-2). libconst-fast-perl set to manually installed. libdrm-common is already the newest version (2.4.134-3). libdrm-common set to manually installed. libngtcp2-crypto-ossl0 is already the newest version (1.22.1-1). libngtcp2-crypto-ossl0 set to manually installed. libgcc-15-dev is already the newest version (15.3.0-1). libgcc-15-dev set to manually installed. libparams-classify-perl is already the newest version (0.015-2+b5). libparams-classify-perl set to manually installed. libgl-dev is already the newest version (1.7.0-3+b1). libgl-dev set to manually installed. libubsan1 is already the newest version (16.1.0-2). libubsan1 set to manually installed. libtext-charwidth-perl is already the newest version (0.04-12). libtext-charwidth-perl set to manually installed. libexpat1 is already the newest version (2.8.2-1). libexpat1 set to manually installed. dh-octave-autopkgtest is already the newest version (1.16.0). dh-octave-autopkgtest set to manually installed. libcolamd3 is already the newest version (1:7.12.2+dfsg-1). libcolamd3 set to manually installed. libio-stringy-perl is already the newest version (2.113-2). libio-stringy-perl set to manually installed. libhdf5-cpp-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-cpp-310 set to manually installed. bsdextrautils is already the newest version (2.42.2-1). bsdextrautils set to manually installed. libselinux1 is already the newest version (3.10-1). libsoftware-licensemoreutils-perl is already the newest version (1.009-1). libsoftware-licensemoreutils-perl set to manually installed. libnamespace-clean-perl is already the newest version (0.27-2). libnamespace-clean-perl set to manually installed. libpcre2-16-0 is already the newest version (10.46-1+b2). libpcre2-16-0 set to manually installed. libimport-into-perl is already the newest version (1.002005-2). libimport-into-perl set to manually installed. libsereal-encoder-perl is already the newest version (5.006+ds-1). libsereal-encoder-perl set to manually installed. bash is already the newest version (5.3-3). gnuplot-nox is already the newest version (6.0.3+dfsg1-1). gnuplot-nox set to manually installed. libegl1 is already the newest version (1.7.0-3+b1). libegl1 set to manually installed. libinput-bin is already the newest version (1.31.3-1). libinput-bin set to manually installed. libumfpack6 is already the newest version (1:7.12.2+dfsg-1). libumfpack6 set to manually installed. libtext-xslate-perl is already the newest version (3.5.9-2+b2). libtext-xslate-perl set to manually installed. libtime-duration-perl is already the newest version (1.21-2). libtime-duration-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. libpod-spell-perl is already the newest version (1.27-1). libpod-spell-perl set to manually installed. libjson-maybexs-perl is already the newest version (1.004008-1). libjson-maybexs-perl set to manually installed. libltdl7 is already the newest version (2.5.4-11). libltdl7 set to manually installed. libcurl3t64-gnutls is already the newest version (8.21.0-2). libcurl3t64-gnutls set to manually installed. libgcc-s1 is already the newest version (16.1.0-2). libmailtools-perl is already the newest version (2.22-1). libmailtools-perl set to manually installed. libncurses-dev is already the newest version (6.6+20260608-2). libncurses-dev set to manually installed. netbase is already the newest version (6.5). netbase set to manually installed. libparams-validationcompiler-perl is already the newest version (0.31-1). libparams-validationcompiler-perl set to manually installed. ucf is already the newest version (3.0056). ucf set to manually installed. libpam0g is already the newest version (1.7.0-8). libtool is already the newest version (2.5.4-11). libtool set to manually installed. libdeflate0 is already the newest version (1.25-1). libdeflate0 set to manually installed. libpkgconf7 is already the newest version (2.5.1-4). libpkgconf7 set to manually installed. libqt6printsupport6 is already the newest version (6.10.2+dfsg-15). libqt6printsupport6 set to manually installed. libqrupdate1 is already the newest version (1.1.5-3+b1). libqrupdate1 set to manually installed. libuuid1 is already the newest version (2.42.2-1). libbsd0 is already the newest version (0.12.2-3). libbsd0 set to manually installed. libxcb-render0 is already the newest version (1.17.0-2+b2). libxcb-render0 set to manually installed. octave-dev is already the newest version (11.3.0-1). octave-dev set to manually installed. libxcb-shm0 is already the newest version (1.17.0-2+b2). libxcb-shm0 set to manually installed. libclass-xsaccessor-perl is already the newest version (1.19-4+b5). libclass-xsaccessor-perl set to manually installed. libhtml-form-perl is already the newest version (6.13-1). libhtml-form-perl set to manually installed. libavahi-common-data is already the newest version (0.8-18). libavahi-common-data set to manually installed. libidn2-0 is already the newest version (2.3.8-5). libidn2-0 set to manually installed. patch is already the newest version (2.8-2). patch set to manually installed. libglx0 is already the newest version (1.7.0-3+b1). libglx0 set to manually installed. libdatetime-locale-perl is already the newest version (1:1.45-1). libdatetime-locale-perl 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. rpcsvc-proto is already the newest version (1.4.4-1). rpcsvc-proto set to manually installed. gpg is already the newest version (2.4.9-7). gpg set to manually installed. libapt-pkg-perl is already the newest version (0.1.43). libapt-pkg-perl set to manually installed. libnamespace-autoclean-perl is already the newest version (0.31-1). libnamespace-autoclean-perl set to manually installed. liblingua-en-inflect-perl is already the newest version (1.905-2). liblingua-en-inflect-perl set to manually installed. libheif-plugin-dav1d is already the newest version (1.23.1-1). libheif-plugin-dav1d set to manually installed. libxml-sax-perl is already the newest version (1.02+dfsg-5). libxml-sax-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. dh-strip-nondeterminism is already the newest version (1.15.1-1). dh-strip-nondeterminism set to manually installed. libblas-dev is already the newest version (3.12.1-8). libblas-dev set to manually installed. dash is already the newest version (0.5.12-12). libgssapi-krb5-2 is already the newest version (1.22.1-3). libgssapi-krb5-2 set to manually installed. libqt6opengl6 is already the newest version (6.10.2+dfsg-15). libqt6opengl6 set to manually installed. libblas3 is already the newest version (3.12.1-8). libblas3 set to manually installed. libldap-dev is already the newest version (2.6.13+dfsg-1). libldap-dev set to manually installed. libncursesw6 is already the newest version (6.6+20260608-2). libncursesw6 set to manually installed. libnet-ssleay-perl is already the newest version (1.96-1). libnet-ssleay-perl set to manually installed. libhttp-message-perl is already the newest version (7.02-1). libhttp-message-perl set to manually installed. debhelper is already the newest version (14.3). debhelper set to manually installed. tar is already the newest version (1.35+dfsg-4). libhdf5-fortran-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-fortran-310 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-choose-perl is already the newest version (0.010-2). libclone-choose-perl set to manually installed. libdatetime-format-builder-perl is already the newest version (0.8300-1). libdatetime-format-builder-perl set to manually installed. libregexp-pattern-perl is already the newest version (0.2.14-3). libregexp-pattern-perl set to manually installed. libobject-pad-perl is already the newest version (0.825-1). libobject-pad-perl set to manually installed. libxml2-16 is already the newest version (2.15.3+dfsg-1). libxml2-16 set to manually installed. libaec-dev is already the newest version (1.1.7-1). libaec-dev set to manually installed. libclass-tiny-perl is already the newest version (1.008-2). libclass-tiny-perl set to manually installed. libset-intspan-perl is already the newest version (1.19-3). libset-intspan-perl set to manually installed. libsub-install-perl is already the newest version (0.929-1). libsub-install-perl set to manually installed. libzstd-dev is already the newest version (1.5.7+dfsg-3+b2). libzstd-dev set to manually installed. libctf0 is already the newest version (2.46.50.20260617-1). libctf0 set to manually installed. libpcre2-8-0 is already the newest version (10.46-1+b2). libconfig-model-dpkg-perl is already the newest version (3.024). libconfig-model-dpkg-perl set to manually installed. libparams-util-perl is already the newest version (1.102-3+b1). libparams-util-perl set to manually installed. g++-x86-64-linux-gnu is already the newest version (4:15.2.0-5+b1). g++-x86-64-linux-gnu set to manually installed. libxcb-image0 is already the newest version (0.4.0-2+b3). libxcb-image0 set to manually installed. pkgconf is already the newest version (2.5.1-4). pkgconf set to manually installed. libnet-netmask-perl is already the newest version (2.0003-1). libnet-netmask-perl set to manually installed. libclass-c3-perl is already the newest version (0.35-2). libclass-c3-perl set to manually installed. libaudit-common is already the newest version (1:4.1.2-1). libproc2-1 is already the newest version (2:4.0.6-2). libproc2-1 set to manually installed. liblzma5 is already the newest version (5.8.3-1). libitm1 is already the newest version (16.1.0-2). libitm1 set to manually installed. libfftw3-long3 is already the newest version (3.3.11-1). libfftw3-long3 set to manually installed. libde265-0 is already the newest version (1.1.1-1). libde265-0 set to manually installed. libdatetime-perl is already the newest version (2:1.65-1+b2). libdatetime-perl set to manually installed. libasound2t64 is already the newest version (1.2.16.1-1). libasound2t64 set to manually installed. libdpkg-perl is already the newest version (1.23.7). libdpkg-perl set to manually installed. libportaudio2 is already the newest version (19.7.0-1+b1). libportaudio2 set to manually installed. libdata-validate-domain-perl is already the newest version (0.15-1). libdata-validate-domain-perl set to manually installed. libclone-perl is already the newest version (0.50-1). libclone-perl set to manually installed. libseccomp2 is already the newest version (2.6.0-2+b1). libseccomp2 set to manually installed. intltool-debian is already the newest version (0.35.0+20060710.6). intltool-debian set to manually installed. libdebhelper-perl is already the newest version (14.3). libdebhelper-perl set to manually installed. libgnutls-dane0t64 is already the newest version (3.8.13-1). libgnutls-dane0t64 set to manually installed. libkrb5support0 is already the newest version (1.22.1-3). libkrb5support0 set to manually installed. libnet-http-perl is already the newest version (6.24-1). libnet-http-perl set to manually installed. libtry-tiny-perl is already the newest version (0.32-1). libtry-tiny-perl set to manually installed. libindirect-perl is already the newest version (0.39-2+b4). libindirect-perl set to manually installed. libxkbcommon-x11-0 is already the newest version (1.13.1-1). libxkbcommon-x11-0 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. shared-mime-info is already the newest version (2.4-5+b3). shared-mime-info set to manually installed. autotools-dev is already the newest version (20240727.1+nmu1). autotools-dev set to manually installed. libncurses6 is already the newest version (6.6+20260608-2). libncurses6 set to manually installed. libproc-processtable-perl is already the newest version (0.637-1+b2). libproc-processtable-perl set to manually installed. libthai0 is already the newest version (0.1.30-2). libthai0 set to manually installed. libfile-listing-perl is already the newest version (6.16-1). libfile-listing-perl set to manually installed. libevdev2 is already the newest version (1.13.6+dfsg-3). libevdev2 set to manually installed. libxau-dev is already the newest version (1:1.0.11-1+b2). libxau-dev set to manually installed. libyuv0 is already the newest version (0.0.1949.20260706-1). libyuv0 set to manually installed. libx11-xcb1 is already the newest version (2:1.8.13-1). libx11-xcb1 set to manually installed. gcc-16-base is already the newest version (16.1.0-2). libc-dev-bin is already the newest version (2.42-17). libc-dev-bin set to manually installed. libqt6network6 is already the newest version (6.10.2+dfsg-15). libqt6network6 set to manually installed. libtasn1-6 is already the newest version (4.21.0-2+b1). libtasn1-6 set to manually installed. libaom3 is already the newest version (3.13.1-2+b1). libaom3 set to manually installed. libb-keywords-perl is already the newest version (1.29-1). libb-keywords-perl set to manually installed. dwz is already the newest version (0.16-4). dwz set to manually installed. libquadmath0 is already the newest version (16.1.0-2). libquadmath0 set to manually installed. libxcb-present0 is already the newest version (1.17.0-2+b2). libxcb-present0 set to manually installed. libvorbis0a is already the newest version (1.3.7-3+b2). libvorbis0a set to manually installed. binutils-common is already the newest version (2.46.50.20260617-1). binutils-common set to manually installed. diffutils is already the newest version (1:3.12-1). libp11-kit0 is already the newest version (0.26.4-1). libp11-kit0 set to manually installed. libxrender1 is already the newest version (1:0.9.12-1+b2). libxrender1 set to manually installed. libsoftware-copyright-perl is already the newest version (0.015-1). libsoftware-copyright-perl set to manually installed. libnumber-compare-perl is already the newest version (0.03-3). libnumber-compare-perl set to manually installed. x11-common is already the newest version (1:7.7+26). x11-common set to manually installed. libpam-runtime is already the newest version (1.7.0-8). libsvtav1enc4 is already the newest version (4.1.0+dfsg-1). libsvtav1enc4 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. libgraphicsmagick++-q16-12t64 is already the newest version (1.4+really1.3.46-2). libgraphicsmagick++-q16-12t64 set to manually installed. libfreetype6 is already the newest version (2.14.3+dfsg-1). libfreetype6 set to manually installed. lintian is already the newest version (2.137.1). lintian set to manually installed. libppix-regexp-perl is already the newest version (0.092-1). libppix-regexp-perl set to manually installed. sysvinit-utils is already the newest version (3.18-1). libxcb-randr0 is already the newest version (1.17.0-2+b2). libxcb-randr0 set to manually installed. octave-common is already the newest version (11.3.0-1). octave-common 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. libhdf5-dev is already the newest version (1.14.6+repack-2+b1). libhdf5-dev set to manually installed. libparams-validate-perl is already the newest version (1.31-2+b4). libparams-validate-perl set to manually installed. libgdbm6t64 is already the newest version (1.26-1+b2). libgdbm6t64 set to manually installed. libnghttp3-dev is already the newest version (1.15.0-1). libnghttp3-dev set to manually installed. libkadm5clnt-mit12 is already the newest version (1.22.1-3). libkadm5clnt-mit12 set to manually installed. libacl1 is already the newest version (2.4.0-1). libgl1-mesa-dri is already the newest version (26.1.4-1). libgl1-mesa-dri set to manually installed. libsamplerate0 is already the newest version (0.2.2-4+b3). libsamplerate0 set to manually installed. liblwp-protocol-https-perl is already the newest version (6.15-1). liblwp-protocol-https-perl set to manually installed. libvariable-magic-perl is already the newest version (0.64-1+b1). libvariable-magic-perl set to manually installed. libglib2.0-0t64 is already the newest version (2.88.2-1). libglib2.0-0t64 set to manually installed. gpgconf is already the newest version (2.4.9-7). gpgconf set to manually installed. libpsl-dev is already the newest version (0.22.0-1). libpsl-dev set to manually installed. libc6-dev is already the newest version (2.42-17). libc6-dev set to manually installed. libhwasan0 is already the newest version (16.1.0-2). libhwasan0 set to manually installed. liblcms2-2 is already the newest version (2.19.1-1). liblcms2-2 set to manually installed. openssl is already the newest version (3.6.3-1). openssl set to manually installed. libqt6core5compat6 is already the newest version (6.10.2-3). libqt6core5compat6 set to manually installed. libsharpyuv0 is already the newest version (1.5.0-0.1+b2). libsharpyuv0 set to manually installed. perl is already the newest version (5.40.1-8). perl set to manually installed. libhtml-tree-perl is already the newest version (5.07-3). libhtml-tree-perl set to manually installed. libccolamd3 is already the newest version (1:7.12.2+dfsg-1). libccolamd3 set to manually installed. libgfortran-15-dev is already the newest version (15.3.0-1). libgfortran-15-dev set to manually installed. libbinutils is already the newest version (2.46.50.20260617-1). libbinutils set to manually installed. libxcb-icccm4 is already the newest version (0.4.2-1+b2). libxcb-icccm4 set to manually installed. libxcb-sync1 is already the newest version (1.17.0-2+b2). libxcb-sync1 set to manually installed. libsz2 is already the newest version (1.1.7-1). libsz2 set to manually installed. libvulkan1 is already the newest version (1.4.341.0-1). libvulkan1 set to manually installed. libhogweed6t64 is already the newest version (3.10.2-1+b1). libhogweed6t64 set to manually installed. librtmp-dev is already the newest version (2.6-1). librtmp-dev set to manually installed. aglfn is already the newest version (1.7+git20191031.4036a9c-2). aglfn set to manually installed. libspecio-perl is already the newest version (0.53-1). libspecio-perl set to manually installed. libstring-copyright-perl is already the newest version (0.003014-1). libstring-copyright-perl set to manually installed. libtime-moment-perl is already the newest version (0.46-1). libtime-moment-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. libcom-err2 is already the newest version (1.47.4-1). libcom-err2 set to manually installed. gettext is already the newest version (1.0-3). gettext 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. libsort-versions-perl is already the newest version (1.62-3). libsort-versions-perl set to manually installed. libwebpmux3 is already the newest version (1.5.0-0.1+b2). libwebpmux3 set to manually installed. libjansson4 is already the newest version (2.15.1-1). libjansson4 set to manually installed. libparse-debcontrol-perl is already the newest version (2.005-6). libparse-debcontrol-perl set to manually installed. libclass-method-modifiers-perl is already the newest version (2.15-1). libclass-method-modifiers-perl set to manually installed. libgprofng0 is already the newest version (2.46.50.20260617-1). libgprofng0 set to manually installed. libqt6sql6 is already the newest version (6.10.2+dfsg-15). libqt6sql6 set to manually installed. libqt6dbus6 is already the newest version (6.10.2+dfsg-15). libqt6dbus6 set to manually installed. libtext-levenshtein-damerau-perl is already the newest version (0.41-3). libtext-levenshtein-damerau-perl set to manually installed. libxcb-util1 is already the newest version (0.4.1-1+b2). libxcb-util1 set to manually installed. libreadonly-perl is already the newest version (2.050-3). libreadonly-perl set to manually installed. libqt6openglwidgets6 is already the newest version (6.10.2+dfsg-15). libqt6openglwidgets6 set to manually installed. liblz4-1 is already the newest version (1.10.0-10). liblz4-1 set to manually installed. libreadline8t64 is already the newest version (8.3-4). libreadline8t64 set to manually installed. libwayland-egl1 is already the newest version (1.25.0-2). libwayland-egl1 set to manually installed. libxdmcp6 is already the newest version (1:1.1.5-2+b1). libxdmcp6 set to manually installed. libxxf86vm1 is already the newest version (1:1.1.4-2+b1). libxxf86vm1 set to manually installed. g++-15 is already the newest version (15.3.0-1). g++-15 set to manually installed. mawk is already the newest version (1.3.4.20260302-1). libaliased-perl is already the newest version (0.34-3). libaliased-perl set to manually installed. libeval-closure-perl is already the newest version (0.14-3). libeval-closure-perl set to manually installed. libxcb-render-util0 is already the newest version (0.3.10-1+b2). libxcb-render-util0 set to manually installed. lzop is already the newest version (1.04-2). lzop set to manually installed. libnet-smtp-ssl-perl is already the newest version (1.04-2). libnet-smtp-ssl-perl set to manually installed. libalgorithm-c3-perl is already the newest version (0.11-2). libalgorithm-c3-perl set to manually installed. libarpack2t64 is already the newest version (3.9.1-6+b2). libarpack2t64 set to manually installed. libmd0 is already the newest version (1.2.0-2). libgudev-1.0-0 is already the newest version (238-7+b2). libgudev-1.0-0 set to manually installed. libkrb5-3 is already the newest version (1.22.1-3). libkrb5-3 set to manually installed. libtext-wrapi18n-perl is already the newest version (0.06-11). libtext-wrapi18n-perl set to manually installed. libcamd3 is already the newest version (1:7.12.2+dfsg-1). libcamd3 set to manually installed. libbrotli-dev is already the newest version (1.2.0-3). libbrotli-dev set to manually installed. libmime-tools-perl is already the newest version (5.517-1). libmime-tools-perl set to manually installed. dh-octave is already the newest version (1.16.0). dh-octave set to manually installed. libmoo-perl is already the newest version (2.005005-1). libmoo-perl set to manually installed. libwacom-common is already the newest version (2.18.0-1). libwacom-common set to manually installed. libhwy1t64 is already the newest version (1.3.0-2+b1). libhwy1t64 set to manually installed. liblapack-dev is already the newest version (3.12.1-8). liblapack-dev set to manually installed. libiterator-util-perl is already the newest version (0.02+ds1-2). libiterator-util-perl set to manually installed. libpod-pom-perl is already the newest version (2.01-4). libpod-pom-perl set to manually installed. libvorbisenc2 is already the newest version (1.3.7-3+b2). libvorbisenc2 set to manually installed. libngtcp2-16 is already the newest version (1.22.1-1). libngtcp2-16 set to manually installed. gcc-15 is already the newest version (15.3.0-1). gcc-15 set to manually installed. libogg0 is already the newest version (1.3.6-2+b1). libogg0 set to manually installed. libatomic1 is already the newest version (16.1.0-2). libatomic1 set to manually installed. libxcb-xinput0 is already the newest version (1.17.0-2+b2). libxcb-xinput0 set to manually installed. libx11-data is already the newest version (2:1.8.13-1). libx11-data set to manually installed. libwww-perl is already the newest version (6.83-1). libwww-perl set to manually installed. licensecheck is already the newest version (3.3.9-1). licensecheck set to manually installed. libabsl20260107 is already the newest version (20260107.0-5). libabsl20260107 set to manually installed. libnet-domain-tld-perl is already the newest version (1.75-4). libnet-domain-tld-perl set to manually installed. libblkid1 is already the newest version (2.42.2-1). libperlio-utf8-strict-perl is already the newest version (0.010-1+b3). libperlio-utf8-strict-perl set to manually installed. libencode-locale-perl is already the newest version (1.05-3). libencode-locale-perl set to manually installed. libsensors5 is already the newest version (1:3.6.2-2+b2). libsensors5 set to manually installed. libx11-6 is already the newest version (2:1.8.13-1). libx11-6 set to manually installed. libxcb-cursor0 is already the newest version (0.1.6-1). libxcb-cursor0 set to manually installed. perl-base is already the newest version (5.40.1-8). autoconf is already the newest version (2.73-2). autoconf set to manually installed. libtext-levenshteinxs-perl is already the newest version (0.03-5+b4). libtext-levenshteinxs-perl set to manually installed. liblua5.4-0 is already the newest version (5.4.8-2). liblua5.4-0 set to manually installed. libfile-sharedir-perl is already the newest version (1.118-3). libfile-sharedir-perl set to manually installed. libxau6 is already the newest version (1:1.0.11-1+b2). libxau6 set to manually installed. libbz2-1.0 is already the newest version (1.0.8-6+b2). libnpth0t64 is already the newest version (1.8-3+b2). libnpth0t64 set to manually installed. libamd3 is already the newest version (1:7.12.2+dfsg-1). libamd3 set to manually installed. libiterator-perl is already the newest version (0.03+ds1-2). libiterator-perl set to manually installed. liblwp-mediatypes-perl is already the newest version (6.04-2). liblwp-mediatypes-perl set to manually installed. libglx-dev is already the newest version (1.7.0-3+b1). libglx-dev set to manually installed. libstring-format-perl is already the newest version (1.18-1). libstring-format-perl set to manually installed. libxext6 is already the newest version (2:1.3.4-1+b4). libxext6 set to manually installed. libhtml-html5-entities-perl is already the newest version (0.004-3). libhtml-html5-entities-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. libsndfile1 is already the newest version (1.2.2-4+b1). libsndfile1 set to manually installed. libxmlb2 is already the newest version (0.3.28-1). libxmlb2 set to manually installed. libdatetime-timezone-perl is already the newest version (1:2.69-1+2026c). libdatetime-timezone-perl set to manually installed. libmousex-strictconstructor-perl is already the newest version (0.02-3). libmousex-strictconstructor-perl set to manually installed. libssh2-1-dev is already the newest version (1.11.1-4). libssh2-1-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. cpp-15 is already the newest version (15.3.0-1). cpp-15 set to manually installed. libintl-perl is already the newest version (1.37-1). libintl-perl set to manually installed. libmodule-implementation-perl is already the newest version (0.09-2). libmodule-implementation-perl set to manually installed. libopus0 is already the newest version (1.6.1-1+b1). libopus0 set to manually installed. libfile-find-rule-perl is already the newest version (0.35-1). libfile-find-rule-perl set to manually installed. libbrotli1 is already the newest version (1.2.0-3). libbrotli1 set to manually installed. liblzo2-2 is already the newest version (2.10-3+b2). liblzo2-2 set to manually installed. libxshmfence1 is already the newest version (1.3.3-1+b2). libxshmfence1 set to manually installed. libapp-cmd-perl is already the newest version (0.340-1). libapp-cmd-perl set to manually installed. hostname is already the newest version (3.25). gettext-base is already the newest version (1.0-3). gettext-base set to manually installed. libxxhash0 is already the newest version (0.8.3-2+b2). libxxhash0 set to manually installed. libsereal-decoder-perl is already the newest version (5.006+ds-1). libsereal-decoder-perl set to manually installed. libjpeg-dev is already the newest version (1:3.1.3-4). libjpeg-dev set to manually installed. libfftw3-bin is already the newest version (3.3.11-1). libfftw3-bin set to manually installed. libhdf5-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-310 set to manually installed. libcc1-0 is already the newest version (16.1.0-2). libcc1-0 set to manually installed. libnghttp2-14 is already the newest version (1.69.0-1). libnghttp2-14 set to manually installed. libcurl4t64 is already the newest version (8.21.0-2). libcurl4t64 set to manually installed. libkdb5-10t64 is already the newest version (1.22.1-3). libkdb5-10t64 set to manually installed. libmodule-pluggable-perl is already the newest version (6.3-1). libmodule-pluggable-perl set to manually installed. libpod-parser-perl is already the newest version (1.67-1). libpod-parser-perl set to manually installed. libdouble-conversion3 is already the newest version (3.4.0-1+b1). libdouble-conversion3 set to manually installed. libboolean-perl is already the newest version (0.46-3). libboolean-perl set to manually installed. libio-string-perl is already the newest version (1.08-4). libio-string-perl set to manually installed. libtext-template-perl is already the newest version (1.61-1). libtext-template-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. octave-io is already the newest version (2.7.2-1). octave-io set to manually installed. libsm6 is already the newest version (2:1.2.6-1+b2). libsm6 set to manually installed. gcc-15-x86-64-linux-gnu is already the newest version (15.3.0-1). gcc-15-x86-64-linux-gnu set to manually installed. liblog-any-perl is already the newest version (1.720-1). liblog-any-perl set to manually installed. libwww-robotrules-perl is already the newest version (6.03-1). libwww-robotrules-perl set to manually installed. sed is already the newest version (4.9-3). libstring-escape-perl is already the newest version (2010.002-3). libstring-escape-perl set to manually installed. libcholmod5 is already the newest version (1:7.12.2+dfsg-1). libcholmod5 set to manually installed. libpsl5t64 is already the newest version (0.22.0-1). libpsl5t64 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. libgnutls30t64 is already the newest version (3.8.13-1). libgnutls30t64 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. iso-codes is already the newest version (4.20.1-1). iso-codes set to manually installed. libc-gconv-modules-extra is already the newest version (2.42-17). libxkbcommon0 is already the newest version (1.13.1-1). libxkbcommon0 set to manually installed. libsub-identify-perl is already the newest version (0.14-4). libsub-identify-perl set to manually installed. libqt6widgets6 is already the newest version (6.10.2+dfsg-15). libqt6widgets6 set to manually installed. libstemmer0d is already the newest version (3.1.1-1). libstemmer0d set to manually installed. grep is already the newest version (3.12-1). libdatetime-format-rfc3339-perl is already the newest version (1.10.0-1). libdatetime-format-rfc3339-perl set to manually installed. libssl-dev is already the newest version (3.6.3-1). libssl-dev set to manually installed. gfortran is already the newest version (4:15.2.0-5+b1). gfortran set to manually installed. libjpeg62-turbo-dev is already the newest version (1:3.1.3-4). libjpeg62-turbo-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. autopoint is already the newest version (1.0-3). autopoint set to manually installed. libmp3lame0 is already the newest version (3.101~svn6531+dfsg-1). libmp3lame0 set to manually installed. libice6 is already the newest version (2:1.1.1-1+b2). libice6 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. libunicode-utf8-perl is already the newest version (0.72-1). libunicode-utf8-perl set to manually installed. liberror-perl is already the newest version (0.17030-1). liberror-perl set to manually installed. diffstat is already the newest version (1.69-1). diffstat set to manually installed. procps is already the newest version (2:4.0.6-2). procps set to manually installed. libtask-weaken-perl is already the newest version (1.06-2). libtask-weaken-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. mesa-libgallium is already the newest version (26.1.4-1). mesa-libgallium set to manually installed. dpkg-dev is already the newest version (1.23.7). dpkg-dev set to manually installed. libcurl4-openssl-dev is already the newest version (8.21.0-2). libcurl4-openssl-dev 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. libpath-iterator-rule-perl is already the newest version (1.015-2). libpath-iterator-rule-perl set to manually installed. libgssrpc4t64 is already the newest version (1.22.1-3). libgssrpc4t64 set to manually installed. libjxl0.11 is already the newest version (0.11.2-5). libjxl0.11 set to manually installed. xorg-sgml-doctools is already the newest version (1:1.12.1-1). xorg-sgml-doctools set to manually installed. gfortran-15-x86-64-linux-gnu is already the newest version (15.3.0-1). gfortran-15-x86-64-linux-gnu set to manually installed. libgpg-error0 is already the newest version (1.61-3). libgpg-error0 set to manually installed. tzdata is already the newest version (2026b-1). tzdata set to manually installed. libhash-merge-perl is already the newest version (0.302-1). libhash-merge-perl set to manually installed. libffi8 is already the newest version (3.5.2-4). libffi8 set to manually installed. libk5crypto3 is already the newest version (1.22.1-3). libk5crypto3 set to manually installed. gzip is already the newest version (1.13-1). libisl23 is already the newest version (0.27-2). libisl23 set to manually installed. libfont-ttf-perl is already the newest version (1.06-2). libfont-ttf-perl set to manually installed. libtext-wrapper-perl is already the newest version (1.05-4). libtext-wrapper-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. libnghttp2-dev is already the newest version (1.69.0-1). libnghttp2-dev set to manually installed. libexporter-lite-perl is already the newest version (0.09-2). libexporter-lite-perl set to manually installed. xtrans-dev is already the newest version (1.6.0-1). xtrans-dev set to manually installed. libuchardet0 is already the newest version (0.0.8-2+b2). libuchardet0 set to manually installed. libcxsparse4 is already the newest version (1:7.12.2+dfsg-1). libcxsparse4 set to manually installed. libjpeg62-turbo is already the newest version (1:3.1.3-4). libjpeg62-turbo set to manually installed. libflac14 is already the newest version (1.5.0+ds-5+b1). libflac14 set to manually installed. libp11-kit-dev is already the newest version (0.26.4-1). libp11-kit-dev set to manually installed. libtext-reform-perl is already the newest version (1.20-5). libtext-reform-perl set to manually installed. libmldbm-perl is already the newest version (2.05-4). libmldbm-perl set to manually installed. libpipeline1 is already the newest version (1.5.8-3). libpipeline1 set to manually installed. libyaml-tiny-perl is already the newest version (1.76-1). libyaml-tiny-perl set to manually installed. base-files is already the newest version (14.2). libudev1 is already the newest version (261.1-2). libsystemd0 is already the newest version (261.1-2). libfftw3-single3 is already the newest version (3.3.11-1). libfftw3-single3 set to manually installed. libunbound8 is already the newest version (1.25.1-1+b1). libunbound8 set to manually installed. libdrm-intel1 is already the newest version (2.4.134-3). libdrm-intel1 set to manually installed. libzstd1 is already the newest version (1.5.7+dfsg-3+b2). libpackage-stash-perl is already the newest version (0.40-1). libpackage-stash-perl set to manually installed. libperl-critic-perl is already the newest version (1.156-1). libperl-critic-perl set to manually installed. libpng16-16t64 is already the newest version (1.6.58-1). libpng16-16t64 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. libtext-glob-perl is already the newest version (0.11-3). libtext-glob-perl set to manually installed. libfltk-gl1.4 is already the newest version (1.4.4-4). libfltk-gl1.4 set to manually installed. tex-common is already the newest version (6.20). tex-common set to manually installed. libopengl0 is already the newest version (1.7.0-3+b1). libopengl0 set to manually installed. libldap2 is already the newest version (2.6.13+dfsg-1). libldap2 set to manually installed. libgraphite2-3 is already the newest version (1.3.15-2). libgraphite2-3 set to manually installed. libattr1 is already the newest version (1:2.6.0-1). libavahi-client3 is already the newest version (0.8-18). libavahi-client3 set to manually installed. libpam-modules is already the newest version (1.7.0-8). libwacom9 is already the newest version (2.18.0-1). libwacom9 set to manually installed. libcurl4-gnutls is already the newest version (8.21.0-2). libcurl4-gnutls set to manually installed. libipc-system-simple-perl is already the newest version (1.30-2). libipc-system-simple-perl set to manually installed. dh-autoreconf is already the newest version (22). dh-autoreconf set to manually installed. octave-datatypes is already the newest version (1.2.6-1). octave-datatypes set to manually installed. libtest-exception-perl is already the newest version (0.43-3). libtest-exception-perl set to manually installed. libcpanel-json-xs-perl is already the newest version (4.42-1). libcpanel-json-xs-perl set to manually installed. groff-base is already the newest version (1.24.1-1). groff-base set to manually installed. libharfbuzz0b is already the newest version (12.3.2-2+b2). libharfbuzz0b set to manually installed. libsensors-config is already the newest version (1:3.6.2-2). libsensors-config set to manually installed. liburi-perl is already the newest version (5.35-1). liburi-perl 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. fonts-freefont-otf is already the newest version (20211204+svn4273-4). fonts-freefont-otf set to manually installed. fontconfig-config is already the newest version (2.17.1-5). fontconfig-config set to manually installed. libregexp-common-perl is already the newest version (2024080801-1). libregexp-common-perl set to manually installed. libgmp-dev is already the newest version (2:6.3.0+dfsg-5+b2). libgmp-dev set to manually installed. libsoftware-license-perl is already the newest version (0.104007-1). libsoftware-license-perl set to manually installed. librole-tiny-perl is already the newest version (2.002005-1). librole-tiny-perl set to manually installed. gnuplot-data is already the newest version (6.0.3+dfsg1-1). gnuplot-data set to manually installed. libassuan9 is already the newest version (3.0.2-2+b2). libassuan9 set to manually installed. libperl5.40 is already the newest version (5.40.1-8). libperl5.40 set to manually installed. libpam-modules-bin is already the newest version (1.7.0-8). liblist-compare-perl is already the newest version (0.55-2). liblist-compare-perl set to manually installed. libasound2-data is already the newest version (1.2.16.1-1). libasound2-data set to manually installed. liblist-moreutils-perl is already the newest version (0.430-2). liblist-moreutils-perl set to manually installed. libsuitesparseconfig7 is already the newest version (1:7.12.2+dfsg-1). libsuitesparseconfig7 set to manually installed. libdata-optlist-perl is already the newest version (0.114-1). libdata-optlist-perl set to manually installed. fontconfig is already the newest version (2.17.1-5). fontconfig set to manually installed. libsasl2-2 is already the newest version (2.1.28+dfsg1-11). libsasl2-2 set to manually installed. libtext-unidecode-perl is already the newest version (1.30-3). libtext-unidecode-perl set to manually installed. libfile-homedir-perl is already the newest version (1.006-2). libfile-homedir-perl set to manually installed. libio-html-perl is already the newest version (1.004-3). libio-html-perl set to manually installed. sensible-utils is already the newest version (0.0.26). sensible-utils set to manually installed. libpod-constants-perl is already the newest version (0.19-2). libpod-constants-perl set to manually installed. appstream is already the newest version (1.1.3-1). appstream set to manually installed. libglpk40 is already the newest version (5.0-3). libglpk40 set to manually installed. libapt-pkg7.0 is already the newest version (3.3.1). libapt-pkg7.0 set to manually installed. libmagic1t64 is already the newest version (1:5.47-4). libmagic1t64 set to manually installed. libappstream5 is already the newest version (1.1.3-1). libappstream5 set to manually installed. libxml-sax-base-perl is already the newest version (1.09-3). libxml-sax-base-perl set to manually installed. libconfig-inifiles-perl is already the newest version (3.000003-5). libconfig-inifiles-perl 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. libqt6help6 is already the newest version (6.10.2-3). libqt6help6 set to manually installed. libxcb-keysyms1 is already the newest version (0.4.1-1+b2). libxcb-keysyms1 set to manually installed. libthai-data is already the newest version (0.1.30-2). libthai-data set to manually installed. libstdc++-15-dev is already the newest version (15.3.0-1). libstdc++-15-dev set to manually installed. libdatrie1 is already the newest version (0.2.14-2). libdatrie1 set to manually installed. libctf-nobfd0 is already the newest version (2.46.50.20260617-1). libctf-nobfd0 set to manually installed. libhttp-date-perl is already the newest version (6.08-1). libhttp-date-perl set to manually installed. hdf5-helpers is already the newest version (1.14.6+repack-2+b1). hdf5-helpers set to manually installed. libfile-stripnondeterminism-perl is already the newest version (1.15.1-1). libfile-stripnondeterminism-perl set to manually installed. libngtcp2-crypto-gnutls8 is already the newest version (1.22.1-1). libngtcp2-crypto-gnutls8 set to manually installed. util-linux is already the newest version (2.42.2-1). libtiff6 is already the newest version (4.7.2-1). libtiff6 set to manually installed. libparse-recdescent-perl is already the newest version (1.967015+dfsg-4). libparse-recdescent-perl set to manually installed. gcc-x86-64-linux-gnu is already the newest version (4:15.2.0-5+b1). gcc-x86-64-linux-gnu set to manually installed. libpciaccess0 is already the newest version (0.19-2). libpciaccess0 set to manually installed. libsqlite3-0 is already the newest version (3.53.3-1). libsqlite3-0 set to manually installed. libcgi-pm-perl is already the newest version (4.72-1). libcgi-pm-perl set to manually installed. libclass-data-inheritable-perl is already the newest version (0.10-1). libclass-data-inheritable-perl set to manually installed. libclass-singleton-perl is already the newest version (1.6-2). libclass-singleton-perl set to manually installed. readline-common is already the newest version (8.3-4). readline-common set to manually installed. pci.ids is already the newest version (0.0~2026.07.06-1). pci.ids set to manually installed. libhtml-parser-perl is already the newest version (3.83-2). libhtml-parser-perl set to manually installed. libio-interactive-perl is already the newest version (1.027-1). libio-interactive-perl set to manually installed. libdrm2 is already the newest version (2.4.134-3). libdrm2 set to manually installed. libgdbm-compat4t64 is already the newest version (1.26-1+b2). libgdbm-compat4t64 set to manually installed. ncurses-base is already the newest version (6.6+20260608-2). libdebconfclient0 is already the newest version (0.283). libglvnd0 is already the newest version (1.7.0-3+b1). libglvnd0 set to manually installed. unzip is already the newest version (6.0-29). unzip 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. g++ is already the newest version (4:15.2.0-5+b1). g++ set to manually installed. libinput10 is already the newest version (1.31.3-1). libinput10 set to manually installed. libyaml-pp-perl is already the newest version (0.41.0-1). libyaml-pp-perl set to manually installed. make is already the newest version (4.4.1-3). make set to manually installed. libssh2-1t64 is already the newest version (1.11.1-4). libssh2-1t64 set to manually installed. cpp is already the newest version (4:15.2.0-5+b1). cpp 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. libcrypt1 is already the newest version (1:4.5.1-1+b1). libfribidi0 is already the newest version (1.0.16-5+b1). libfribidi0 set to manually installed. libxfixes3 is already the newest version (1:6.0.0-2+b5). libxfixes3 set to manually installed. debianutils is already the newest version (5.23.2). libglu1-mesa is already the newest version (9.0.2-1.1+b4). libglu1-mesa set to manually installed. libgnutls28-dev is already the newest version (3.8.13-1). libgnutls28-dev set to manually installed. libb2-1 is already the newest version (0.98.1-1.1+b3). libb2-1 set to manually installed. libdbus-1-3 is already the newest version (1.16.2-5+b1). libdbus-1-3 set to manually installed. automake is already the newest version (1:1.18.1-4). automake set to manually installed. libdynaloader-functions-perl is already the newest version (0.004-2). libdynaloader-functions-perl set to manually installed. libxcb-xfixes0 is already the newest version (1.17.0-2+b2). libxcb-xfixes0 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. libxcb1 is already the newest version (1.17.0-2+b2). libxcb1 set to manually installed. libjbig0 is already the newest version (2.1-6.1+b3). libjbig0 set to manually installed. libsub-exporter-perl is already the newest version (0.990-1). libsub-exporter-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. libqhull-r8.0 is already the newest version (2020.2-9). libqhull-r8.0 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. libgav1-2 is already the newest version (0.20.0-2+b1). libgav1-2 set to manually installed. libavahi-common3 is already the newest version (0.8-18). libavahi-common3 set to manually installed. libcups2t64 is already the newest version (2.4.18-1). libcups2t64 set to manually installed. libmodule-runtime-perl is already the newest version (0.018-1). libmodule-runtime-perl set to manually installed. libconfig-tiny-perl is already the newest version (2.30-1). libconfig-tiny-perl set to manually installed. gcc is already the newest version (4:15.2.0-5+b1). gcc set to manually installed. libarchive-zip-perl is already the newest version (1.68-1). libarchive-zip-perl set to manually installed. libmpfr6 is already the newest version (4.2.2-3). libmpfr6 set to manually installed. liblog-log4perl-perl is already the newest version (1.57-1). liblog-log4perl-perl set to manually installed. libmoox-aliases-perl is already the newest version (0.001006-3). libmoox-aliases-perl set to manually installed. coreutils is already the newest version (9.10-1). libmousex-nativetraits-perl is already the newest version (1.09-3). libmousex-nativetraits-perl set to manually installed. libdav1d7 is already the newest version (1.5.3-1+b2). libdav1d7 set to manually installed. libmagic-mgc is already the newest version (1:5.47-4). libmagic-mgc set to manually installed. libqt6xml6 is already the newest version (6.10.2+dfsg-15). libqt6xml6 set to manually installed. libnet-ipv6addr-perl is already the newest version (1.02-1). libnet-ipv6addr-perl set to manually installed. libhttp-cookies-perl is already the newest version (6.11-1). libhttp-cookies-perl set to manually installed. init-system-helpers is already the newest version (1.69). libsub-quote-perl is already the newest version (2.006009-1). libsub-quote-perl set to manually installed. libavif16 is already the newest version (1.4.2-1). libavif16 set to manually installed. libdata-messagepack-perl is already the newest version (1.02-3). libdata-messagepack-perl set to manually installed. libgbm1 is already the newest version (26.1.4-1). libgbm1 set to manually installed. libtext-markdown-discount-perl is already the newest version (0.18-1). libtext-markdown-discount-perl set to manually installed. libimagequant0 is already the newest version (4.4.1-1+b2). libimagequant0 set to manually installed. libhtml-tagset-perl is already the newest version (3.24-1). libhtml-tagset-perl set to manually installed. libx11-dev is already the newest version (2:1.8.13-1). libx11-dev set to manually installed. libkadm5srv-mit12 is already the newest version (1.22.1-3). libkadm5srv-mit12 set to manually installed. libgetopt-long-descriptive-perl is already the newest version (0.117-1). libgetopt-long-descriptive-perl set to manually installed. plzip is already the newest version (1.13-1). plzip set to manually installed. xkb-data is already the newest version (2.47-1). xkb-data set to manually installed. dpkg is already the newest version (1.23.7). build-essential is already the newest version (12.12). build-essential set to manually installed. libxcb-glx0 is already the newest version (1.17.0-2+b2). libxcb-glx0 set to manually installed. liblapack3 is already the newest version (3.12.1-8). liblapack3 set to manually installed. libheif1 is already the newest version (1.23.1-1). libheif1 set to manually installed. libpixman-1-0 is already the newest version (0.46.4-1+b2). libpixman-1-0 set to manually installed. libgl1 is already the newest version (1.7.0-3+b1). libgl1 set to manually installed. ncurses-bin is already the newest version (6.6+20260608-2). libkeyutils1 is already the newest version (1.6.3-6+b2). libkeyutils1 set to manually installed. libxml-namespacesupport-perl is already the newest version (1.12-2). libxml-namespacesupport-perl set to manually installed. libfltk1.4 is already the newest version (1.4.4-4). libfltk1.4 set to manually installed. libio-tiecombine-perl is already the newest version (1.005-3). libio-tiecombine-perl set to manually installed. libwayland-client0 is already the newest version (1.25.0-2). libwayland-client0 set to manually installed. libxs-parse-keyword-perl is already the newest version (0.49-1). libxs-parse-keyword-perl set to manually installed. libcairo2 is already the newest version (1.18.4-3+b1). libcairo2 set to manually installed. comerr-dev is already the newest version (2.1-1.47.4-1). comerr-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. libdecor-0-0 is already the newest version (0.2.5-1+b1). libdecor-0-0 set to manually installed. libarray-intspan-perl is already the newest version (2.004-2). libarray-intspan-perl set to manually installed. libz3-4 is already the newest version (4.13.3-1.1). libz3-4 set to manually installed. libhttp-negotiate-perl is already the newest version (6.01-2). libhttp-negotiate-perl set to manually installed. t1utils is already the newest version (1.41-4). t1utils set to manually installed. libc-bin is already the newest version (2.42-17). libberkeleydb-perl is already the newest version (0.66-2+b1). libberkeleydb-perl set to manually installed. libfontconfig1 is already the newest version (2.17.1-5). libfontconfig1 set to manually installed. libdevel-size-perl is already the newest version (0.87-1). libdevel-size-perl set to manually installed. libdatetime-format-strptime-perl is already the newest version (1.8000-1). libdatetime-format-strptime-perl set to manually installed. libconfig-model-perl is already the newest version (2.165-1). libconfig-model-perl set to manually installed. libxcb-shape0 is already the newest version (1.17.0-2+b2). libxcb-shape0 set to manually installed. libdevel-stacktrace-perl is already the newest version (2.0500-1). libdevel-stacktrace-perl set to manually installed. libexporter-tiny-perl is already the newest version (1.006003-1). libexporter-tiny-perl set to manually installed. libmount1 is already the newest version (2.42.2-1). libdrm-amdgpu1 is already the newest version (2.4.134-3). libdrm-amdgpu1 set to manually installed. libfftw3-quad3 is already the newest version (3.3.11-1). libfftw3-quad3 set to manually installed. libtimedate-perl is already the newest version (2.3500-1). libtimedate-perl set to manually installed. binutils-x86-64-linux-gnu is already the newest version (2.46.50.20260617-1). binutils-x86-64-linux-gnu set to manually installed. libstring-license-perl is already the newest version (0.0.11-1). libstring-license-perl set to manually installed. libgfortran5 is already the newest version (16.1.0-2). libgfortran5 set to manually installed. libmouse-perl is already the newest version (2.6.2-1). libmouse-perl 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.WcsX9YD38O (Reading database ... 38448 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.WcsX9YD38O I: running special hook: download /pkglist ./pkglist I: running --customize-hook in shell: sh -c 'rm "$1/pkglist"' exec /srv/rebuilderd/tmp/mmdebstrap.WcsX9YD38O 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.WcsX9YD38O... I: success in 263.5751 seconds Downloading dependency 623 of 690: libavahi-common3:amd64=0.8-18 Downloading dependency 624 of 690: libcups2t64:amd64=2.4.18-1 Downloading dependency 625 of 690: libmodule-runtime-perl:amd64=0.018-1 Downloading dependency 626 of 690: libconfig-tiny-perl:amd64=2.30-1 Downloading dependency 627 of 690: gcc:amd64=4:15.2.0-5+b1 Downloading dependency 628 of 690: libarchive-zip-perl:amd64=1.68-1 Downloading dependency 629 of 690: libmpfr6:amd64=4.2.2-3 Downloading dependency 630 of 690: liblog-log4perl-perl:amd64=1.57-1 Downloading dependency 631 of 690: libmoox-aliases-perl:amd64=0.001006-3 Downloading dependency 632 of 690: coreutils:amd64=9.10-1 Downloading dependency 633 of 690: libmousex-nativetraits-perl:amd64=1.09-3 Downloading dependency 634 of 690: libdav1d7:amd64=1.5.3-1+b2 Downloading dependency 635 of 690: libmagic-mgc:amd64=1:5.47-4 Downloading dependency 636 of 690: libqt6xml6:amd64=6.10.2+dfsg-15 Downloading dependency 637 of 690: libnet-ipv6addr-perl:amd64=1.02-1 Downloading dependency 638 of 690: libhttp-cookies-perl:amd64=6.11-1 Downloading dependency 639 of 690: init-system-helpers:amd64=1.69 Downloading dependency 640 of 690: libsub-quote-perl:amd64=2.006009-1 Downloading dependency 641 of 690: libavif16:amd64=1.4.2-1 Downloading dependency 642 of 690: libdata-messagepack-perl:amd64=1.02-3 Downloading dependency 643 of 690: libgbm1:amd64=26.1.4-1 Downloading dependency 644 of 690: libtext-markdown-discount-perl:amd64=0.18-1 Downloading dependency 645 of 690: libimagequant0:amd64=4.4.1-1+b2 Downloading dependency 646 of 690: libhtml-tagset-perl:amd64=3.24-1 Downloading dependency 647 of 690: libx11-dev:amd64=2:1.8.13-1 Downloading dependency 648 of 690: libkadm5srv-mit12:amd64=1.22.1-3 Downloading dependency 649 of 690: libgetopt-long-descriptive-perl:amd64=0.117-1 Downloading dependency 650 of 690: plzip:amd64=1.13-1 Downloading dependency 651 of 690: xkb-data:amd64=2.47-1 Downloading dependency 652 of 690: dpkg:amd64=1.23.7 Downloading dependency 653 of 690: build-essential:amd64=12.12 Downloading dependency 654 of 690: libxcb-glx0:amd64=1.17.0-2+b2 Downloading dependency 655 of 690: liblapack3:amd64=3.12.1-8 Downloading dependency 656 of 690: libheif1:amd64=1.23.1-1 Downloading dependency 657 of 690: libpixman-1-0:amd64=0.46.4-1+b2 Downloading dependency 658 of 690: libgl1:amd64=1.7.0-3+b1 Downloading dependency 659 of 690: ncurses-bin:amd64=6.6+20260608-2 Downloading dependency 660 of 690: libkeyutils1:amd64=1.6.3-6+b2 Downloading dependency 661 of 690: libxml-namespacesupport-perl:amd64=1.12-2 Downloading dependency 662 of 690: libfltk1.4:amd64=1.4.4-4 Downloading dependency 663 of 690: libio-tiecombine-perl:amd64=1.005-3 Downloading dependency 664 of 690: libwayland-client0:amd64=1.25.0-2 Downloading dependency 665 of 690: libxs-parse-keyword-perl:amd64=0.49-1 Downloading dependency 666 of 690: libcairo2:amd64=1.18.4-3+b1 Downloading dependency 667 of 690: comerr-dev:amd64=2.1-1.47.4-1 Downloading dependency 668 of 690: libfeature-compat-class-perl:amd64=0.08-1 Downloading dependency 669 of 690: libdecor-0-0:amd64=0.2.5-1+b1 Downloading dependency 670 of 690: libarray-intspan-perl:amd64=2.004-2 Downloading dependency 671 of 690: libz3-4:amd64=4.13.3-1.1 Downloading dependency 672 of 690: libhttp-negotiate-perl:amd64=6.01-2 Downloading dependency 673 of 690: t1utils:amd64=1.41-4 Downloading dependency 674 of 690: libc-bin:amd64=2.42-17 Downloading dependency 675 of 690: libberkeleydb-perl:amd64=0.66-2+b1 Downloading dependency 676 of 690: libfontconfig1:amd64=2.17.1-5 Downloading dependency 677 of 690: libdevel-size-perl:amd64=0.87-1 Downloading dependency 678 of 690: libdatetime-format-strptime-perl:amd64=1.8000-1 Downloading dependency 679 of 690: libconfig-model-perl:amd64=2.165-1 Downloading dependency 680 of 690: libxcb-shape0:amd64=1.17.0-2+b2 Downloading dependency 681 of 690: libdevel-stacktrace-perl:amd64=2.0500-1 Downloading dependency 682 of 690: libexporter-tiny-perl:amd64=1.006003-1 Downloading dependency 683 of 690: libmount1:amd64=2.42.2-1 Downloading dependency 684 of 690: libdrm-amdgpu1:amd64=2.4.134-3 Downloading dependency 685 of 690: libfftw3-quad3:amd64=3.3.11-1 Downloading dependency 686 of 690: libtimedate-perl:amd64=2.3500-1 Downloading dependency 687 of 690: binutils-x86-64-linux-gnu:amd64=2.46.50.20260617-1 Downloading dependency 688 of 690: libstring-license-perl:amd64=0.0.11-1 Downloading dependency 689 of 690: libgfortran5:amd64=16.1.0-2 Downloading dependency 690 of 690: libmouse-perl:amd64=2.6.2-1 env --chdir=/srv/rebuilderd/tmp/rebuilderdvQreqm/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/debrebuildKczej7/debrebuild.sbuildrc.iZbIJE8pCVXj sbuild --build=amd64 --host=amd64 --arch-any --no-arch-all --chroot=/srv/rebuilderd/tmp/debrebuildKczej7/debrebuild.tar.zgstUQCdP5cM --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/rebuilderdvQreqm/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 osuosl44-amd64.novalocal +==============================================================================+ | octave-statistics 1.8.4-1 (amd64) Sat, 18 Jul 2026 00:53:32 +0000 | +==============================================================================+ Package: octave-statistics Version: 1.8.4-1 Source Version: 1.8.4-1 Distribution: unstable Machine Architecture: amd64 Host Architecture: amd64 Build Architecture: amd64 Build Type: any I: No tarballs found in /srv/rebuilderd/.cache/sbuild I: Unpacking /srv/rebuilderd/tmp/debrebuildKczej7/debrebuild.tar.zgstUQCdP5cM to /srv/rebuilderd/tmp/tmp.sbuild.J5imnx92mp... 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 00:53:39 +0000 | +------------------------------------------------------------------------------+ Local sources ------------- /srv/rebuilderd/tmp/rebuilderdvQreqm/inputs/octave-statistics_1.8.4-1.dsc exists in /srv/rebuilderd/tmp/rebuilderdvQreqm/inputs; copying to chroot +------------------------------------------------------------------------------+ | Install package build dependencies Sat, 18 Jul 2026 00:53:41 +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-jZDGZr/apt_archive/sbuild-build-depends-main-dummy.deb'. Install main build dependencies (apt-based resolver) ---------------------------------------------------- Installing build dependencies +------------------------------------------------------------------------------+ | Check architectures Sat, 18 Jul 2026 00:53:44 +0000 | +------------------------------------------------------------------------------+ Arch check ok (amd64 included in any all) +------------------------------------------------------------------------------+ | Build environment Sat, 18 Jul 2026 00:53:44 +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-x86-64-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-x86-64-linux-gnu_15.3.0-1 cpp-x86-64-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-x86-64-linux-gnu_15.3.0-1 g++-x86-64-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-x86-64-linux-gnu_15.3.0-1 gcc-16-base_16.1.0-2 gcc-x86-64-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-x86-64-linux-gnu_15.3.0-1 gfortran-x86-64-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 libhwasan0_16.1.0-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 liblsan0_16.1.0-2 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 libtsan2_16.1.0-2 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 00:53:44 +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 amd64 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/x86_64-linux-gnu/octave/packages mkdir (/tmp/oct-Lw8D0g) untar (/tmp//octave-statistics-1.8.4.tar.gz, /tmp/oct-Lw8D0g) make[1]: Entering directory '/tmp/oct-Lw8D0g/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 x86_64-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 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection editDistance.cc -o /tmp/oct-68R253.o x86_64-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 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection libsvmwrite.cc -o /tmp/oct-StFXwa.o x86_64-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 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection libsvmread.cc -o /tmp/oct-OSJg3L.o x86_64-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 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection svmpredict.cc -o /tmp/oct-eoSagv.o x86_64-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o libsvmwrite.oct /tmp/oct-StFXwa.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro /usr/bin/mkoctfile --verbose svmtrain.cc svm.cpp svm_model_octave.cc x86_64-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 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection svmtrain.cc -o /tmp/oct-v3BRvi.o x86_64-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o libsvmread.oct /tmp/oct-OSJg3L.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro /usr/bin/mkoctfile --verbose fcnntrain.cc x86_64-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 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection fcnntrain.cc -o /tmp/oct-kDYjTZ.o x86_64-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 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection svm.cpp -o /tmp/oct-HNSQpY.o x86_64-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 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection svm.cpp -o /tmp/oct-lplvjF.o x86_64-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 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection svm_model_octave.cc -o /tmp/oct-cCO5ru.o x86_64-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 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection svm_model_octave.cc -o /tmp/oct-ocBjEp.o x86_64-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o editDistance.oct /tmp/oct-68R253.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro /usr/bin/mkoctfile --verbose fcnnpredict.cc x86_64-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 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection fcnnpredict.cc -o /tmp/oct-3rzgxB.o x86_64-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o svmpredict.oct /tmp/oct-eoSagv.o /tmp/oct-HNSQpY.o /tmp/oct-cCO5ru.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro x86_64-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o fcnntrain.oct /tmp/oct-kDYjTZ.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro x86_64-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o svmtrain.oct /tmp/oct-v3BRvi.o /tmp/oct-lplvjF.o /tmp/oct-ocBjEp.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro x86_64-linux-gnu-g++ -I/usr/include/octave-11.3.0/octave/.. -I/usr/include/octave-11.3.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-statistics-1.8.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o fcnnpredict.oct /tmp/oct-3rzgxB.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro make[1]: Leaving directory '/tmp/oct-Lw8D0g/octave-statistics-1.8.4/src' copyfile /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/editDistance.oct /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/fcnnpredict.oct /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/fcnntrain.oct /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/libsvmread.oct /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/libsvmwrite.oct /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/svmpredict.oct /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/svmtrain.oct /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/editDistance.cc-tst /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/fcnnpredict.cc-tst /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/fcnntrain.cc-tst /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/libsvmread.cc-tst /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/libsvmwrite.cc-tst /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/svmpredict.cc-tst /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/svmtrain.cc-tst /tmp/oct-Lw8D0g/octave-statistics-1.8.4/src/doc-cache /tmp/oct-Lw8D0g/octave-statistics-1.8.4/inst/x86_64-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/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/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/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/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/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/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/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/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/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/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/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 [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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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.e75bQB90hC at line 1622 column 2 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/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/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 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. ***** 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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.e75bQB90hC at line 2382 column 2 1 test, 1 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/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/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/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/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/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/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/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/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/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/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/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/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_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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 ***** 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 $|+$$$$$$$$$$$$ 4#$$$ 2$ 1.6 +|+##################### 0 $|+$$$$$$$$#sqrt ( | Studentized Res|duals | )############### -1 $|+ 3$### 1$$$$$$$$$$$$$ 1.2 +|+##################### $|######$####$###$###$## $ #|###################### -2 #|------------------------- 1 +|------------------------- -3 +-+$+$$$+$$$$+$$$+$$$+$$$+ 0.8 +-+#+###+####+###+###+## + -1.5 -1 -0.5 0 0.5 1 1.5 1 1.5 2 2.5 3 3.5 4 Residual-Leverage Plot Cook's Distance Stem Plot 1.5 +|+$$$$$$$$$$$$$$$$$$$$$$$ 0.7 +|+ 1 +|+$$$$$$$$ 4$$$$$$$$$$$$ 0.6 +|+ #|###################### 0.5 @|@@@@ 1@@@@ 2@@@ 3@@@ 4 0.5 +|+$$$$$$$$$$$$$$$$$$$$$$$ 0.4 +|+###*######*#####*#### * 0 #|####################Cook's distanc|####*######*#####*#### * -0.5 +|+$$$$$$$$$$$$$$$$$$$$$$$ 0.3 +|+###*######*#####*#### * #|###################### 0.2 +|+###*######*#####*#### * -1 +|------------------------- 0.1 +|------------------------- -1.5 +-+$+$$+$$$+$$+$$$+$$+$$$+ 0 $$$$$$$$$$$$$$$$$$$$$$$$$$ 0.440.40.48 0.0.520.50.560.58 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 Checking C++ files ... [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/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 [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/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/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/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/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 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/x86_64-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' in '../octave-statistics_1.8.4-1_amd64.deb'. dpkg-deb: building package 'octave-statistics-dbgsym' in '../octave-statistics-dbgsym_1.8.4-1_amd64.deb'. dpkg-genbuildinfo --build=any -O../octave-statistics_1.8.4-1_amd64.buildinfo dpkg-genchanges --build=any -O../octave-statistics_1.8.4-1_amd64.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-18T00:58:37Z Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Changes Sat, 18 Jul 2026 00:58:37 +0000 | +------------------------------------------------------------------------------+ octave-statistics_1.8.4-1_amd64.changes: ---------------------------------------- Format: 1.8 Date: Sun, 12 Jul 2026 09:51:03 +0200 Source: octave-statistics Binary: octave-statistics octave-statistics-dbgsym Architecture: amd64 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: 63a65fe092aa88aed01a49b042988c925f8d5cae 5053184 octave-statistics-dbgsym_1.8.4-1_amd64.deb b170c69d241f55a05ffc94a6c5c56be0824487f8 22700 octave-statistics_1.8.4-1_amd64.buildinfo ef050fe602893258643e6548708849ed50e6d88e 148068 octave-statistics_1.8.4-1_amd64.deb Checksums-Sha256: 6995b781510d93104f84cb3ebbbaee92fbab3494d22b93c4a134b44cf186a52b 5053184 octave-statistics-dbgsym_1.8.4-1_amd64.deb 2c759dcd093e094f39996a8781a71c0855a953d964880f2454a4c7caa4a66eb4 22700 octave-statistics_1.8.4-1_amd64.buildinfo dab81f2b8666a55b9954a539753e1c049217f889f61df4469ecca96352e75e00 148068 octave-statistics_1.8.4-1_amd64.deb Files: 7b8c7ddfd33e38c2600f8183b1322d30 5053184 debug optional octave-statistics-dbgsym_1.8.4-1_amd64.deb d31b0d0375cac5bbc3a383407b4d9af3 22700 math optional octave-statistics_1.8.4-1_amd64.buildinfo 696b1199b741522a8bd1e83d6f65f85b 148068 math optional octave-statistics_1.8.4-1_amd64.deb +------------------------------------------------------------------------------+ | Buildinfo Sat, 18 Jul 2026 00:58:38 +0000 | +------------------------------------------------------------------------------+ Format: 1.0 Source: octave-statistics Binary: octave-statistics octave-statistics-dbgsym Architecture: amd64 Version: 1.8.4-1 Checksums-Md5: 7b8c7ddfd33e38c2600f8183b1322d30 5053184 octave-statistics-dbgsym_1.8.4-1_amd64.deb 696b1199b741522a8bd1e83d6f65f85b 148068 octave-statistics_1.8.4-1_amd64.deb Checksums-Sha1: 63a65fe092aa88aed01a49b042988c925f8d5cae 5053184 octave-statistics-dbgsym_1.8.4-1_amd64.deb ef050fe602893258643e6548708849ed50e6d88e 148068 octave-statistics_1.8.4-1_amd64.deb Checksums-Sha256: 6995b781510d93104f84cb3ebbbaee92fbab3494d22b93c4a134b44cf186a52b 5053184 octave-statistics-dbgsym_1.8.4-1_amd64.deb dab81f2b8666a55b9954a539753e1c049217f889f61df4469ecca96352e75e00 148068 octave-statistics_1.8.4-1_amd64.deb Build-Origin: Debian Build-Architecture: amd64 Build-Date: Sat, 18 Jul 2026 00:58:36 +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-x86-64-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-x86-64-linux-gnu (= 15.3.0-1), cpp-x86-64-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-x86-64-linux-gnu (= 15.3.0-1), g++-x86-64-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-x86-64-linux-gnu (= 15.3.0-1), gcc-16-base (= 16.1.0-2), gcc-x86-64-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-x86-64-linux-gnu (= 15.3.0-1), gfortran-x86-64-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), libhwasan0 (= 16.1.0-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), liblsan0 (= 16.1.0-2), 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), libtsan2 (= 16.1.0-2), 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 00:58:38 +0000 | +------------------------------------------------------------------------------+ octave-statistics-dbgsym_1.8.4-1_amd64.deb ------------------------------------------ new Debian package, version 2.0. size 5053184 bytes: control archive=860 bytes. 642 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: amd64 Maintainer: Debian Octave Group Installed-Size: 5083 Depends: octave-statistics (= 1.8.4-1) Section: debug Priority: optional Description: debug symbols for octave-statistics Build-Ids: 1b85edb6f26bd777c9856df61104421066de5723 2328cb1a21fa8ad6596ab52e712148f2eb56cb81 70d236c5e8489d56a3d34920831e0681b106ca61 9a7d0ec3fda6bf786da2f14102a91039ca4b28d5 eb08b3ff23b354c7e4e6c8c885259e2dc1f80b12 f8bad66af34c14422cf0d2409c7bc0f7ee3f5796 fdf66941f3e13059e640d5d5cbea623a7370979f 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/1b/ -rw-r--r-- root/root 1009536 2026-07-12 07:51 ./usr/lib/debug/.build-id/1b/85edb6f26bd777c9856df61104421066de5723.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/23/ -rw-r--r-- root/root 326528 2026-07-12 07:51 ./usr/lib/debug/.build-id/23/28cb1a21fa8ad6596ab52e712148f2eb56cb81.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/70/ -rw-r--r-- root/root 735912 2026-07-12 07:51 ./usr/lib/debug/.build-id/70/d236c5e8489d56a3d34920831e0681b106ca61.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/9a/ -rw-r--r-- root/root 760936 2026-07-12 07:51 ./usr/lib/debug/.build-id/9a/7d0ec3fda6bf786da2f14102a91039ca4b28d5.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/eb/ -rw-r--r-- root/root 972384 2026-07-12 07:51 ./usr/lib/debug/.build-id/eb/08b3ff23b354c7e4e6c8c885259e2dc1f80b12.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/f8/ -rw-r--r-- root/root 346008 2026-07-12 07:51 ./usr/lib/debug/.build-id/f8/bad66af34c14422cf0d2409c7bc0f7ee3f5796.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/fd/ -rw-r--r-- root/root 1034680 2026-07-12 07:51 ./usr/lib/debug/.build-id/fd/f66941f3e13059e640d5d5cbea623a7370979f.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_amd64.deb ----------------------------------- new Debian package, version 2.0. size 148068 bytes: control archive=1204 bytes. 773 bytes, 16 lines control 2205 bytes, 17 lines md5sums Package: octave-statistics Version: 1.8.4-1 Architecture: amd64 Maintainer: Debian Octave Group Installed-Size: 627 Depends: octave-statistics-common (= 1.8.4-1), libc6 (>= 2.38), libgcc-s1 (>= 3.0), 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/x86_64-linux-gnu/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/ -rw-r--r-- root/root 19767 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/doc-cache -rw-r--r-- root/root 4217 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/editDistance.cc-tst -rw-r--r-- root/root 84416 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/editDistance.oct -rw-r--r-- root/root 2958 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/fcnnpredict.cc-tst -rw-r--r-- root/root 72136 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/fcnnpredict.oct -rw-r--r-- root/root 4428 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/fcnntrain.cc-tst -rw-r--r-- root/root 80448 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/fcnntrain.oct -rw-r--r-- root/root 561 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/libsvmread.cc-tst -rw-r--r-- root/root 35296 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/libsvmread.oct -rw-r--r-- root/root 888 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/libsvmwrite.cc-tst -rw-r--r-- root/root 22848 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/libsvmwrite.oct -rw-r--r-- root/root 2514 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/svmpredict.cc-tst -rw-r--r-- root/root 142056 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/svmpredict.oct -rw-r--r-- root/root 2618 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-pc-linux-gnu-api-v61/svmtrain.cc-tst -rw-r--r-- root/root 137960 2026-07-12 07:51 ./usr/lib/x86_64-linux-gnu/octave/packages/statistics-1.8.4/x86_64-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 00:58:39 +0000 | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup Sat, 18 Jul 2026 00:58:39 +0000 | +------------------------------------------------------------------------------+ Purging /build/reproducible-path Not cleaning session: cloned chroot in use +------------------------------------------------------------------------------+ | Summary Sat, 18 Jul 2026 00:58:41 +0000 | +------------------------------------------------------------------------------+ Build Architecture: amd64 Build Type: any Build-Space: 52724 Build-Time: 292 Distribution: unstable Host Architecture: amd64 Install-Time: 3 Job: /srv/rebuilderd/tmp/rebuilderdvQreqm/inputs/octave-statistics_1.8.4-1.dsc Machine Architecture: amd64 Package: octave-statistics Package-Time: 305 Source-Version: 1.8.4-1 Space: 52724 Status: successful Version: 1.8.4-1 -------------------------------------------------------------------------------- Finished at 2026-07-18T00:58:37Z Build needed 00:05:05, 52724k disk space build artifacts stored in /srv/rebuilderd/tmp/rebuilderdvQreqm/out checking octave-statistics-dbgsym_1.8.4-1_amd64.deb: size differs for octave-statistics-dbgsym_1.8.4-1_amd64.deb