=============================================================================== 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/rebuilderdD0NztJ/inputs/octave-statistics_1.8.4-1_loong64.buildinfo Source: octave-statistics Version: 1.8.4-1 rebuilderd-worker node: loong64-02 +------------------------------------------------------------------------------+ | Downloading sources Sun, 06 Sep 2026 01:59:04 +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.7 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/non-free-firmware Sources [696 B] Get:12 https://deb.debian.org/debian-security trixie-security/main Sources [227 kB] Get:13 https://deb.debian.org/debian trixie-updates/main Sources [1,840 B] Get:14 https://deb.debian.org/debian trixie-proposed-updates/main Sources [181 kB] Get:15 https://deb.debian.org/debian trixie-backports/main Sources [307 kB] Get:16 https://deb.debian.org/debian trixie-backports/non-free-firmware Sources [3,424 B] Get:17 https://deb.debian.org/debian forky/main Sources [11.2 MB] Get:18 https://deb.debian.org/debian forky/non-free-firmware Sources [7,876 B] Get:19 https://deb.debian.org/debian sid/non-free-firmware Sources [10.6 kB] Get:20 https://deb.debian.org/debian sid/main Sources [11.9 MB] 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 [417 kB] Fetched 35.6 MB in 1min 23s (428 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 Sun, 06 Sep 2026 02:01:00 +0000 | +------------------------------------------------------------------------------+ Rebuilding octave-statistics=1.8.4-1 in /srv/rebuilderd/tmp/rebuilderdD0NztJ/inputs now. + /usr/bin/debrebuild --buildresult=/srv/rebuilderd/tmp/rebuilderdD0NztJ/out --builder=sbuild+unshare --cache=/srv/rebuilderd/cache -- /srv/rebuilderd/tmp/rebuilderdD0NztJ/inputs/octave-statistics_1.8.4-1_loong64.buildinfo /srv/rebuilderd/tmp/rebuilderdD0NztJ/inputs/octave-statistics_1.8.4-1_loong64.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/20260710T022047Z unstable InRelease [193 kB] Get:3 http://snapshot.debian.org/archive/debian/20260725T082357Z unstable InRelease [193 kB] Get:4 http://deb.debian.org/debian unstable/main loong64 Packages [10.2 MB] Get:5 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 Packages [10.1 MB] Get:6 http://snapshot.debian.org/archive/debian/20260725T082357Z unstable/main loong64 Packages [10.2 MB] Fetched 31.1 MB in 11s (2857 kB/s) Reading package lists... W: http://snapshot.debian.org/archive/debian/20260710T022047Z/dists/unstable/InRelease: Loading /etc/apt/trusted.gpg from deprecated option Dir::Etc::Trusted W: http://snapshot.debian.org/archive/debian/20260725T082357Z/dists/unstable/InRelease: Loading /etc/apt/trusted.gpg from deprecated option Dir::Etc::Trusted Get:1 http://deb.debian.org/debian unstable/main loong64 libacl1 loong64 2.4.0-1 [37.9 kB] Get:2 http://deb.debian.org/debian unstable/main loong64 aglfn all 1.7+git20191031.4036a9c-2 [30.5 kB] Get:3 http://deb.debian.org/debian unstable/main loong64 libasound2-data all 1.2.16.1-1 [19.4 kB] Get:4 http://deb.debian.org/debian unstable/main loong64 libasound2t64 loong64 1.2.16.1-1 [383 kB] Get:5 http://deb.debian.org/debian unstable/main loong64 libarpack2t64 loong64 3.9.1-6+b2 [85.1 kB] Get:6 http://deb.debian.org/debian unstable/main loong64 libattr1 loong64 1:2.6.0-1 [24.8 kB] Get:7 http://deb.debian.org/debian unstable/main loong64 libaudit-common all 1:4.1.2-1 [14.3 kB] Get:8 http://deb.debian.org/debian unstable/main loong64 autoconf all 2.73-2 [516 kB] Get:9 http://deb.debian.org/debian unstable/main loong64 automake all 1:1.18.1-4 [877 kB] Get:10 http://deb.debian.org/debian unstable/main loong64 autotools-dev all 20240727.1+nmu1 [60.0 kB] Get:11 http://deb.debian.org/debian unstable/main loong64 libavahi-client3 loong64 0.8-18 [48.5 kB] Get:12 http://deb.debian.org/debian unstable/main loong64 libavahi-common-data loong64 0.8-18 [113 kB] Get:13 http://deb.debian.org/debian unstable/main loong64 libavahi-common3 loong64 0.8-18 [44.7 kB] Get:14 http://deb.debian.org/debian unstable/main loong64 base-files loong64 14.2 [88.0 kB] Get:15 http://deb.debian.org/debian unstable/main loong64 base-passwd loong64 3.6.8+b1 [54.7 kB] Get:16 http://deb.debian.org/debian unstable/main loong64 build-essential loong64 12.12+b1 [4900 B] Get:17 http://deb.debian.org/debian unstable/main loong64 bzip2 loong64 1.0.8-6+b2 [40.3 kB] Get:18 http://deb.debian.org/debian unstable/main loong64 cme all 1.049-1 [72.6 kB] Get:19 http://deb.debian.org/debian unstable/main loong64 coreutils loong64 9.10-1 [3128 kB] Get:20 http://deb.debian.org/debian unstable/main loong64 dash loong64 0.5.12-12+b1 [101 kB] Get:21 http://deb.debian.org/debian unstable/main loong64 debconf all 1.5.92 [123 kB] Get:22 http://deb.debian.org/debian unstable/main loong64 debhelper all 14.3 [934 kB] Get:23 http://deb.debian.org/debian unstable/main loong64 dh-autoreconf all 22 [12.2 kB] Get:24 http://deb.debian.org/debian unstable/main loong64 diffstat loong64 1.69-1 [34.3 kB] Get:25 http://deb.debian.org/debian unstable/main loong64 diffutils loong64 1:3.12-1+b1 [405 kB] Get:26 http://deb.debian.org/debian unstable/main loong64 dpkg loong64 1.23.7 [1527 kB] Get:27 http://deb.debian.org/debian unstable/main loong64 dpkg-dev all 1.23.7 [1318 kB] Get:28 http://deb.debian.org/debian unstable/main loong64 file loong64 1:5.47-4 [43.2 kB] Get:29 http://deb.debian.org/debian unstable/main loong64 fontconfig loong64 2.17.1-5 [191 kB] Get:30 http://deb.debian.org/debian unstable/main loong64 fontconfig-config loong64 2.17.1-5 [56.1 kB] Get:31 http://deb.debian.org/debian unstable/main loong64 fonts-freefont-otf all 20211204+svn4273-4 [4322 kB] Get:32 http://deb.debian.org/debian unstable/main loong64 autopoint all 1.0-3 [820 kB] Get:33 http://deb.debian.org/debian unstable/main loong64 gettext loong64 1.0-3 [2628 kB] Get:34 http://deb.debian.org/debian unstable/main loong64 gettext-base loong64 1.0-3 [333 kB] Get:35 http://deb.debian.org/debian unstable/main loong64 gnuplot-data all 6.0.3+dfsg1-1 [73.0 kB] Get:36 http://deb.debian.org/debian unstable/main loong64 gnuplot-nox loong64 6.0.3+dfsg1-1+b1 [891 kB] Get:37 http://deb.debian.org/debian unstable/main loong64 grep loong64 3.12-1+b1 [445 kB] Get:38 http://deb.debian.org/debian unstable/main loong64 groff-base loong64 1.24.1-1 [1314 kB] Get:39 http://deb.debian.org/debian unstable/main loong64 hostname loong64 3.25+b1 [11.2 kB] Get:40 http://deb.debian.org/debian unstable/main loong64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get:41 http://deb.debian.org/debian unstable/main loong64 iso-codes all 4.20.1-1 [3319 kB] Get:42 http://deb.debian.org/debian unstable/main loong64 krb5-multidev loong64 1.22.1-3 [125 kB] Get:43 http://deb.debian.org/debian unstable/main loong64 libaec-dev loong64 1.1.7-1 [50.4 kB] Get:44 http://deb.debian.org/debian unstable/main loong64 libaec0 loong64 1.1.7-1 [22.5 kB] Get:45 http://deb.debian.org/debian unstable/main loong64 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Get:46 http://deb.debian.org/debian unstable/main loong64 libaliased-perl all 0.34-3 [13.5 kB] Get:47 http://deb.debian.org/debian unstable/main loong64 libapp-cmd-perl all 0.340-1 [63.8 kB] Get:48 http://deb.debian.org/debian unstable/main loong64 libarchive-zip-perl all 1.68-1 [104 kB] Get:49 http://deb.debian.org/debian unstable/main loong64 libarray-intspan-perl all 2.004-2 [25.7 kB] Get:50 http://deb.debian.org/debian unstable/main loong64 libassuan9 loong64 3.0.2-2+b2 [59.9 kB] Get:51 http://deb.debian.org/debian unstable/main loong64 libavif16 loong64 1.4.2-1 [144 kB] Get:52 http://deb.debian.org/debian unstable/main loong64 libb-hooks-endofscope-perl all 0.28-2 [17.6 kB] Get:53 http://deb.debian.org/debian unstable/main loong64 libb-keywords-perl all 1.29-1 [12.5 kB] Get:54 http://deb.debian.org/debian unstable/main loong64 dh-strip-nondeterminism all 1.15.1-1 [6020 B] Get:55 http://deb.debian.org/debian unstable/main loong64 libamd3 loong64 1:7.12.2+dfsg-1 [48.7 kB] Get:56 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libabsl20260107 loong64 20260107.0-5 [529 kB] Get:57 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libaom3 loong64 3.13.1-2+b1 [1282 kB] Get:58 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 appstream loong64 1.1.3-1 [601 kB] Get:59 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libappstream5 loong64 1.1.3-1 [222 kB] Get:60 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libapt-pkg7.0 loong64 3.3.1 [1144 kB] Get:61 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libaudit1 loong64 1:4.1.2-1+b1 [61.2 kB] Get:62 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 bash loong64 5.3-3 [1558 kB] Get:63 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 binutils loong64 2.46.50.20260617-1 [70.1 kB] Get:64 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 binutils-common loong64 2.46.50.20260617-1 [2636 kB] Get:65 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 binutils-loongarch64-linux-gnu loong64 2.46.50.20260617-1 [836 kB] Get:66 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 ca-certificates all 20260601 [134 kB] Get:67 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 debianutils loong64 5.23.2+b1 [92.8 kB] Get:68 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 dh-octave all 1.16.0 [24.4 kB] Get:69 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 dh-octave-autopkgtest all 1.16.0 [10.4 kB] Get:70 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 dwz loong64 0.16-4 [108 kB] Get:71 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 comerr-dev loong64 2.1-1.47.4-1 [54.5 kB] Get:72 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 findutils loong64 4.10.0-4 [704 kB] Get:73 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 cpp-15 loong64 15.3.0-1 [1288 B] Get:74 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 cpp-15-loongarch64-linux-gnu loong64 15.3.0-1 [10.2 MB] Get:75 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 g++-15 loong64 15.3.0-1 [28.7 kB] Get:76 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 g++-15-loongarch64-linux-gnu loong64 15.3.0-1 [11.3 MB] Get:77 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 gcc-15 loong64 15.3.0-1 [535 kB] Get:78 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 gcc-15-base loong64 15.3.0-1 [37.4 kB] Get:79 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 gcc-15-loongarch64-linux-gnu loong64 15.3.0-1 [19.3 MB] Get:80 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 gfortran-15 loong64 15.3.0-1 [22.2 kB] Get:81 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 gfortran-15-loongarch64-linux-gnu loong64 15.3.0-1 [10.7 MB] Get:82 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 gcc-16-base loong64 16.1.0-2 [36.8 kB] Get:83 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libasan8 loong64 16.1.0-2 [2842 kB] Get:84 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libatomic1 loong64 16.1.0-2 [9308 B] Get:85 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 cpp loong64 4:15.2.0-5+b1 [1580 B] Get:86 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 cpp-loongarch64-linux-gnu loong64 4:15.2.0-5+b1 [4652 B] Get:87 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 g++ loong64 4:15.2.0-5+b1 [1340 B] Get:88 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 g++-loongarch64-linux-gnu loong64 4:15.2.0-5+b1 [1208 B] Get:89 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 gcc loong64 4:15.2.0-5+b1 [5160 B] Get:90 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 gcc-loongarch64-linux-gnu loong64 4:15.2.0-5+b1 [1452 B] Get:91 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 gfortran loong64 4:15.2.0-5+b1 [1444 B] Get:92 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 gfortran-loongarch64-linux-gnu loong64 4:15.2.0-5+b1 [1296 B] Get:93 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 gzip loong64 1.13-1+b1 [137 kB] Get:94 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 hdf5-helpers loong64 1.14.6+repack-2+b1 [20.6 kB] Get:95 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 init-system-helpers all 1.69 [39.3 kB] Get:96 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libapt-pkg-perl loong64 0.1.43+b1 [66.3 kB] Get:97 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libb-hooks-op-check-perl loong64 0.22-3+b4 [10.7 kB] Get:98 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 bsdextrautils loong64 2.42.2-1 [103 kB] Get:99 http://snapshot.debian.org/archive/debian/20260725T082357Z unstable/main loong64 gpg loong64 2.4.9-7 [621 kB] Get:100 http://snapshot.debian.org/archive/debian/20260725T082357Z unstable/main loong64 gpgconf loong64 2.4.9-7 [124 kB] Fetched 91.4 MB in 1s (95.3 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gfortran-15-loongarch64-linux-gnu_15.3.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libarray-intspan-perl_2.004-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libarchive-zip-perl_1.68-1_all.deb' dpkg-name: info: moved 'libaudit-common_1%3a4.1.2-1_all.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/libaudit-common_4.1.2-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libaom3_3.13.1-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libapt-pkg7.0_3.3.1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/dash_0.5.12-12+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libalgorithm-c3-perl_0.11-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gettext_1.0-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libavahi-common-data_0.8-18_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libappstream5_1.1.3-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gnuplot-nox_6.0.3+dfsg1-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libassuan9_3.0.2-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libb-keywords-perl_1.29-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/binutils-common_2.46.50.20260617-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/debianutils_5.23.2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/cpp-15_15.3.0-1_loong64.deb' dpkg-name: info: moved 'cpp_4%3a15.2.0-5+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/cpp_15.2.0-5+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libaliased-perl_0.34-3_all.deb' dpkg-name: info: moved 'libattr1_1%3a2.6.0-1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/libattr1_2.6.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/init-system-helpers_1.69_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gcc-16-base_16.1.0-2_loong64.deb' dpkg-name: info: moved 'libamd3_1%3a7.12.2+dfsg-1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/libamd3_7.12.2+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gcc-15-loongarch64-linux-gnu_15.3.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/iso-codes_4.20.1-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/dh-octave-autopkgtest_1.16.0_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/fonts-freefont-otf_20211204+svn4273-4_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/fontconfig_2.17.1-5_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/dh-octave_1.16.0_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/cme_1.049-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/base-passwd_3.6.8+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/dwz_0.16-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/autopoint_1.0-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libabsl20260107_20260107.0-5_loong64.deb' dpkg-name: info: moved 'libaudit1_1%3a4.1.2-1+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/libaudit1_4.1.2-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/bzip2_1.0.8-6+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/dpkg_1.23.7_loong64.deb' dpkg-name: info: moved 'g++-loongarch64-linux-gnu_4%3a15.2.0-5+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/g++-loongarch64-linux-gnu_15.2.0-5+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/bash_5.3-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/bsdextrautils_2.42.2-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/findutils_4.10.0-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gettext-base_1.0-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/dpkg-dev_1.23.7_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gpg_2.4.9-7_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/debconf_1.5.92_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gpgconf_2.4.9-7_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libatomic1_16.1.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gcc-15-base_15.3.0-1_loong64.deb' dpkg-name: info: moved 'gcc-loongarch64-linux-gnu_4%3a15.2.0-5+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/gcc-loongarch64-linux-gnu_15.2.0-5+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/base-files_14.2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libb-hooks-endofscope-perl_0.28-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/cpp-15-loongarch64-linux-gnu_15.3.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/appstream_1.1.3-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libacl1_2.4.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libasound2-data_1.2.16.1-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libavahi-client3_0.8-18_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/g++-15-loongarch64-linux-gnu_15.3.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/diffstat_1.69-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/dh-autoreconf_22_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/intltool-debian_0.35.0+20060710.6_all.deb' dpkg-name: info: moved 'cpp-loongarch64-linux-gnu_4%3a15.2.0-5+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/cpp-loongarch64-linux-gnu_15.2.0-5+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/hostname_3.25+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/autotools-dev_20240727.1+nmu1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libaec-dev_1.1.7-1_loong64.deb' dpkg-name: info: moved 'gfortran_4%3a15.2.0-5+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/gfortran_15.2.0-5+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libavahi-common3_0.8-18_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libapt-pkg-perl_0.1.43+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libapp-cmd-perl_0.340-1_all.deb' dpkg-name: info: moved 'diffutils_1%3a3.12-1+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/diffutils_3.12-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/binutils_2.46.50.20260617-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gnuplot-data_6.0.3+dfsg1-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gzip_1.13-1+b1_loong64.deb' dpkg-name: info: moved 'gcc_4%3a15.2.0-5+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/gcc_15.2.0-5+b1_loong64.deb' dpkg-name: info: moved 'g++_4%3a15.2.0-5+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/g++_15.2.0-5+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/g++-15_15.3.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/hdf5-helpers_1.14.6+repack-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libavif16_1.4.2-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libarpack2t64_3.9.1-6+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/autoconf_2.73-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/build-essential_12.12+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/coreutils_9.10-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/comerr-dev_2.1-1.47.4-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/fontconfig-config_2.17.1-5_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libb-hooks-op-check-perl_0.22-3+b4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/krb5-multidev_1.22.1-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libaec0_1.1.7-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/dh-strip-nondeterminism_1.15.1-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/groff-base_1.24.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libasan8_16.1.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gfortran-15_15.3.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/gcc-15_15.3.0-1_loong64.deb' dpkg-name: info: moved 'automake_1%3a1.18.1-4_all.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/automake_1.18.1-4_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/aglfn_1.7+git20191031.4036a9c-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/ca-certificates_20260601_all.deb' dpkg-name: info: moved 'gfortran-loongarch64-linux-gnu_4%3a15.2.0-5+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/gfortran-loongarch64-linux-gnu_15.2.0-5+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/debhelper_14.3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/binutils-loongarch64-linux-gnu_2.46.50.20260617-1_loong64.deb' dpkg-name: info: moved 'file_1%3a5.47-4_loong64.deb' to '/srv/rebuilderd/tmp/tmp1sgxe_un/file_5.47-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/grep_3.12-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp1sgxe_un/libasound2t64_1.2.16.1-1_loong64.deb' Get:1 http://deb.debian.org/debian unstable/main loong64 libbz2-1.0 loong64 1.0.8-6+b2 [39.8 kB] Get:2 http://deb.debian.org/debian unstable/main loong64 libcairo2 loong64 1.18.4-3+b1 [530 kB] Get:3 http://deb.debian.org/debian unstable/main loong64 libdebconfclient0 loong64 0.283 [7648 B] Get:4 http://deb.debian.org/debian unstable/main loong64 libcups2t64 loong64 2.4.18-1 [250 kB] Get:5 http://deb.debian.org/debian unstable/main loong64 libdb5.3t64 loong64 5.3.28+dfsg2-11+b1 [711 kB] Get:6 http://deb.debian.org/debian unstable/main loong64 libdbus-1-3 loong64 1.16.2-5+b1 [174 kB] Get:7 http://deb.debian.org/debian unstable/main loong64 libdebhelper-perl all 14.3 [77.3 kB] Get:8 http://deb.debian.org/debian unstable/main loong64 libdouble-conversion3 loong64 3.4.0-1+b1 [41.3 kB] Get:9 http://deb.debian.org/debian unstable/main loong64 libdpkg-perl all 1.23.7 [669 kB] Get:10 http://deb.debian.org/debian unstable/main loong64 libduktape207 loong64 2.7.0-2+b3 [132 kB] Get:11 http://deb.debian.org/debian unstable/main loong64 libblas-dev loong64 3.12.1-8 [245 kB] Get:12 http://deb.debian.org/debian unstable/main loong64 libblas3 loong64 3.12.1-8 [114 kB] Get:13 http://deb.debian.org/debian unstable/main loong64 libb2-1 loong64 0.98.1-1.1+b3 [16.4 kB] Get:14 http://deb.debian.org/debian unstable/main loong64 libboolean-perl all 0.46-3 [9924 B] Get:15 http://deb.debian.org/debian unstable/main loong64 libbsd0 loong64 0.12.2-3 [131 kB] Get:16 http://deb.debian.org/debian unstable/main loong64 libcapture-tiny-perl all 0.50-1 [24.6 kB] Get:17 http://deb.debian.org/debian unstable/main loong64 libcarp-assert-more-perl all 2.9.0-1 [21.9 kB] Get:18 http://deb.debian.org/debian unstable/main loong64 libcgi-pm-perl all 4.72-1 [217 kB] Get:19 http://deb.debian.org/debian unstable/main loong64 libclass-c3-perl all 0.35-2 [21.0 kB] Get:20 http://deb.debian.org/debian unstable/main loong64 libclass-data-inheritable-perl all 0.10-1 [8632 B] Get:21 http://deb.debian.org/debian unstable/main loong64 libclass-inspector-perl all 1.36-3 [17.5 kB] Get:22 http://deb.debian.org/debian unstable/main loong64 libclass-load-perl all 0.25-2 [15.3 kB] Get:23 http://deb.debian.org/debian unstable/main loong64 libclass-method-modifiers-perl all 2.15-1 [18.0 kB] Get:24 http://deb.debian.org/debian unstable/main loong64 libclass-singleton-perl all 1.6-2 [12.5 kB] Get:25 http://deb.debian.org/debian unstable/main loong64 libclass-tiny-perl all 1.008-2 [18.6 kB] Get:26 http://deb.debian.org/debian unstable/main loong64 libclone-choose-perl all 0.010-2 [8676 B] Get:27 http://deb.debian.org/debian unstable/main loong64 libclone-pp-perl all 1.08-2 [9224 B] Get:28 http://deb.debian.org/debian unstable/main loong64 libconfig-model-backend-yaml-perl all 2.134-2 [10.8 kB] Get:29 http://deb.debian.org/debian unstable/main loong64 libconfig-tiny-perl all 2.30-1 [18.9 kB] Get:30 http://deb.debian.org/debian unstable/main loong64 libconst-fast-perl all 0.014-2 [8792 B] Get:31 http://deb.debian.org/debian unstable/main loong64 libconvert-binhex-perl all 1.125-3 [27.4 kB] Get:32 http://deb.debian.org/debian unstable/main loong64 libdata-dpath-perl all 0.60-1 [41.8 kB] Get:33 http://deb.debian.org/debian unstable/main loong64 libdata-optlist-perl all 0.114-1 [10.6 kB] Get:34 http://deb.debian.org/debian unstable/main loong64 libdata-section-perl all 0.200008-1 [13.1 kB] Get:35 http://deb.debian.org/debian unstable/main loong64 libdata-validate-domain-perl all 0.15-1 [11.9 kB] Get:36 http://deb.debian.org/debian unstable/main loong64 libdata-validate-ip-perl all 0.31-1 [20.6 kB] Get:37 http://deb.debian.org/debian unstable/main loong64 libdata-validate-uri-perl all 0.07-3 [11.0 kB] Get:38 http://deb.debian.org/debian unstable/main loong64 libdatetime-format-builder-perl all 0.8300-1 [63.8 kB] Get:39 http://deb.debian.org/debian unstable/main loong64 libdatetime-format-iso8601-perl all 0.19-1 [21.8 kB] Get:40 http://deb.debian.org/debian unstable/main loong64 libdatetime-format-rfc3339-perl all 1.10.0-1 [8660 B] Get:41 http://deb.debian.org/debian unstable/main loong64 libdatetime-format-strptime-perl all 1.8000-1 [33.8 kB] Get:42 http://deb.debian.org/debian unstable/main loong64 libdatetime-timezone-perl all 1:2.69-1+2026c [260 kB] Get:43 http://deb.debian.org/debian unstable/main loong64 libdatrie1 loong64 0.2.14-2 [39.7 kB] Get:44 http://deb.debian.org/debian unstable/main loong64 libdecor-0-0 loong64 0.2.5-1+b1 [15.7 kB] Get:45 http://deb.debian.org/debian unstable/main loong64 libdeflate0 loong64 1.25-1 [36.1 kB] Get:46 http://deb.debian.org/debian unstable/main loong64 libdevel-stacktrace-perl all 2.0500-1 [26.4 kB] Get:47 http://deb.debian.org/debian unstable/main loong64 libdrm-amdgpu1 loong64 2.4.134-3 [23.0 kB] Get:48 http://deb.debian.org/debian unstable/main loong64 libdrm-common all 2.4.134-3 [7860 B] Get:49 http://deb.debian.org/debian unstable/main loong64 libdrm2 loong64 2.4.134-3 [39.0 kB] Get:50 http://deb.debian.org/debian unstable/main loong64 libdynaloader-functions-perl all 0.004-2 [12.2 kB] Get:51 http://deb.debian.org/debian unstable/main loong64 libedit2 loong64 3.1-20260512-1 [93.4 kB] Get:52 http://deb.debian.org/debian unstable/main loong64 libencode-locale-perl all 1.05-3 [12.9 kB] Get:53 http://deb.debian.org/debian unstable/main loong64 liberror-perl all 0.17030-1 [26.9 kB] Get:54 http://deb.debian.org/debian unstable/main loong64 libeval-closure-perl all 0.14-3 [11.2 kB] Get:55 http://deb.debian.org/debian unstable/main loong64 libevent-2.1-7t64 loong64 2.1.13-stable-1 [181 kB] Get:56 http://deb.debian.org/debian unstable/main loong64 libexception-class-perl all 1.45-1 [34.6 kB] Get:57 http://deb.debian.org/debian unstable/main loong64 libegl1 loong64 1.7.0-3+b1 [35.4 kB] Get:58 http://deb.debian.org/debian unstable/main loong64 libcamd3 loong64 1:7.12.2+dfsg-1 [45.6 kB] Get:59 http://deb.debian.org/debian unstable/main loong64 libccolamd3 loong64 1:7.12.2+dfsg-1 [47.7 kB] Get:60 http://deb.debian.org/debian unstable/main loong64 libcholmod5 loong64 1:7.12.2+dfsg-1 [630 kB] Get:61 http://deb.debian.org/debian unstable/main loong64 libcolamd3 loong64 1:7.12.2+dfsg-1 [42.0 kB] Get:62 http://deb.debian.org/debian unstable/main loong64 libcxsparse4 loong64 1:7.12.2+dfsg-1 [89.1 kB] Get:63 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libbinutils loong64 2.46.50.20260617-1 [493 kB] Get:64 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libctf-nobfd0 loong64 2.46.50.20260617-1 [166 kB] Get:65 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libctf0 loong64 2.46.50.20260617-1 [98.3 kB] Get:66 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libbrotli-dev loong64 1.2.0-3 [815 kB] Get:67 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libbrotli1 loong64 1.2.0-3 [312 kB] Get:68 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libcurl3t64-gnutls loong64 8.21.0-2 [17.0 kB] Get:69 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libcurl4-gnutls loong64 8.21.0-2 [416 kB] Get:70 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libcurl4-openssl-dev loong64 8.21.0-2 [1316 kB] Get:71 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libcurl4t64 loong64 8.21.0-2 [420 kB] Get:72 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libdav1d7 loong64 1.5.3-1+b2 [269 kB] Get:73 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libcom-err2 loong64 1.47.4-1 [19.1 kB] Get:74 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libelf1t64 loong64 0.195-1 [61.8 kB] Get:75 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libexpat1 loong64 2.8.2-1 [117 kB] Get:76 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libcc1-0 loong64 16.1.0-2 [41.9 kB] Get:77 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libc-bin loong64 2.42-17 [571 kB] Get:78 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libc-dev-bin loong64 2.42-17 [37.2 kB] Get:79 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libc-gconv-modules-extra loong64 2.42-17 [1159 kB] Get:80 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libc6 loong64 2.42-17 [1292 kB] Get:81 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libc6-dev loong64 2.42-17 [3245 kB] Get:82 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libberkeleydb-perl loong64 0.66-2+b1 [123 kB] Get:83 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libcap-ng0 loong64 0.9.3-1+b1 [18.4 kB] Get:84 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libclass-xsaccessor-perl loong64 1.19-4+b1 [36.5 kB] Get:85 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libclone-perl loong64 0.50-1 [21.5 kB] Get:86 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libconfig-inifiles-perl all 3.000003-5 [44.9 kB] Get:87 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libconfig-model-dpkg-perl all 3.024 [191 kB] Get:88 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libconfig-model-perl all 2.165-1 [410 kB] Get:89 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libcpanel-json-xs-perl loong64 4.42-1 [134 kB] Get:90 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libdata-messagepack-perl loong64 1.02-3+b1 [32.9 kB] Get:91 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libdatetime-locale-perl all 1:1.45-1 [3207 kB] Get:92 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libdatetime-perl loong64 2:1.65-1+b1 [116 kB] Get:93 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libde265-0 loong64 1.1.1-1 [165 kB] Get:94 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libdevel-callchecker-perl loong64 0.009-3 [15.4 kB] Get:95 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libdevel-size-perl loong64 0.87-1 [24.1 kB] Get:96 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libemail-address-xs-perl loong64 1.05-1+b1 [29.6 kB] Get:97 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libevdev2 loong64 1.13.6+dfsg-3 [31.1 kB] Get:98 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libcrypt1 loong64 1:4.5.1-1+b1 [97.5 kB] Get:99 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libegl-mesa0 loong64 26.1.4-1 [122 kB] Get:100 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libblkid1 loong64 2.42.2-1 [179 kB] Fetched 21.4 MB in 0s (69.9 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libconfig-model-dpkg-perl_3.024_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdata-validate-ip-perl_0.31-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdeflate0_1.25-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdrm-common_2.4.134-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcups2t64_2.4.18-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdata-messagepack-perl_1.02-3+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libedit2_3.1-20260512-1_loong64.deb' dpkg-name: info: moved 'libcrypt1_1%3a4.5.1-1+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcrypt1_4.5.1-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libclass-xsaccessor-perl_1.19-4+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdatetime-format-iso8601-perl_0.19-1_all.deb' dpkg-name: info: moved 'libccolamd3_1%3a7.12.2+dfsg-1_loong64.deb' to '/srv/rebuilderd/tmp/tmp_wpfi0r1/libccolamd3_7.12.2+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libctf-nobfd0_2.46.50.20260617-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdebhelper-perl_14.3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdata-section-perl_0.200008-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libconvert-binhex-perl_1.125-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libegl-mesa0_26.1.4-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libemail-address-xs-perl_1.05-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libclass-tiny-perl_1.008-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libclass-data-inheritable-perl_0.10-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libconfig-model-perl_2.165-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libclone-pp-perl_1.08-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libclass-singleton-perl_1.6-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libexpat1_2.8.2-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdevel-stacktrace-perl_2.0500-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libclass-inspector-perl_1.36-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libclone-perl_0.50-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdb5.3t64_5.3.28+dfsg2-11+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libclass-load-perl_0.25-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcurl3t64-gnutls_8.21.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdebconfclient0_0.283_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdatetime-format-rfc3339-perl_1.10.0-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libberkeleydb-perl_0.66-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcc1-0_16.1.0-2_loong64.deb' dpkg-name: info: moved 'libcxsparse4_1%3a7.12.2+dfsg-1_loong64.deb' to '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcxsparse4_7.12.2+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libelf1t64_0.195-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libclass-c3-perl_0.35-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libb2-1_0.98.1-1.1+b3_loong64.deb' dpkg-name: info: moved 'libcolamd3_1%3a7.12.2+dfsg-1_loong64.deb' to '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcolamd3_7.12.2+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdatetime-format-builder-perl_0.8300-1_all.deb' dpkg-name: info: moved 'libdatetime-perl_2%3a1.65-1+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdatetime-perl_1.65-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libevent-2.1-7t64_2.1.13-stable-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libctf0_2.46.50.20260617-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libc6_2.42-17_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libc6-dev_2.42-17_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdecor-0-0_0.2.5-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdata-optlist-perl_0.114-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcom-err2_1.47.4-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcurl4-openssl-dev_8.21.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libbrotli1_1.2.0-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libc-dev-bin_2.42-17_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdata-dpath-perl_0.60-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdatrie1_0.2.14-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libconfig-inifiles-perl_3.000003-5_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libboolean-perl_0.46-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libevdev2_1.13.6+dfsg-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcap-ng0_0.9.3-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdata-validate-domain-perl_0.15-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcgi-pm-perl_4.72-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcarp-assert-more-perl_2.9.0-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libencode-locale-perl_1.05-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libclone-choose-perl_0.010-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdynaloader-functions-perl_0.004-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libconfig-model-backend-yaml-perl_2.134-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libduktape207_2.7.0-2+b3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libclass-method-modifiers-perl_2.15-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libeval-closure-perl_0.14-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdrm-amdgpu1_2.4.134-3_loong64.deb' dpkg-name: info: moved 'libdatetime-locale-perl_1%3a1.45-1_all.deb' to '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdatetime-locale-perl_1.45-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcurl4t64_8.21.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcurl4-gnutls_8.21.0-2_loong64.deb' dpkg-name: info: moved 'libcholmod5_1%3a7.12.2+dfsg-1_loong64.deb' to '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcholmod5_7.12.2+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdav1d7_1.5.3-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdevel-callchecker-perl_0.009-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libbinutils_2.46.50.20260617-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libbsd0_0.12.2-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libconst-fast-perl_0.014-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libde265-0_1.1.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libc-bin_2.42-17_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libblas-dev_3.12.1-8_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libegl1_1.7.0-3+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libbz2-1.0_1.0.8-6+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcpanel-json-xs-perl_4.42-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcairo2_1.18.4-3+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdata-validate-uri-perl_0.07-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdatetime-format-strptime-perl_1.8000-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libc-gconv-modules-extra_2.42-17_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdbus-1-3_1.16.2-5+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libconfig-tiny-perl_2.30-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libblas3_3.12.1-8_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libexception-class-perl_1.45-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libblkid1_2.42.2-1_loong64.deb' dpkg-name: info: moved 'libdatetime-timezone-perl_1%3a2.69-1+2026c_all.deb' to '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdatetime-timezone-perl_2.69-1+2026c_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libbrotli-dev_1.2.0-3_loong64.deb' dpkg-name: info: moved 'libcamd3_1%3a7.12.2+dfsg-1_loong64.deb' to '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcamd3_7.12.2+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdevel-size-perl_0.87-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdrm2_2.4.134-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdouble-conversion3_3.4.0-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libdpkg-perl_1.23.7_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/libcapture-tiny-perl_0.50-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp_wpfi0r1/liberror-perl_0.17030-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main loong64 libfftw3-bin loong64 3.3.11-1 [42.8 kB] Get:2 http://deb.debian.org/debian unstable/main loong64 libfftw3-dev loong64 3.3.11-1 [4403 kB] Get:3 http://deb.debian.org/debian unstable/main loong64 libfftw3-double3 loong64 3.3.11-1 [364 kB] Get:4 http://deb.debian.org/debian unstable/main loong64 libfftw3-long3 loong64 3.3.11-1 [619 kB] Get:5 http://deb.debian.org/debian unstable/main loong64 libfftw3-single3 loong64 3.3.11-1 [362 kB] Get:6 http://deb.debian.org/debian unstable/main loong64 libflac14 loong64 1.5.0+ds-5+b1 [163 kB] Get:7 http://deb.debian.org/debian unstable/main loong64 libfltk-gl1.4 loong64 1.4.4-4 [83.1 kB] Get:8 http://deb.debian.org/debian unstable/main loong64 libfltk1.4 loong64 1.4.4-4 [575 kB] Get:9 http://deb.debian.org/debian unstable/main loong64 libfontconfig1 loong64 2.17.1-5 [137 kB] Get:10 http://deb.debian.org/debian unstable/main loong64 libfribidi0 loong64 1.0.16-5+b1 [26.6 kB] Get:11 http://deb.debian.org/debian unstable/main loong64 libgdbm-compat4t64 loong64 1.26-1+b2 [52.1 kB] Get:12 http://deb.debian.org/debian unstable/main loong64 libgdbm6t64 loong64 1.26-1+b2 [78.7 kB] Get:13 http://deb.debian.org/debian unstable/main loong64 libgl2ps1.4 loong64 1.4.2+dfsg1-4+b1 [42.5 kB] Get:14 http://deb.debian.org/debian unstable/main loong64 libglpk40 loong64 5.0-3 [362 kB] Get:15 http://deb.debian.org/debian unstable/main loong64 libgmp-dev loong64 2:6.3.0+dfsg-5+b2 [1083 kB] Get:16 http://deb.debian.org/debian unstable/main loong64 libgmp10 loong64 2:6.3.0+dfsg-5+b2 [567 kB] Get:17 http://deb.debian.org/debian unstable/main loong64 libgmpxx4ldbl loong64 2:6.3.0+dfsg-5+b2 [328 kB] Get:18 http://deb.debian.org/debian unstable/main loong64 libgnutls-dane0t64 loong64 3.8.13-1 [495 kB] Get:19 http://deb.debian.org/debian unstable/main loong64 libgnutls28-dev loong64 3.8.13-1 [2870 kB] Get:20 http://deb.debian.org/debian unstable/main loong64 libgnutls30t64 loong64 3.8.13-1 [1488 kB] Get:21 http://deb.debian.org/debian unstable/main loong64 libgraphite2-3 loong64 1.3.15-2 [73.9 kB] Get:22 http://deb.debian.org/debian unstable/main loong64 libharfbuzz0b loong64 12.3.2-2+b2 [505 kB] Get:23 http://deb.debian.org/debian unstable/main loong64 libhdf5-310 loong64 1.14.6+repack-2+b1 [1195 kB] Get:24 http://deb.debian.org/debian unstable/main loong64 libhdf5-cpp-310 loong64 1.14.6+repack-2+b1 [122 kB] Get:25 http://deb.debian.org/debian unstable/main loong64 libhdf5-fortran-310 loong64 1.14.6+repack-2+b1 [105 kB] Get:26 http://deb.debian.org/debian unstable/main loong64 libhdf5-hl-310 loong64 1.14.6+repack-2+b1 [64.8 kB] Get:27 http://deb.debian.org/debian unstable/main loong64 libhdf5-hl-cpp-310 loong64 1.14.6+repack-2+b1 [18.4 kB] Get:28 http://deb.debian.org/debian unstable/main loong64 libhdf5-hl-fortran-310 loong64 1.14.6+repack-2+b1 [36.8 kB] Get:29 http://deb.debian.org/debian unstable/main loong64 libicu78 loong64 78.3-2 [9977 kB] Get:30 http://deb.debian.org/debian unstable/main loong64 libgssapi-krb5-2 loong64 1.22.1-3 [137 kB] Get:31 http://deb.debian.org/debian unstable/main loong64 libgssrpc4t64 loong64 1.22.1-3 [57.9 kB] Get:32 http://deb.debian.org/debian unstable/main loong64 libexporter-lite-perl all 0.09-2 [10.7 kB] Get:33 http://deb.debian.org/debian unstable/main loong64 libexporter-tiny-perl all 1.006003-1 [37.5 kB] Get:34 http://deb.debian.org/debian unstable/main loong64 libfeature-compat-class-perl all 0.08-1 [12.4 kB] Get:35 http://deb.debian.org/debian unstable/main loong64 libfeature-compat-try-perl all 0.05-1 [10.4 kB] Get:36 http://deb.debian.org/debian unstable/main loong64 libfile-basedir-perl all 0.09-2 [15.1 kB] Get:37 http://deb.debian.org/debian unstable/main loong64 libfile-find-rule-perl all 0.35-1 [25.9 kB] Get:38 http://deb.debian.org/debian unstable/main loong64 libfile-homedir-perl all 1.006-2 [42.4 kB] Get:39 http://deb.debian.org/debian unstable/main loong64 libfile-listing-perl all 6.16-1 [12.4 kB] Get:40 http://deb.debian.org/debian unstable/main loong64 libfile-sharedir-perl all 1.118-3 [16.0 kB] Get:41 http://deb.debian.org/debian unstable/main loong64 libfile-which-perl all 1.27-2 [15.1 kB] Get:42 http://deb.debian.org/debian unstable/main loong64 libfont-ttf-perl all 1.06-2 [318 kB] Get:43 http://deb.debian.org/debian unstable/main loong64 libfyaml0 loong64 0.9.4-1 [282 kB] Get:44 http://deb.debian.org/debian unstable/main loong64 libgetopt-long-descriptive-perl all 0.117-1 [29.8 kB] Get:45 http://deb.debian.org/debian unstable/main loong64 libglu1-mesa loong64 9.0.2-1.1+b4 [175 kB] Get:46 http://deb.debian.org/debian unstable/main loong64 libgl-dev loong64 1.7.0-3+b1 [99.9 kB] Get:47 http://deb.debian.org/debian unstable/main loong64 libgl1 loong64 1.7.0-3+b1 [106 kB] Get:48 http://deb.debian.org/debian unstable/main loong64 libglvnd0 loong64 1.7.0-3+b1 [54.9 kB] Get:49 http://deb.debian.org/debian unstable/main loong64 libglx-dev loong64 1.7.0-3+b1 [15.0 kB] Get:50 http://deb.debian.org/debian unstable/main loong64 libglx0 loong64 1.7.0-3+b1 [29.8 kB] Get:51 http://deb.debian.org/debian unstable/main loong64 libgudev-1.0-0 loong64 238-7+b2 [14.4 kB] Get:52 http://deb.debian.org/debian unstable/main loong64 libhash-merge-perl all 0.302-1 [14.7 kB] Get:53 http://deb.debian.org/debian unstable/main loong64 libhtml-form-perl all 6.13-1 [32.6 kB] Get:54 http://deb.debian.org/debian unstable/main loong64 libhtml-html5-entities-perl all 0.004-3 [21.0 kB] Get:55 http://deb.debian.org/debian unstable/main loong64 libhtml-tagset-perl all 3.24-1 [14.7 kB] Get:56 http://deb.debian.org/debian unstable/main loong64 libhtml-tokeparser-simple-perl all 3.16-4 [39.1 kB] Get:57 http://deb.debian.org/debian unstable/main loong64 libhtml-tree-perl all 5.07-3 [211 kB] Get:58 http://deb.debian.org/debian unstable/main loong64 libhttp-date-perl all 6.08-1 [12.1 kB] Get:59 http://deb.debian.org/debian unstable/main loong64 libhttp-negotiate-perl all 6.01-2 [13.1 kB] Get:60 http://deb.debian.org/debian unstable/main loong64 libice6 loong64 2:1.1.1-1+b2 [65.2 kB] Get:61 http://deb.debian.org/debian unstable/main loong64 libidn2-0 loong64 2.3.8-5 [109 kB] Get:62 http://deb.debian.org/debian unstable/main loong64 libidn2-dev loong64 2.3.8-5 [138 kB] Get:63 http://deb.debian.org/debian unstable/main loong64 libimagequant0 loong64 4.4.1-1+b2 [225 kB] Get:64 http://deb.debian.org/debian unstable/main loong64 libimport-into-perl all 1.002005-2 [11.3 kB] Get:65 http://deb.debian.org/debian unstable/main loong64 libinput-bin loong64 1.31.3-1 [28.5 kB] Get:66 http://deb.debian.org/debian unstable/main loong64 libinput10 loong64 1.31.3-1 [155 kB] Get:67 http://deb.debian.org/debian unstable/main loong64 libintl-perl all 1.37-1 [696 kB] Get:68 http://deb.debian.org/debian unstable/main loong64 libio-html-perl all 1.004-3 [16.2 kB] Get:69 http://deb.debian.org/debian unstable/main loong64 libio-interactive-perl all 1.027-1 [11.8 kB] Get:70 http://deb.debian.org/debian unstable/main loong64 libio-socket-ssl-perl all 2.099-1 [229 kB] Get:71 http://deb.debian.org/debian unstable/main loong64 libio-string-perl all 1.08-4 [12.1 kB] Get:72 http://deb.debian.org/debian unstable/main loong64 libio-stringy-perl all 2.113-2 [48.3 kB] Get:73 http://deb.debian.org/debian unstable/main loong64 libhogweed6t64 loong64 3.10.2-1+b1 [336 kB] Get:74 http://deb.debian.org/debian unstable/main loong64 libfile-stripnondeterminism-perl all 1.15.1-1 [17.1 kB] Get:75 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libfreetype6 loong64 2.14.3+dfsg-1 [493 kB] Get:76 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgcc-15-dev loong64 15.3.0-1 [5363 kB] Get:77 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgfortran-15-dev loong64 15.3.0-1 [1143 kB] Get:78 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgcc-s1 loong64 16.1.0-2 [107 kB] Get:79 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgfortran5 loong64 16.1.0-2 [423 kB] Get:80 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgomp1 loong64 16.1.0-2 [138 kB] Get:81 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libglib2.0-0t64 loong64 2.88.2-1 [1517 kB] Get:82 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgraphicsmagick++-q16-12t64 loong64 1.4+really1.3.46-2+b1 [119 kB] Get:83 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgraphicsmagick-q16-3t64 loong64 1.4+really1.3.46-2+b1 [1189 kB] Get:84 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libhdf5-dev loong64 1.14.6+repack-2+b1 [6605 kB] Get:85 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libffi8 loong64 3.5.2-4 [22.4 kB] Get:86 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libfile-libmagic-perl loong64 1.23-2+b1 [31.5 kB] Get:87 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgav1-2 loong64 0.20.0-2+b1 [342 kB] Get:88 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgcrypt20 loong64 1.12.2-1 [796 kB] Get:89 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgd3 loong64 2.3.3-13+b2 [125 kB] Get:90 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgpg-error0 loong64 1.61-3 [90.6 kB] Get:91 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libheif-plugin-dav1d loong64 1.23.1-1 [19.2 kB] Get:92 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libheif-plugin-libde265 loong64 1.23.1-1 [16.8 kB] Get:93 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libheif1 loong64 1.23.1-1 [698 kB] Get:94 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libhtml-parser-perl loong64 3.83-2 [98.0 kB] Get:95 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libhttp-cookies-perl all 6.11-1 [19.1 kB] Get:96 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libhttp-message-perl all 7.02-1 [79.5 kB] Get:97 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libindirect-perl loong64 0.39-2+b1 [27.5 kB] Get:98 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgbm1 loong64 26.1.4-1 [45.1 kB] Get:99 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libgl1-mesa-dri loong64 26.1.4-1 [43.8 kB] Get:100 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libglx-mesa0 loong64 26.1.4-1 [112 kB] Fetched 49.9 MB in 1s (88.2 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfftw3-dev_3.3.11-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgraphicsmagick-q16-3t64_1.4+really1.3.46-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgudev-1.0-0_238-7+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libio-stringy-perl_2.113-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libglx-dev_1.7.0-3+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhttp-date-perl_6.08-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libglx-mesa0_26.1.4-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfribidi0_1.0.16-5+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libicu78_78.3-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libexporter-tiny-perl_1.006003-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgl-dev_1.7.0-3+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgssapi-krb5-2_1.22.1-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgraphite2-3_1.3.15-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libimagequant0_4.4.1-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfile-find-rule-perl_0.35-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfile-basedir-perl_0.09-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgd3_2.3.3-13+b2_loong64.deb' dpkg-name: info: moved 'libgmp-dev_2%3a6.3.0+dfsg-5+b2_loong64.deb' to '/srv/rebuilderd/tmp/tmpxvg99nzn/libgmp-dev_6.3.0+dfsg-5+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libinput10_1.31.3-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhogweed6t64_3.10.2-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfile-homedir-perl_1.006-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgfortran-15-dev_15.3.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfont-ttf-perl_1.06-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfyaml0_0.9.4-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfile-listing-perl_6.16-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgssrpc4t64_1.22.1-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfeature-compat-class-perl_0.08-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libintl-perl_1.37-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgnutls-dane0t64_3.8.13-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libio-interactive-perl_1.027-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhttp-cookies-perl_6.11-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfile-which-perl_1.27-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfile-libmagic-perl_1.23-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libharfbuzz0b_12.3.2-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhtml-tree-perl_5.07-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgetopt-long-descriptive-perl_0.117-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgl1_1.7.0-3+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhdf5-hl-fortran-310_1.14.6+repack-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhash-merge-perl_0.302-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgcc-s1_16.1.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhdf5-cpp-310_1.14.6+repack-2+b1_loong64.deb' dpkg-name: info: moved 'libgmp10_2%3a6.3.0+dfsg-5+b2_loong64.deb' to '/srv/rebuilderd/tmp/tmpxvg99nzn/libgmp10_6.3.0+dfsg-5+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgcc-15-dev_15.3.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhtml-tagset-perl_3.24-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgraphicsmagick++-q16-12t64_1.4+really1.3.46-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgdbm6t64_1.26-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgav1-2_0.20.0-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfeature-compat-try-perl_0.05-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgl1-mesa-dri_26.1.4-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgnutls30t64_3.8.13-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfontconfig1_2.17.1-5_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libio-html-perl_1.004-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgbm1_26.1.4-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libffi8_3.5.2-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libglpk40_5.0-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libidn2-dev_2.3.8-5_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libheif-plugin-libde265_1.23.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libio-string-perl_1.08-4_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfreetype6_2.14.3+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libglu1-mesa_9.0.2-1.1+b4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libheif1_1.23.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfftw3-bin_3.3.11-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libinput-bin_1.31.3-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libidn2-0_2.3.8-5_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhdf5-hl-310_1.14.6+repack-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhdf5-dev_1.14.6+repack-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhttp-message-perl_7.02-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhtml-parser-perl_3.83-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libflac14_1.5.0+ds-5+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgomp1_16.1.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgcrypt20_1.12.2-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfftw3-single3_3.3.11-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgl2ps1.4_1.4.2+dfsg1-4+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgdbm-compat4t64_1.26-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfftw3-long3_3.3.11-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libimport-into-perl_1.002005-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhdf5-hl-cpp-310_1.14.6+repack-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfltk1.4_1.4.4-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhdf5-fortran-310_1.14.6+repack-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhtml-html5-entities-perl_0.004-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfile-sharedir-perl_1.118-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhtml-form-perl_6.13-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libglvnd0_1.7.0-3+b1_loong64.deb' dpkg-name: info: moved 'libgmpxx4ldbl_2%3a6.3.0+dfsg-5+b2_loong64.deb' to '/srv/rebuilderd/tmp/tmpxvg99nzn/libgmpxx4ldbl_6.3.0+dfsg-5+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhdf5-310_1.14.6+repack-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libheif-plugin-dav1d_1.23.1-1_loong64.deb' dpkg-name: info: moved 'libice6_2%3a1.1.1-1+b2_loong64.deb' to '/srv/rebuilderd/tmp/tmpxvg99nzn/libice6_1.1.1-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libexporter-lite-perl_0.09-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfftw3-double3_3.3.11-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgnutls28-dev_3.8.13-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgfortran5_16.1.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfile-stripnondeterminism-perl_1.15.1-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhtml-tokeparser-simple-perl_3.16-4_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libindirect-perl_0.39-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libio-socket-ssl-perl_2.099-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libgpg-error0_1.61-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libhttp-negotiate-perl_6.01-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libfltk-gl1.4_1.4.4-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libglx0_1.7.0-3+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpxvg99nzn/libglib2.0-0t64_2.88.2-1_loong64.deb' Get:1 http://deb.debian.org/debian unstable/main loong64 libmarkdown2 loong64 2.2.7-2.1+b2 [36.7 kB] Get:2 http://deb.debian.org/debian unstable/main loong64 libmagic-mgc loong64 1:5.47-4 [345 kB] Get:3 http://deb.debian.org/debian unstable/main loong64 libmagic1t64 loong64 1:5.47-4 [112 kB] Get:4 http://deb.debian.org/debian unstable/main loong64 libjansson4 loong64 2.15.1-1 [66.2 kB] Get:5 http://deb.debian.org/debian unstable/main loong64 libjbig0 loong64 2.1-6.1+b3 [31.9 kB] Get:6 http://deb.debian.org/debian unstable/main loong64 libkeyutils1 loong64 1.6.3-6+b2 [9524 B] Get:7 http://deb.debian.org/debian unstable/main loong64 libk5crypto3 loong64 1.22.1-3 [81.9 kB] Get:8 http://deb.debian.org/debian unstable/main loong64 libkadm5clnt-mit12 loong64 1.22.1-3 [39.8 kB] Get:9 http://deb.debian.org/debian unstable/main loong64 libkadm5srv-mit12 loong64 1.22.1-3 [54.0 kB] Get:10 http://deb.debian.org/debian unstable/main loong64 libkdb5-10t64 loong64 1.22.1-3 [42.1 kB] Get:11 http://deb.debian.org/debian unstable/main loong64 libkrb5-3 loong64 1.22.1-3 [342 kB] Get:12 http://deb.debian.org/debian unstable/main loong64 libkrb5-dev loong64 1.22.1-3 [14.1 kB] Get:13 http://deb.debian.org/debian unstable/main loong64 libkrb5support0 loong64 1.22.1-3 [31.4 kB] Get:14 http://deb.debian.org/debian unstable/main loong64 liblapack-dev loong64 3.12.1-8 [11.0 MB] Get:15 http://deb.debian.org/debian unstable/main loong64 liblapack3 loong64 3.12.1-8 [1876 kB] Get:16 http://deb.debian.org/debian unstable/main loong64 liblcms2-2 loong64 2.19.1-1 [168 kB] Get:17 http://deb.debian.org/debian unstable/main loong64 libopengl0 loong64 1.7.0-3+b1 [38.4 kB] Get:18 http://deb.debian.org/debian unstable/main loong64 libio-tiecombine-perl all 1.005-3 [10.8 kB] Get:19 http://deb.debian.org/debian unstable/main loong64 libipc-run3-perl all 0.049-1 [31.5 kB] Get:20 http://deb.debian.org/debian unstable/main loong64 libipc-system-simple-perl all 1.30-2 [26.8 kB] Get:21 http://deb.debian.org/debian unstable/main loong64 libiterator-perl all 0.03+ds1-2 [18.8 kB] Get:22 http://deb.debian.org/debian unstable/main loong64 libiterator-util-perl all 0.02+ds1-2 [14.0 kB] Get:23 http://deb.debian.org/debian unstable/main loong64 libjpeg-dev loong64 1:3.1.3-4 [78.9 kB] Get:24 http://deb.debian.org/debian unstable/main loong64 libjpeg62-turbo loong64 1:3.1.3-4 [208 kB] Get:25 http://deb.debian.org/debian unstable/main loong64 libjpeg62-turbo-dev loong64 1:3.1.3-4 [604 kB] Get:26 http://deb.debian.org/debian unstable/main loong64 libjson-maybexs-perl all 1.004008-1 [12.9 kB] Get:27 http://deb.debian.org/debian unstable/main loong64 libjson-perl all 4.10000-1 [87.5 kB] Get:28 http://deb.debian.org/debian unstable/main loong64 liblingua-en-inflect-perl all 1.905-2 [52.7 kB] Get:29 http://deb.debian.org/debian unstable/main loong64 liblist-compare-perl all 0.55-2 [65.7 kB] Get:30 http://deb.debian.org/debian unstable/main loong64 liblist-moreutils-perl all 0.430-2 [46.9 kB] Get:31 http://deb.debian.org/debian unstable/main loong64 liblist-someutils-perl all 0.59-1 [37.1 kB] Get:32 http://deb.debian.org/debian unstable/main loong64 liblist-utilsby-perl all 0.12-2 [15.5 kB] Get:33 http://deb.debian.org/debian unstable/main loong64 liblog-any-adapter-screen-perl all 0.141-2 [14.0 kB] Get:34 http://deb.debian.org/debian unstable/main loong64 liblog-any-perl all 1.720-1 [75.8 kB] Get:35 http://deb.debian.org/debian unstable/main loong64 liblog-log4perl-perl all 1.57-1 [367 kB] Get:36 http://deb.debian.org/debian unstable/main loong64 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get:37 http://deb.debian.org/debian unstable/main loong64 liblwp-protocol-https-perl all 6.15-1 [10.7 kB] Get:38 http://deb.debian.org/debian unstable/main loong64 libmailtools-perl all 2.22-1 [88.8 kB] Get:39 http://deb.debian.org/debian unstable/main loong64 libmd0 loong64 1.2.0-2 [39.6 kB] Get:40 http://deb.debian.org/debian unstable/main loong64 libmldbm-perl all 2.05-4 [16.8 kB] Get:41 http://deb.debian.org/debian unstable/main loong64 libmodule-implementation-perl all 0.09-2 [12.6 kB] Get:42 http://deb.debian.org/debian unstable/main loong64 libmodule-runtime-perl all 0.018-1 [17.8 kB] Get:43 http://deb.debian.org/debian unstable/main loong64 libmoo-perl all 2.005005-1 [58.0 kB] Get:44 http://deb.debian.org/debian unstable/main loong64 libmoox-aliases-perl all 0.001006-3 [6996 B] Get:45 http://deb.debian.org/debian unstable/main loong64 libmousex-nativetraits-perl all 1.09-3 [53.5 kB] Get:46 http://deb.debian.org/debian unstable/main loong64 libmousex-strictconstructor-perl all 0.02-3 [5304 B] Get:47 http://deb.debian.org/debian unstable/main loong64 libmro-compat-perl all 0.15-2 [11.8 kB] Get:48 http://deb.debian.org/debian unstable/main loong64 libnamespace-autoclean-perl all 0.31-1 [13.8 kB] Get:49 http://deb.debian.org/debian unstable/main loong64 libnamespace-clean-perl all 0.27-2 [17.8 kB] Get:50 http://deb.debian.org/debian unstable/main loong64 libnet-domain-tld-perl all 1.75-4 [31.5 kB] Get:51 http://deb.debian.org/debian unstable/main loong64 libnet-http-perl all 6.24-1 [23.2 kB] Get:52 http://deb.debian.org/debian unstable/main loong64 libnet-ipv6addr-perl all 1.02-1 [21.7 kB] Get:53 http://deb.debian.org/debian unstable/main loong64 libnet-netmask-perl all 2.0003-1 [28.5 kB] Get:54 http://deb.debian.org/debian unstable/main loong64 libnet-smtp-ssl-perl all 1.04-2 [6548 B] Get:55 http://deb.debian.org/debian unstable/main loong64 libnumber-compare-perl all 0.03-3 [6332 B] Get:56 http://deb.debian.org/debian unstable/main loong64 libogg0 loong64 1.3.6-2+b1 [24.1 kB] Get:57 http://deb.debian.org/debian unstable/main loong64 liblz4-1 loong64 1.10.0-10 [61.7 kB] Get:58 http://deb.debian.org/debian unstable/main loong64 liblzo2-2 loong64 2.10-3+b2 [54.6 kB] Get:59 http://deb.debian.org/debian unstable/main loong64 libmd4c0 loong64 0.5.3-1 [49.7 kB] Get:60 http://deb.debian.org/debian unstable/main loong64 libmpc3 loong64 1.3.1-3 [56.2 kB] Get:61 http://deb.debian.org/debian unstable/main loong64 libmpfr6 loong64 4.2.2-3 [664 kB] Get:62 http://deb.debian.org/debian unstable/main loong64 libmtdev1t64 loong64 1.1.7-1+b2 [23.1 kB] Get:63 http://deb.debian.org/debian unstable/main loong64 libncurses-dev loong64 6.6+20260608-2 [891 kB] Get:64 http://deb.debian.org/debian unstable/main loong64 libncurses6 loong64 6.6+20260608-2 [105 kB] Get:65 http://deb.debian.org/debian unstable/main loong64 libncursesw6 loong64 6.6+20260608-2 [137 kB] Get:66 http://deb.debian.org/debian unstable/main loong64 libnettle8t64 loong64 3.10.2-1+b1 [313 kB] Get:67 http://deb.debian.org/debian unstable/main loong64 libnpth0t64 loong64 1.8-3+b2 [22.8 kB] Get:68 http://deb.debian.org/debian unstable/main loong64 liblzma5 loong64 5.8.3-1 [323 kB] Get:69 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libitm1 loong64 16.1.0-2 [24.9 kB] Get:70 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 liblsan0 loong64 16.1.0-2 [1255 kB] Get:71 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libisl23 loong64 0.27-2 [667 kB] Get:72 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libjack-jackd2-0 loong64 1.9.22~dfsg-5+b2 [281 kB] Get:73 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libjxl0.11 loong64 0.11.2-5 [887 kB] Get:74 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libmp3lame0 loong64 3.101~svn6531+dfsg-1 [284 kB] Get:75 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 liblerc4 loong64 4.1.1+ds-1 [183 kB] Get:76 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libksba8 loong64 1.8.0-3 [138 kB] Get:77 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 liblist-moreutils-xs-perl loong64 0.430-4+b1 [42.3 kB] Get:78 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libmime-tools-perl all 5.517-1 [204 kB] Get:79 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libmodule-pluggable-perl all 6.3-1 [24.1 kB] Get:80 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libmouse-perl loong64 2.6.2-1 [142 kB] Get:81 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libnet-ssleay-perl loong64 1.96-1 [339 kB] Get:82 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libnetaddr-ip-perl loong64 4.079+dfsg-2+b1 [98.5 kB] Get:83 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libobject-pad-perl loong64 0.825-1 [140 kB] Get:84 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libltdl7 loong64 2.5.4-11 [416 kB] Get:85 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libllvm21 loong64 1:21.1.8-7+b4 [26.0 MB] Get:86 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 liblua5.4-0 loong64 5.4.8-2 [143 kB] Get:87 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 liblz1 loong64 1.16-1 [40.3 kB] Get:88 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libmpg123-0t64 loong64 1.33.6-1 [143 kB] Get:89 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libnghttp2-14 loong64 1.69.0-1 [90.2 kB] Get:90 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libnghttp2-dev loong64 1.69.0-1 [240 kB] Get:91 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libnghttp3-9 loong64 1.15.0-1 [67.6 kB] Get:92 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libnghttp3-dev loong64 1.15.0-1 [194 kB] Get:93 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libngtcp2-16 loong64 1.22.1-1 [134 kB] Get:94 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libngtcp2-crypto-gnutls8 loong64 1.22.1-1 [20.3 kB] Get:95 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libngtcp2-crypto-ossl-dev loong64 1.22.1-1 [42.6 kB] Get:96 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libngtcp2-crypto-ossl0 loong64 1.22.1-1 [22.8 kB] Get:97 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libngtcp2-dev loong64 1.22.1-1 [424 kB] Get:98 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libldap-dev loong64 2.6.13+dfsg-1 [608 kB] Get:99 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libldap2 loong64 2.6.13+dfsg-1 [189 kB] Get:100 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libmount1 loong64 2.42.2-1 [221 kB] Fetched 52.9 MB in 1s (82.7 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmodule-runtime-perl_0.018-1_all.deb' dpkg-name: info: moved 'libjpeg62-turbo-dev_1%3a3.1.3-4_loong64.deb' to '/srv/rebuilderd/tmp/tmp4yeysbyx/libjpeg62-turbo-dev_3.1.3-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libksba8_1.8.0-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libngtcp2-16_1.22.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libngtcp2-crypto-ossl0_1.22.1-1_loong64.deb' dpkg-name: info: moved 'libjpeg-dev_1%3a3.1.3-4_loong64.deb' to '/srv/rebuilderd/tmp/tmp4yeysbyx/libjpeg-dev_3.1.3-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmousex-strictconstructor-perl_0.02-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libkeyutils1_1.6.3-6+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libobject-pad-perl_0.825-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libipc-run3-perl_0.049-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblwp-protocol-https-perl_6.15-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnet-http-perl_6.24-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libjack-jackd2-0_1.9.22~dfsg-5+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libjxl0.11_0.11.2-5_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblist-moreutils-xs-perl_0.430-4+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblist-moreutils-perl_0.430-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libopengl0_1.7.0-3+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libipc-system-simple-perl_1.30-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libjansson4_2.15.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblua5.4-0_5.4.8-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libkrb5support0_1.22.1-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmime-tools-perl_5.517-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnamespace-autoclean-perl_0.31-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblzo2-2_2.10-3+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libio-tiecombine-perl_1.005-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblz4-1_1.10.0-10_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnghttp2-14_1.69.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblapack3_3.12.1-8_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmd0_1.2.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblog-any-perl_1.720-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmousex-nativetraits-perl_1.09-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnamespace-clean-perl_0.27-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmpfr6_4.2.2-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmd4c0_0.5.3-1_loong64.deb' dpkg-name: info: moved 'libmagic-mgc_1%3a5.47-4_loong64.deb' to '/srv/rebuilderd/tmp/tmp4yeysbyx/libmagic-mgc_5.47-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblapack-dev_3.12.1-8_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libngtcp2-crypto-gnutls8_1.22.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmro-compat-perl_0.15-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libitm1_16.1.0-2_loong64.deb' dpkg-name: info: moved 'libjpeg62-turbo_1%3a3.1.3-4_loong64.deb' to '/srv/rebuilderd/tmp/tmp4yeysbyx/libjpeg62-turbo_3.1.3-4_loong64.deb' dpkg-name: info: moved 'libllvm21_1%3a21.1.8-7+b4_loong64.deb' to '/srv/rebuilderd/tmp/tmp4yeysbyx/libllvm21_21.1.8-7+b4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmoo-perl_2.005005-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmldbm-perl_2.05-4_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libkadm5clnt-mit12_1.22.1-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmpc3_1.3.1-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libogg0_1.3.6-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libk5crypto3_1.22.1-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libiterator-perl_0.03+ds1-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libjbig0_2.1-6.1+b3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblist-utilsby-perl_0.12-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libjson-maybexs-perl_1.004008-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libiterator-util-perl_0.02+ds1-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libkadm5srv-mit12_1.22.1-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libkdb5-10t64_1.22.1-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnghttp3-9_1.15.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libjson-perl_4.10000-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnettle8t64_3.10.2-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnghttp2-dev_1.69.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmodule-implementation-perl_0.09-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmailtools-perl_2.22-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnpth0t64_1.8-3+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblist-compare-perl_0.55-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmarkdown2_2.2.7-2.1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libkrb5-dev_1.22.1-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libngtcp2-crypto-ossl-dev_1.22.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnetaddr-ip-perl_4.079+dfsg-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libisl23_0.27-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libkrb5-3_1.22.1-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnumber-compare-perl_0.03-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnet-domain-tld-perl_1.75-4_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libldap2_2.6.13+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnet-smtp-ssl-perl_1.04-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblcms2-2_2.19.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblzma5_5.8.3-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmodule-pluggable-perl_6.3-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmoox-aliases-perl_0.001006-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmouse-perl_2.6.2-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libngtcp2-dev_1.22.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblingua-en-inflect-perl_1.905-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblog-log4perl-perl_1.57-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblsan0_16.1.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnghttp3-dev_1.15.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmp3lame0_3.101~svn6531+dfsg-1_loong64.deb' dpkg-name: info: moved 'libmagic1t64_1%3a5.47-4_loong64.deb' to '/srv/rebuilderd/tmp/tmp4yeysbyx/libmagic1t64_5.47-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libncurses-dev_6.6+20260608-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblog-any-adapter-screen-perl_0.141-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmtdev1t64_1.1.7-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmpg123-0t64_1.33.6-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnet-netmask-perl_2.0003-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblwp-mediatypes-perl_6.04-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnet-ssleay-perl_1.96-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblist-someutils-perl_0.59-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libncurses6_6.6+20260608-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libltdl7_2.5.4-11_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblz1_1.16-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libnet-ipv6addr-perl_1.02-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libncursesw6_6.6+20260608-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libldap-dev_2.6.13+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/liblerc4_4.1.1+ds-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp4yeysbyx/libmount1_2.42.2-1_loong64.deb' Get:1 http://deb.debian.org/debian unstable/main loong64 libsasl2-2 loong64 2.1.28+dfsg1-11 [56.7 kB] Get:2 http://deb.debian.org/debian unstable/main loong64 libsasl2-modules-db loong64 2.1.28+dfsg1-11 [17.8 kB] Get:3 http://deb.debian.org/debian unstable/main loong64 libpackage-stash-perl all 0.40-1 [22.0 kB] Get:4 http://deb.debian.org/debian unstable/main loong64 libparams-validationcompiler-perl all 0.31-1 [30.9 kB] Get:5 http://deb.debian.org/debian unstable/main loong64 libparse-debcontrol-perl all 2.005-6 [21.6 kB] Get:6 http://deb.debian.org/debian unstable/main loong64 libparse-recdescent-perl all 1.967015+dfsg-4 [147 kB] Get:7 http://deb.debian.org/debian unstable/main loong64 libpath-iterator-rule-perl all 1.015-2 [41.7 kB] Get:8 http://deb.debian.org/debian unstable/main loong64 libpath-tiny-perl all 0.150-1 [56.4 kB] Get:9 http://deb.debian.org/debian unstable/main loong64 libperl-critic-perl all 1.156-1 [685 kB] Get:10 http://deb.debian.org/debian unstable/main loong64 libpipeline1 loong64 1.5.8-3 [48.6 kB] Get:11 http://deb.debian.org/debian unstable/main loong64 libpng16-16t64 loong64 1.6.58-1 [286 kB] Get:12 http://deb.debian.org/debian unstable/main loong64 libpod-constants-perl all 0.19-2 [17.3 kB] Get:13 http://deb.debian.org/debian unstable/main loong64 libpod-parser-perl all 1.67-1 [94.1 kB] Get:14 http://deb.debian.org/debian unstable/main loong64 libpod-pom-perl all 2.01-4 [65.0 kB] Get:15 http://deb.debian.org/debian unstable/main loong64 libpod-spell-perl all 1.27-1 [32.0 kB] Get:16 http://deb.debian.org/debian unstable/main loong64 libppi-perl all 1.291-1 [300 kB] Get:17 http://deb.debian.org/debian unstable/main loong64 libppix-quotelike-perl all 0.024-1 [64.7 kB] Get:18 http://deb.debian.org/debian unstable/main loong64 libppix-regexp-perl all 0.092-1 [245 kB] Get:19 http://deb.debian.org/debian unstable/main loong64 libppix-utils-perl all 0.003-2 [28.0 kB] Get:20 http://deb.debian.org/debian unstable/main loong64 libproxy1v5 loong64 0.5.12-1+b1 [26.7 kB] Get:21 http://deb.debian.org/debian unstable/main loong64 libreadonly-perl all 2.050-3 [23.1 kB] Get:22 http://deb.debian.org/debian unstable/main loong64 libregexp-common-perl all 2024080801-1 [167 kB] Get:23 http://deb.debian.org/debian unstable/main loong64 libregexp-pattern-license-perl all 3.11.2-1 [94.6 kB] Get:24 http://deb.debian.org/debian unstable/main loong64 libregexp-pattern-perl all 0.2.14-3 [18.3 kB] Get:25 http://deb.debian.org/debian unstable/main loong64 libregexp-wildcards-perl all 1.05-3 [14.1 kB] Get:26 http://deb.debian.org/debian unstable/main loong64 librole-tiny-perl all 2.002005-1 [19.5 kB] Get:27 http://deb.debian.org/debian unstable/main loong64 libsafe-isa-perl all 1.000010-1 [8288 B] Get:28 http://deb.debian.org/debian unstable/main loong64 libsamplerate0 loong64 0.2.2-4+b3 [945 kB] Get:29 http://deb.debian.org/debian unstable/main loong64 libset-intspan-perl all 1.19-3 [25.3 kB] Get:30 http://deb.debian.org/debian unstable/main loong64 libsm6 loong64 2:1.2.6-1+b2 [37.8 kB] Get:31 http://deb.debian.org/debian unstable/main loong64 libsndfile1 loong64 1.2.2-4+b1 [204 kB] Get:32 http://deb.debian.org/debian unstable/main loong64 libsoftware-copyright-perl all 0.015-1 [15.5 kB] Get:33 http://deb.debian.org/debian unstable/main loong64 libsoftware-license-perl all 0.104007-1 [121 kB] Get:34 http://deb.debian.org/debian unstable/main loong64 libsoftware-licensemoreutils-perl all 1.009-1 [22.0 kB] Get:35 http://deb.debian.org/debian unstable/main loong64 libsort-versions-perl all 1.62-3 [8928 B] Get:36 http://deb.debian.org/debian unstable/main loong64 libspecio-perl all 0.53-1 [134 kB] Get:37 http://deb.debian.org/debian unstable/main loong64 libstrictures-perl all 2.000006-1 [18.6 kB] Get:38 http://deb.debian.org/debian unstable/main loong64 libstring-copyright-perl all 0.003014-1 [23.4 kB] Get:39 http://deb.debian.org/debian unstable/main loong64 libsharpyuv0 loong64 1.5.0-0.1+b2 [114 kB] Get:40 http://deb.debian.org/debian unstable/main loong64 libsensors-config all 1:3.6.2-2 [16.2 kB] Get:41 http://deb.debian.org/debian unstable/main loong64 libsensors5 loong64 1:3.6.2-2+b2 [37.1 kB] Get:42 http://deb.debian.org/debian unstable/main loong64 libopus0 loong64 1.6.1-1+b1 [3444 kB] Get:43 http://deb.debian.org/debian unstable/main loong64 libpam-modules loong64 1.7.0-8 [168 kB] Get:44 http://deb.debian.org/debian unstable/main loong64 libpam-modules-bin loong64 1.7.0-8 [46.6 kB] Get:45 http://deb.debian.org/debian unstable/main loong64 libpam-runtime all 1.7.0-8 [246 kB] Get:46 http://deb.debian.org/debian unstable/main loong64 libpam0g loong64 1.7.0-8 [67.6 kB] Get:47 http://deb.debian.org/debian unstable/main loong64 libpango-1.0-0 loong64 1.58.0-1 [231 kB] Get:48 http://deb.debian.org/debian unstable/main loong64 libpangocairo-1.0-0 loong64 1.58.0-1 [33.3 kB] Get:49 http://deb.debian.org/debian unstable/main loong64 libpangoft2-1.0-0 loong64 1.58.0-1 [51.4 kB] Get:50 http://deb.debian.org/debian unstable/main loong64 libperl5.40 loong64 5.40.1-8 [4329 kB] Get:51 http://deb.debian.org/debian unstable/main loong64 libpixman-1-0 loong64 0.46.4-1+b2 [163 kB] Get:52 http://deb.debian.org/debian unstable/main loong64 libpkgconf7 loong64 2.5.1-4 [48.2 kB] Get:53 http://deb.debian.org/debian unstable/main loong64 libportaudio2 loong64 19.7.0-1+b1 [63.6 kB] Get:54 http://deb.debian.org/debian unstable/main loong64 libqhull-r8.0 loong64 2020.2-9 [241 kB] Get:55 http://deb.debian.org/debian unstable/main loong64 libqt6help6 loong64 6.10.2-3 [183 kB] Get:56 http://deb.debian.org/debian unstable/main loong64 libreadline-dev loong64 8.3-4 [390 kB] Get:57 http://deb.debian.org/debian unstable/main loong64 libreadline8t64 loong64 8.3-4 [181 kB] Get:58 http://deb.debian.org/debian unstable/main loong64 librtmp-dev loong64 2.6-1 [126 kB] Get:59 http://deb.debian.org/debian unstable/main loong64 librtmp1 loong64 2.6-1 [60.2 kB] Get:60 http://deb.debian.org/debian unstable/main loong64 libstemmer0d loong64 3.1.1-1 [132 kB] Get:61 http://deb.debian.org/debian unstable/main loong64 libspqr4 loong64 1:7.12.2+dfsg-1 [140 kB] Get:62 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libsframe3 loong64 2.46.50.20260617-1 [85.8 kB] Get:63 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libstdc++-15-dev loong64 15.3.0-1 [6755 kB] Get:64 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libstdc++6 loong64 16.1.0-2 [763 kB] Get:65 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libparams-classify-perl loong64 0.015-2+b5 [22.8 kB] Get:66 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libparams-util-perl loong64 1.102-3+b1 [24.4 kB] Get:67 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libparams-validate-perl loong64 1.31-2+b4 [63.4 kB] Get:68 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libperlio-gzip-perl loong64 0.20-1+b1 [18.0 kB] Get:69 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libperlio-utf8-strict-perl loong64 0.010-1+b2 [11.6 kB] Get:70 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libproc-processtable-perl loong64 0.637-1+b2 [41.3 kB] Get:71 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libpsl-dev loong64 0.22.0-1 [29.8 kB] Get:72 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libpsl5t64 loong64 0.22.0-1 [61.1 kB] Get:73 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libselinux1 loong64 3.10-1 [85.3 kB] Get:74 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libsereal-decoder-perl loong64 5.006+ds-1 [103 kB] Get:75 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libsereal-encoder-perl loong64 5.006+ds-1 [106 kB] Get:76 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libssh2-1-dev loong64 1.11.1-4 [575 kB] Get:77 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libssh2-1t64 loong64 1.11.1-4 [246 kB] Get:78 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libssl-dev loong64 3.6.3-1 [5958 kB] Get:79 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libssl3t64 loong64 3.6.3-1 [2159 kB] Get:80 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libpcre2-16-0 loong64 10.46-1+b2 [275 kB] Get:81 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libpcre2-8-0 loong64 10.46-1+b2 [290 kB] Get:82 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libproc2-1 loong64 2:4.0.6-2 [69.2 kB] Get:83 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqrupdate1 loong64 1.1.5-3+b1 [33.3 kB] Get:84 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqscintilla2-qt6-15 loong64 2.14.1+dfsg-3 [1180 kB] Get:85 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqscintilla2-qt6-l10n all 2.14.1+dfsg-3 [103 kB] Get:86 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqt6core5compat6 loong64 6.10.2-3 [137 kB] Get:87 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqt6core6t64 loong64 6.10.2+dfsg-15 [1825 kB] Get:88 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqt6dbus6 loong64 6.10.2+dfsg-15 [265 kB] Get:89 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqt6gui6 loong64 6.10.2+dfsg-15 [3174 kB] Get:90 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqt6network6 loong64 6.10.2+dfsg-15 [790 kB] Get:91 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqt6opengl6 loong64 6.10.2+dfsg-15 [404 kB] Get:92 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqt6openglwidgets6 loong64 6.10.2+dfsg-15 [47.3 kB] Get:93 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqt6printsupport6 loong64 6.10.2+dfsg-15 [212 kB] Get:94 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqt6sql6 loong64 6.10.2+dfsg-15 [142 kB] Get:95 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqt6widgets6 loong64 6.10.2+dfsg-15 [2618 kB] Get:96 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libqt6xml6 loong64 6.10.2+dfsg-15 [83.4 kB] Get:97 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libsqlite3-0 loong64 3.53.3-1 [952 kB] Get:98 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libsmartcols1 loong64 2.42.2-1 [149 kB] Get:99 http://snapshot.debian.org/archive/debian/20260725T082357Z unstable/main loong64 libp11-kit-dev loong64 0.26.4-1 [225 kB] Get:100 http://snapshot.debian.org/archive/debian/20260725T082357Z unstable/main loong64 libp11-kit0 loong64 0.26.4-1 [434 kB] Fetched 45.2 MB in 1s (88.6 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6printsupport6_6.10.2+dfsg-15_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpsl5t64_0.22.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqscintilla2-qt6-l10n_2.14.1+dfsg-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6network6_6.10.2+dfsg-15_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsmartcols1_2.42.2-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libppix-utils-perl_0.003-2_all.deb' dpkg-name: info: moved 'libsensors5_1%3a3.6.2-2+b2_loong64.deb' to '/srv/rebuilderd/tmp/tmp06jistv7/libsensors5_3.6.2-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libstemmer0d_3.1.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libregexp-wildcards-perl_1.05-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libspecio-perl_0.53-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpod-spell-perl_1.27-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/librtmp1_2.6-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libopus0_1.6.1-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libparams-classify-perl_0.015-2+b5_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libparams-validate-perl_1.31-2+b4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpangoft2-1.0-0_1.58.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpackage-stash-perl_0.40-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libssl-dev_3.6.3-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsqlite3-0_3.53.3-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libppix-quotelike-perl_0.024-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libppi-perl_1.291-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libparams-util-perl_1.102-3+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libstrictures-perl_2.000006-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6widgets6_6.10.2+dfsg-15_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libselinux1_3.10-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libssh2-1-dev_1.11.1-4_loong64.deb' dpkg-name: info: moved 'libproc2-1_2%3a4.0.6-2_loong64.deb' to '/srv/rebuilderd/tmp/tmp06jistv7/libproc2-1_4.0.6-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6gui6_6.10.2+dfsg-15_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libregexp-pattern-perl_0.2.14-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6sql6_6.10.2+dfsg-15_loong64.deb' dpkg-name: info: moved 'libsm6_2%3a1.2.6-1+b2_loong64.deb' to '/srv/rebuilderd/tmp/tmp06jistv7/libsm6_1.2.6-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libparse-debcontrol-perl_2.005-6_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libreadline8t64_8.3-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpam-modules_1.7.0-8_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqrupdate1_1.1.5-3+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpod-constants-perl_0.19-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpcre2-16-0_10.46-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsframe3_2.46.50.20260617-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsamplerate0_0.2.2-4+b3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpam0g_1.7.0-8_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/librtmp-dev_2.6-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libregexp-common-perl_2024080801-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqscintilla2-qt6-15_2.14.1+dfsg-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libperl5.40_5.40.1-8_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libset-intspan-perl_1.19-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqhull-r8.0_2020.2-9_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpsl-dev_0.22.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libreadline-dev_8.3-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/librole-tiny-perl_2.002005-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsasl2-2_2.1.28+dfsg1-11_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libssh2-1t64_1.11.1-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6help6_6.10.2-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsoftware-licensemoreutils-perl_1.009-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libproc-processtable-perl_0.637-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpango-1.0-0_1.58.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpng16-16t64_1.6.58-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsereal-decoder-perl_5.006+ds-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libregexp-pattern-license-perl_3.11.2-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6opengl6_6.10.2+dfsg-15_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsort-versions-perl_1.62-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6dbus6_6.10.2+dfsg-15_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libstdc++-15-dev_15.3.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsafe-isa-perl_1.000010-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libparse-recdescent-perl_1.967015+dfsg-4_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libproxy1v5_0.5.12-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpam-modules-bin_1.7.0-8_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6openglwidgets6_6.10.2+dfsg-15_loong64.deb' dpkg-name: info: moved 'libspqr4_1%3a7.12.2+dfsg-1_loong64.deb' to '/srv/rebuilderd/tmp/tmp06jistv7/libspqr4_7.12.2+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libperlio-gzip-perl_0.20-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libperl-critic-perl_1.156-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libstdc++6_16.1.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpixman-1-0_0.46.4-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6core6t64_6.10.2+dfsg-15_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpod-parser-perl_1.67-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpod-pom-perl_2.01-4_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpath-iterator-rule-perl_1.015-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libperlio-utf8-strict-perl_0.010-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsoftware-license-perl_0.104007-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpkgconf7_2.5.1-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6core5compat6_6.10.2-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libreadonly-perl_2.050-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpipeline1_1.5.8-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libstring-copyright-perl_0.003014-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsereal-encoder-perl_5.006+ds-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsoftware-copyright-perl_0.015-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libparams-validationcompiler-perl_0.31-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libp11-kit0_0.26.4-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libqt6xml6_6.10.2+dfsg-15_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsharpyuv0_1.5.0-0.1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libportaudio2_19.7.0-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsasl2-modules-db_2.1.28+dfsg1-11_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libssl3t64_3.6.3-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpangocairo-1.0-0_1.58.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libp11-kit-dev_0.26.4-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libsndfile1_1.2.2-4+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpcre2-8-0_10.46-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpath-tiny-perl_0.150-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libpam-runtime_1.7.0-8_all.deb' dpkg-name: info: moved 'libsensors-config_1%3a3.6.2-2_all.deb' to '/srv/rebuilderd/tmp/tmp06jistv7/libsensors-config_3.6.2-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmp06jistv7/libppix-regexp-perl_0.092-1_all.deb' Get:1 http://deb.debian.org/debian unstable/main loong64 libsz2 loong64 1.1.7-1 [19.0 kB] Get:2 http://deb.debian.org/debian unstable/main loong64 libstring-escape-perl all 2010.002-3 [18.7 kB] Get:3 http://deb.debian.org/debian unstable/main loong64 libstring-format-perl all 1.18-1 [9408 B] Get:4 http://deb.debian.org/debian unstable/main loong64 libstring-license-perl all 0.0.11-1 [34.7 kB] Get:5 http://deb.debian.org/debian unstable/main loong64 libstring-rewriteprefix-perl all 0.009-1 [7140 B] Get:6 http://deb.debian.org/debian unstable/main loong64 libsub-exporter-perl all 0.990-1 [50.6 kB] Get:7 http://deb.debian.org/debian unstable/main loong64 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Get:8 http://deb.debian.org/debian unstable/main loong64 libsub-install-perl all 0.929-1 [10.5 kB] Get:9 http://deb.debian.org/debian unstable/main loong64 libsub-quote-perl all 2.006009-1 [21.3 kB] Get:10 http://deb.debian.org/debian unstable/main loong64 libsub-uplevel-perl all 0.2800-3 [14.0 kB] Get:11 http://deb.debian.org/debian unstable/main loong64 libtask-weaken-perl all 1.06-2 [9364 B] Get:12 http://deb.debian.org/debian unstable/main loong64 libtasn1-6 loong64 4.21.0-2+b1 [50.2 kB] Get:13 http://deb.debian.org/debian unstable/main loong64 libtasn1-6-dev loong64 4.21.0-2+b1 [155 kB] Get:14 http://deb.debian.org/debian unstable/main loong64 libtest-exception-perl all 0.43-3 [16.9 kB] Get:15 http://deb.debian.org/debian unstable/main loong64 libtext-autoformat-perl all 1.750000-2 [35.2 kB] Get:16 http://deb.debian.org/debian unstable/main loong64 libtext-glob-perl all 0.11-3 [7676 B] Get:17 http://deb.debian.org/debian unstable/main loong64 libtext-levenshtein-damerau-perl all 0.41-3 [12.3 kB] Get:18 http://deb.debian.org/debian unstable/main loong64 libtext-reform-perl all 1.20-5 [36.0 kB] Get:19 http://deb.debian.org/debian unstable/main loong64 libtext-template-perl all 1.61-1 [54.4 kB] Get:20 http://deb.debian.org/debian unstable/main loong64 libtext-unidecode-perl all 1.30-3 [101 kB] Get:21 http://deb.debian.org/debian unstable/main loong64 libtext-wrapi18n-perl all 0.06-11 [7788 B] Get:22 http://deb.debian.org/debian unstable/main loong64 libtext-wrapper-perl all 1.05-4 [10.3 kB] Get:23 http://deb.debian.org/debian unstable/main loong64 libtime-duration-perl all 1.21-2 [13.1 kB] Get:24 http://deb.debian.org/debian unstable/main loong64 libtimedate-perl all 2.3500-1 [64.2 kB] Get:25 http://deb.debian.org/debian unstable/main loong64 libtoml-tiny-perl all 0.22-1 [23.2 kB] Get:26 http://deb.debian.org/debian unstable/main loong64 libtry-tiny-perl all 0.32-1 [22.9 kB] Get:27 http://deb.debian.org/debian unstable/main loong64 libunistring-dev loong64 1.4.2-1 [918 kB] Get:28 http://deb.debian.org/debian unstable/main loong64 libunistring5 loong64 1.4.2-1 [483 kB] Get:29 http://deb.debian.org/debian unstable/main loong64 libvorbis0a loong64 1.3.7-3+b2 [87.5 kB] Get:30 http://deb.debian.org/debian unstable/main loong64 libvorbisenc2 loong64 1.3.7-3+b2 [76.0 kB] Get:31 http://deb.debian.org/debian unstable/main loong64 libwacom-common all 2.18.0-1 [117 kB] Get:32 http://deb.debian.org/debian unstable/main loong64 libwacom9 loong64 2.18.0-1 [26.4 kB] Get:33 http://deb.debian.org/debian unstable/main loong64 libwebp7 loong64 1.5.0-0.1+b2 [279 kB] Get:34 http://deb.debian.org/debian unstable/main loong64 libwebpmux3 loong64 1.5.0-0.1+b2 [126 kB] Get:35 http://deb.debian.org/debian unstable/main loong64 libwmflite-0.2-7 loong64 0.2.14-1 [74.5 kB] Get:36 http://deb.debian.org/debian unstable/main loong64 libwww-mechanize-perl all 2.22-1 [117 kB] Get:37 http://deb.debian.org/debian unstable/main loong64 libwww-perl all 6.83-1 [186 kB] Get:38 http://deb.debian.org/debian unstable/main loong64 libwww-robotrules-perl all 6.03-1 [15.8 kB] Get:39 http://deb.debian.org/debian unstable/main loong64 libx11-6 loong64 2:1.8.13-1 [822 kB] Get:40 http://deb.debian.org/debian unstable/main loong64 libx11-data all 2:1.8.13-1 [346 kB] Get:41 http://deb.debian.org/debian unstable/main loong64 libx11-dev loong64 2:1.8.13-1 [1470 kB] Get:42 http://deb.debian.org/debian unstable/main loong64 libx11-xcb1 loong64 2:1.8.13-1 [250 kB] Get:43 http://deb.debian.org/debian unstable/main loong64 libxau-dev loong64 1:1.0.11-1+b2 [28.2 kB] Get:44 http://deb.debian.org/debian unstable/main loong64 libxau6 loong64 1:1.0.11-1+b2 [21.0 kB] Get:45 http://deb.debian.org/debian unstable/main loong64 libxcb-dri3-0 loong64 1.17.0-2+b2 [107 kB] Get:46 http://deb.debian.org/debian unstable/main loong64 libxcb-glx0 loong64 1.17.0-2+b2 [122 kB] Get:47 http://deb.debian.org/debian unstable/main loong64 libxcb-present0 loong64 1.17.0-2+b2 [105 kB] Get:48 http://deb.debian.org/debian unstable/main loong64 libxcb-randr0 loong64 1.17.0-2+b2 [116 kB] Get:49 http://deb.debian.org/debian unstable/main loong64 libxcb-render0 loong64 1.17.0-2+b2 [115 kB] Get:50 http://deb.debian.org/debian unstable/main loong64 libxcb-shape0 loong64 1.17.0-2+b2 [105 kB] Get:51 http://deb.debian.org/debian unstable/main loong64 libxcb-shm0 loong64 1.17.0-2+b2 [105 kB] Get:52 http://deb.debian.org/debian unstable/main loong64 libxcb-sync1 loong64 1.17.0-2+b2 [108 kB] Get:53 http://deb.debian.org/debian unstable/main loong64 libxcb-xfixes0 loong64 1.17.0-2+b2 [109 kB] Get:54 http://deb.debian.org/debian unstable/main loong64 libxcb-xinput0 loong64 1.17.0-2+b2 [129 kB] Get:55 http://deb.debian.org/debian unstable/main loong64 libxcb-xkb1 loong64 1.17.0-2+b2 [129 kB] Get:56 http://deb.debian.org/debian unstable/main loong64 libxcb1 loong64 1.17.0-2+b2 [144 kB] Get:57 http://deb.debian.org/debian unstable/main loong64 libxcb1-dev loong64 1.17.0-2+b2 [250 kB] Get:58 http://deb.debian.org/debian unstable/main loong64 libxcursor1 loong64 1:1.2.3-1+b2 [40.7 kB] Get:59 http://deb.debian.org/debian unstable/main loong64 libxdmcp-dev loong64 1:1.1.5-2+b1 [53.5 kB] Get:60 http://deb.debian.org/debian unstable/main loong64 libxdmcp6 loong64 1:1.1.5-2+b1 [28.4 kB] Get:61 http://deb.debian.org/debian unstable/main loong64 libxext6 loong64 2:1.3.4-1+b4 [51.4 kB] Get:62 http://deb.debian.org/debian unstable/main loong64 libxfixes3 loong64 1:6.0.0-2+b5 [20.6 kB] Get:63 http://deb.debian.org/debian unstable/main loong64 libtinfo6 loong64 6.6+20260608-2 [352 kB] Get:64 http://deb.debian.org/debian unstable/main loong64 libsuitesparseconfig7 loong64 1:7.12.2+dfsg-1 [33.8 kB] Get:65 http://deb.debian.org/debian unstable/main loong64 libumfpack6 loong64 1:7.12.2+dfsg-1 [256 kB] Get:66 http://deb.debian.org/debian unstable/main loong64 libsvtav1enc4 loong64 4.1.0+dfsg-1 [1138 kB] Get:67 http://deb.debian.org/debian unstable/main loong64 libtiff6 loong64 4.7.2-1 [373 kB] Get:68 http://deb.debian.org/debian unstable/main loong64 libts0t64 loong64 1.22-1.1+b2 [63.0 kB] Get:69 http://deb.debian.org/debian unstable/main loong64 libuchardet0 loong64 0.0.8-2+b2 [69.9 kB] Get:70 http://deb.debian.org/debian unstable/main loong64 libxcb-util1 loong64 0.4.1-1+b2 [23.7 kB] Get:71 http://deb.debian.org/debian unstable/main loong64 libxcb-cursor0 loong64 0.1.6-1 [17.9 kB] Get:72 http://deb.debian.org/debian unstable/main loong64 libxcb-image0 loong64 0.4.0-2+b3 [22.3 kB] Get:73 http://deb.debian.org/debian unstable/main loong64 libxcb-keysyms1 loong64 0.4.1-1+b2 [17.2 kB] Get:74 http://deb.debian.org/debian unstable/main loong64 libxcb-render-util0 loong64 0.3.10-1+b2 [18.7 kB] Get:75 http://deb.debian.org/debian unstable/main loong64 libxcb-icccm4 loong64 0.4.2-1+b2 [27.5 kB] Get:76 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libtsan2 loong64 16.1.0-2 [2504 kB] Get:77 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libubsan1 loong64 16.1.0-2 [1118 kB] Get:78 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libsub-identify-perl loong64 0.14-4+b1 [11.3 kB] Get:79 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libsub-name-perl loong64 0.28-1+b2 [12.6 kB] Get:80 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libsyntax-keyword-try-perl loong64 0.31-1+b1 [27.2 kB] Get:81 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libterm-readkey-perl loong64 2.38-2+b1 [25.0 kB] Get:82 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libtext-charwidth-perl loong64 0.04-12 [9128 B] Get:83 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libtext-levenshteinxs-perl loong64 0.03-5+b1 [8756 B] Get:84 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libtext-markdown-discount-perl loong64 0.18-1+b1 [13.3 kB] Get:85 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libtext-xslate-perl loong64 3.5.9-2+b2 [174 kB] Get:86 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libthai-data all 0.1.30-2 [172 kB] Get:87 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libthai0 loong64 0.1.30-2 [51.9 kB] Get:88 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libtime-moment-perl loong64 0.46-1+b1 [78.0 kB] Get:89 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libtool all 2.5.4-11 [539 kB] Get:90 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libunicode-utf8-perl loong64 0.72-1 [27.1 kB] Get:91 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 liburi-perl all 5.35-1 [112 kB] Get:92 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libvariable-magic-perl loong64 0.64-1+b1 [45.0 kB] Get:93 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libsystemd0 loong64 261.1-2 [459 kB] Get:94 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libudev1 loong64 261.1-2 [136 kB] Get:95 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libunbound8 loong64 1.25.1-1+b1 [608 kB] Get:96 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libuuid1 loong64 2.42.2-1 [32.9 kB] Get:97 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libvulkan1 loong64 1.4.341.0-1 [135 kB] Get:98 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libwayland-client0 loong64 1.25.0-2 [29.7 kB] Get:99 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libwayland-cursor0 loong64 1.25.0-2 [11.7 kB] Get:100 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libwayland-egl1 loong64 1.25.0-2 [5660 B] Fetched 16.9 MB in 0s (56.5 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libvorbisenc2_1.3.7-3+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libsub-identify-perl_0.14-4+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-render0_1.17.0-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libubsan1_16.1.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libwacom9_2.18.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtimedate-perl_2.3500-1_all.deb' dpkg-name: info: moved 'libxcursor1_1%3a1.2.3-1+b2_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcursor1_1.2.3-1+b2_loong64.deb' dpkg-name: info: moved 'libxdmcp6_1%3a1.1.5-2+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libxdmcp6_1.1.5-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-icccm4_0.4.2-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtasn1-6-dev_4.21.0-2+b1_loong64.deb' dpkg-name: info: moved 'libumfpack6_1%3a7.12.2+dfsg-1_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libumfpack6_7.12.2+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libsyntax-keyword-try-perl_0.31-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libsub-exporter-perl_0.990-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-levenshteinxs-perl_0.03-5+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libunicode-utf8-perl_0.72-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libvariable-magic-perl_0.64-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-glob-perl_0.11-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libunbound8_1.25.1-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtest-exception-perl_0.43-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libwebp7_1.5.0-0.1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-cursor0_0.1.6-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-wrapi18n-perl_0.06-11_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-xkb1_1.17.0-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtsan2_16.1.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-sync1_1.17.0-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-randr0_1.17.0-2+b2_loong64.deb' dpkg-name: info: moved 'libxfixes3_1%3a6.0.0-2+b5_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libxfixes3_6.0.0-2+b5_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtinfo6_6.6+20260608-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtry-tiny-perl_0.32-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libwmflite-0.2-7_0.2.14-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-present0_1.17.0-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-reform-perl_1.20-5_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libstring-format-perl_1.18-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libvorbis0a_1.3.7-3+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libsub-name-perl_0.28-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libts0t64_1.22-1.1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libstring-license-perl_0.0.11-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtool_2.5.4-11_all.deb' dpkg-name: info: moved 'libxau6_1%3a1.0.11-1+b2_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libxau6_1.0.11-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libwww-perl_6.83-1_all.deb' dpkg-name: info: moved 'libxext6_2%3a1.3.4-1+b4_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libxext6_1.3.4-1+b4_loong64.deb' dpkg-name: info: moved 'libx11-6_2%3a1.8.13-1_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libx11-6_1.8.13-1_loong64.deb' dpkg-name: info: moved 'libx11-dev_2%3a1.8.13-1_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libx11-dev_1.8.13-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libunistring-dev_1.4.2-1_loong64.deb' dpkg-name: info: moved 'libxdmcp-dev_1%3a1.1.5-2+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libxdmcp-dev_1.1.5-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libstring-rewriteprefix-perl_0.009-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb1_1.17.0-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libsub-install-perl_0.929-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-render-util0_0.3.10-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtime-moment-perl_0.46-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtiff6_4.7.2-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libuuid1_2.42.2-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-shm0_1.17.0-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libwww-mechanize-perl_2.22-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtasn1-6_4.21.0-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-markdown-discount-perl_0.18-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-levenshtein-damerau-perl_0.41-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libwayland-client0_1.25.0-2_loong64.deb' dpkg-name: info: moved 'libsuitesparseconfig7_1%3a7.12.2+dfsg-1_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libsuitesparseconfig7_7.12.2+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libterm-readkey-perl_2.38-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libsub-exporter-progressive-perl_0.001013-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtoml-tiny-perl_0.22-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-util1_0.4.1-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-keysyms1_0.4.1-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libwebpmux3_1.5.0-0.1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libudev1_261.1-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libsystemd0_261.1-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-xinput0_1.17.0-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-xfixes0_1.17.0-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-shape0_1.17.0-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtime-duration-perl_1.21-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libuchardet0_0.0.8-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-dri3-0_1.17.0-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libthai0_0.1.30-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libsz2_1.1.7-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-image0_0.4.0-2+b3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-charwidth-perl_0.04-12_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb1-dev_1.17.0-2+b2_loong64.deb' dpkg-name: info: moved 'libx11-xcb1_2%3a1.8.13-1_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libx11-xcb1_1.8.13-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-autoformat-perl_1.750000-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libunistring5_1.4.2-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libsub-quote-perl_2.006009-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-wrapper-perl_1.05-4_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libstring-escape-perl_2010.002-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libthai-data_0.1.30-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libwayland-cursor0_1.25.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/liburi-perl_5.35-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libvulkan1_1.4.341.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libwacom-common_2.18.0-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtask-weaken-perl_1.06-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-unidecode-perl_1.30-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libsub-uplevel-perl_0.2800-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libwww-robotrules-perl_6.03-1_all.deb' dpkg-name: info: moved 'libx11-data_2%3a1.8.13-1_all.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libx11-data_1.8.13-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libxcb-glx0_1.17.0-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libwayland-egl1_1.25.0-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libsvtav1enc4_4.1.0+dfsg-1_loong64.deb' dpkg-name: info: moved 'libxau-dev_1%3a1.0.11-1+b2_loong64.deb' to '/srv/rebuilderd/tmp/tmpysrsn1h3/libxau-dev_1.0.11-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-template-perl_1.61-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpysrsn1h3/libtext-xslate-perl_3.5.9-2+b2_loong64.deb' Get:1 http://deb.debian.org/debian unstable/main loong64 libxinerama1 loong64 2:1.1.4-3+b5 [16.2 kB] Get:2 http://deb.debian.org/debian unstable/main loong64 libxkbcommon-x11-0 loong64 1.13.1-1 [20.5 kB] Get:3 http://deb.debian.org/debian unstable/main loong64 libxkbcommon0 loong64 1.13.1-1 [142 kB] Get:4 http://deb.debian.org/debian unstable/main loong64 libxml-namespacesupport-perl all 1.12-2 [15.1 kB] Get:5 http://deb.debian.org/debian unstable/main loong64 libxml-sax-base-perl all 1.09-3 [20.6 kB] Get:6 http://deb.debian.org/debian unstable/main loong64 libxml-sax-perl all 1.02+dfsg-5 [53.6 kB] Get:7 http://deb.debian.org/debian unstable/main loong64 libxpm4 loong64 1:3.5.19-1 [59.0 kB] Get:8 http://deb.debian.org/debian unstable/main loong64 libxrender1 loong64 1:0.9.12-1+b2 [28.4 kB] Get:9 http://deb.debian.org/debian unstable/main loong64 libxshmfence1 loong64 1.3.3-1+b2 [11.3 kB] Get:10 http://deb.debian.org/debian unstable/main loong64 libxxf86vm1 loong64 1:1.1.4-2+b1 [20.7 kB] Get:11 http://deb.debian.org/debian unstable/main loong64 libyaml-0-2 loong64 0.2.5-2+b1 [55.7 kB] Get:12 http://deb.debian.org/debian unstable/main loong64 libyaml-pp-perl all 0.41.0-1 [112 kB] Get:13 http://deb.debian.org/debian unstable/main loong64 libyaml-tiny-perl all 1.76-1 [29.8 kB] Get:14 http://deb.debian.org/debian unstable/main loong64 licensecheck all 3.3.9-1 [50.1 kB] Get:15 http://deb.debian.org/debian unstable/main loong64 lzop loong64 1.04-2+b1 [83.6 kB] Get:16 http://deb.debian.org/debian unstable/main loong64 m4 loong64 1.4.21-1 [332 kB] Get:17 http://deb.debian.org/debian unstable/main loong64 make loong64 4.4.1-3+b1 [462 kB] Get:18 http://deb.debian.org/debian unstable/main loong64 man-db loong64 2.13.1-1+b1 [1460 kB] Get:19 http://deb.debian.org/debian unstable/main loong64 mawk loong64 1.3.4.20260302-1 [141 kB] Get:20 http://deb.debian.org/debian unstable/main loong64 ncurses-base all 6.6+20260608-2 [276 kB] Get:21 http://deb.debian.org/debian unstable/main loong64 ncurses-bin loong64 6.6+20260608-2 [442 kB] Get:22 http://deb.debian.org/debian unstable/main loong64 nettle-dev loong64 3.10.2-1+b1 [1501 kB] Get:23 http://deb.debian.org/debian unstable/main loong64 octave-common all 11.3.0-1 [6779 kB] Get:24 http://deb.debian.org/debian unstable/main loong64 octave-io loong64 2.7.2-1 [247 kB] Get:25 http://deb.debian.org/debian unstable/main loong64 patch loong64 2.8-2+b1 [133 kB] Get:26 http://deb.debian.org/debian unstable/main loong64 patchutils loong64 0.4.5-1 [83.6 kB] Get:27 http://deb.debian.org/debian unstable/main loong64 perl-modules-5.40 all 5.40.1-8 [3019 kB] Get:28 http://deb.debian.org/debian unstable/main loong64 perl-openssl-defaults loong64 7+b2 [6732 B] Get:29 http://deb.debian.org/debian unstable/main loong64 perltidy all 20250105-1 [706 kB] Get:30 http://deb.debian.org/debian unstable/main loong64 pkgconf loong64 2.5.1-4 [33.6 kB] Get:31 http://deb.debian.org/debian unstable/main loong64 pkgconf-bin loong64 2.5.1-4 [35.2 kB] Get:32 http://deb.debian.org/debian unstable/main loong64 po-debconf all 1.0.22 [216 kB] Get:33 http://deb.debian.org/debian unstable/main loong64 readline-common all 8.3-4 [74.8 kB] Get:34 http://deb.debian.org/debian unstable/main loong64 rpcsvc-proto loong64 1.4.4-1 [60.8 kB] Get:35 http://deb.debian.org/debian unstable/main loong64 sed loong64 4.9-3 [330 kB] Get:36 http://deb.debian.org/debian unstable/main loong64 sensible-utils all 0.0.26 [27.0 kB] Get:37 http://deb.debian.org/debian unstable/main loong64 shared-mime-info loong64 2.4-5+b2 [755 kB] Get:38 http://deb.debian.org/debian unstable/main loong64 sysvinit-utils loong64 3.18-1 [29.9 kB] Get:39 http://deb.debian.org/debian unstable/main loong64 t1utils loong64 1.41-4+b1 [60.4 kB] Get:40 http://deb.debian.org/debian unstable/main loong64 tex-common all 6.20 [29.7 kB] Get:41 http://deb.debian.org/debian unstable/main loong64 texinfo all 7.3-2 [1877 kB] Get:42 http://deb.debian.org/debian unstable/main loong64 ucf all 3.0056 [47.1 kB] Get:43 http://deb.debian.org/debian unstable/main loong64 x11-common all 1:7.7+26 [217 kB] Get:44 http://deb.debian.org/debian unstable/main loong64 xorg-sgml-doctools all 1:1.12.1-1 [23.9 kB] Get:45 http://deb.debian.org/debian unstable/main loong64 x11proto-dev all 2025.1-1 [605 kB] Get:46 http://deb.debian.org/debian unstable/main loong64 xtrans-dev all 1.6.0-1 [93.5 kB] Get:47 http://deb.debian.org/debian unstable/main loong64 libxxhash0 loong64 0.8.3-2+b2 [20.5 kB] Get:48 http://deb.debian.org/debian unstable/main loong64 xz-utils loong64 5.8.3-1 [740 kB] Get:49 http://deb.debian.org/debian unstable/main loong64 libz3-4 loong64 4.13.3-1.1 [8183 kB] Get:50 http://deb.debian.org/debian unstable/main loong64 zlib1g loong64 1:1.3.dfsg+really1.3.2-3 [87.8 kB] Get:51 http://deb.debian.org/debian unstable/main loong64 zlib1g-dev loong64 1:1.3.dfsg+really1.3.2-3 [986 kB] Get:52 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libxml-libxml-perl loong64 2.0207+dfsg+really+2.0134-8 [310 kB] Get:53 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libxml2-16 loong64 2.15.3+dfsg-1 [649 kB] Get:54 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libxmlb2 loong64 0.3.28-1 [64.7 kB] Get:55 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libxs-parse-keyword-perl loong64 0.49-1+b1 [66.2 kB] Get:56 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libxs-parse-sublike-perl loong64 0.41-1+b1 [50.0 kB] Get:57 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libxstring-perl loong64 0.005-2+b5 [8204 B] Get:58 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libyaml-libyaml-perl loong64 0.910.0+ds-1 [47.5 kB] Get:59 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libyuv0 loong64 0.0.1949.20260706-1 [145 kB] Get:60 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libzstd-dev loong64 1.5.7+dfsg-3+b2 [1326 kB] Get:61 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 libzstd1 loong64 1.5.7+dfsg-3+b2 [287 kB] Get:62 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 lintian all 2.137.1 [1024 kB] Get:63 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 linux-libc-dev all 7.1.3-1 [1963 kB] Get:64 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 mesa-libgallium loong64 26.1.4-1 [9340 kB] Get:65 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 netbase all 6.5 [12.4 kB] Get:66 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 octave loong64 11.3.0-1 [8232 kB] Get:67 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 octave-dev loong64 11.3.0-1 [1109 kB] Get:68 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 openssl loong64 3.6.3-1 [1501 kB] Get:69 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 openssl-provider-legacy loong64 3.6.3-1 [318 kB] Get:70 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 perl loong64 5.40.1-8 [264 kB] Get:71 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 perl-base loong64 5.40.1-8 [1663 kB] Get:72 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 plzip loong64 1.13-1 [63.5 kB] Get:73 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 procps loong64 2:4.0.6-2 [979 kB] Get:74 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 tar loong64 1.35+dfsg-4 [820 kB] Get:75 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 texinfo-lib loong64 7.3-2 [698 kB] Get:76 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 tzdata all 2026b-1 [260 kB] Get:77 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 unzip loong64 6.0-29+b1 [176 kB] Get:78 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 util-linux loong64 2.42.2-1 [1211 kB] Get:79 http://snapshot.debian.org/archive/debian/20260710T022047Z unstable/main loong64 xkb-data all 2.47-1 [835 kB] Get:80 http://snapshot.debian.org/archive/debian/20260725T082357Z unstable/main loong64 octave-datatypes loong64 1.2.6-1 [835 kB] Fetched 65.1 MB in 1s (88.8 MB/s) dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/mawk_1.3.4.20260302-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libzstd-dev_1.5.7+dfsg-3+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxxhash0_0.8.3-2+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/mesa-libgallium_26.1.4-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/shared-mime-info_2.4-5+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/openssl_3.6.3-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/licensecheck_3.3.9-1_all.deb' dpkg-name: info: moved 'procps_2%3a4.0.6-2_loong64.deb' to '/srv/rebuilderd/tmp/tmpv9qn4b0o/procps_4.0.6-2_loong64.deb' dpkg-name: info: moved 'libxinerama1_2%3a1.1.4-3+b5_loong64.deb' to '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxinerama1_1.1.4-3+b5_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/make_4.4.1-3+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/util-linux_2.42.2-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/texinfo_7.3-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/unzip_6.0-29+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/sed_4.9-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/netbase_6.5_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxs-parse-sublike-perl_0.41-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/rpcsvc-proto_1.4.4-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxstring-perl_0.005-2+b5_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/tex-common_6.20_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/sysvinit-utils_3.18-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxkbcommon0_1.13.1-1_loong64.deb' dpkg-name: info: moved 'zlib1g_1%3a1.3.dfsg+really1.3.2-3_loong64.deb' to '/srv/rebuilderd/tmp/tmpv9qn4b0o/zlib1g_1.3.dfsg+really1.3.2-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/xtrans-dev_1.6.0-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/octave-dev_11.3.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/ucf_3.0056_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libzstd1_1.5.7+dfsg-3+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxml-sax-perl_1.02+dfsg-5_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/t1utils_1.41-4+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/lintian_2.137.1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/perltidy_20250105-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libyaml-0-2_0.2.5-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/perl-openssl-defaults_7+b2_loong64.deb' dpkg-name: info: moved 'xorg-sgml-doctools_1%3a1.12.1-1_all.deb' to '/srv/rebuilderd/tmp/tmpv9qn4b0o/xorg-sgml-doctools_1.12.1-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/tar_1.35+dfsg-4_loong64.deb' dpkg-name: info: moved 'libxrender1_1%3a0.9.12-1+b2_loong64.deb' to '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxrender1_0.9.12-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/octave-common_11.3.0-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/openssl-provider-legacy_3.6.3-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/plzip_1.13-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/octave-io_2.7.2-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/xz-utils_5.8.3-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxml2-16_2.15.3+dfsg-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/tzdata_2026b-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/octave-datatypes_1.2.6-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/readline-common_8.3-4_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxml-sax-base-perl_1.09-3_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/octave_11.3.0-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/perl-modules-5.40_5.40.1-8_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxml-libxml-perl_2.0207+dfsg+really+2.0134-8_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libyaml-tiny-perl_1.76-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/patchutils_0.4.5-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/pkgconf_2.5.1-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxs-parse-keyword-perl_0.49-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/man-db_2.13.1-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/sensible-utils_0.0.26_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/perl_5.40.1-8_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/ncurses-base_6.6+20260608-2_all.deb' dpkg-name: info: moved 'zlib1g-dev_1%3a1.3.dfsg+really1.3.2-3_loong64.deb' to '/srv/rebuilderd/tmp/tmpv9qn4b0o/zlib1g-dev_1.3.dfsg+really1.3.2-3_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/x11proto-dev_2025.1-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/m4_1.4.21-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/nettle-dev_3.10.2-1+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/lzop_1.04-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxkbcommon-x11-0_1.13.1-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/perl-base_5.40.1-8_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/patch_2.8-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/linux-libc-dev_7.1.3-1_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxml-namespacesupport-perl_1.12-2_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libyuv0_0.0.1949.20260706-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libyaml-libyaml-perl_0.910.0+ds-1_loong64.deb' dpkg-name: info: moved 'x11-common_1%3a7.7+26_all.deb' to '/srv/rebuilderd/tmp/tmpv9qn4b0o/x11-common_7.7+26_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/texinfo-lib_7.3-2_loong64.deb' dpkg-name: info: moved 'libxxf86vm1_1%3a1.1.4-2+b1_loong64.deb' to '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxxf86vm1_1.1.4-2+b1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/po-debconf_1.0.22_all.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libz3-4_4.13.3-1.1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/pkgconf-bin_2.5.1-4_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/xkb-data_2.47-1_all.deb' dpkg-name: info: moved 'libxpm4_1%3a3.5.19-1_loong64.deb' to '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxpm4_3.5.19-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/ncurses-bin_6.6+20260608-2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxmlb2_0.3.28-1_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libxshmfence1_1.3.3-1+b2_loong64.deb' dpkg-name: warning: skipping '/srv/rebuilderd/tmp/tmpv9qn4b0o/libyaml-pp-perl_0.41.0-1_all.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 loong64 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_loong64.buildinfo dpkg-genchanges --build=binary -O../debootsnap-dummy_1.0_loong64.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/tmpt9jngz2o/cache directory, not in ".." as indicated by the message above! I: automatically chosen mode: unshare I: chroot architecture loong64 is equal to the host's architecture I: using /srv/rebuilderd/tmp/mmdebstrap.ZvaSxSMH56 as tempdir I: running --setup-hook directly: /usr/share/mmdebstrap/hooks/maybe-merged-usr/setup00.sh /srv/rebuilderd/tmp/mmdebstrap.ZvaSxSMH56 127.0.0.1 - - [05/Sep/2026 22:01:49] code 404, message File not found 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./InRelease HTTP/1.1" 404 - Ign:1 http://localhost:42267 ./ InRelease 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./Release HTTP/1.1" 200 - Get:2 http://localhost:42267 ./ Release [462 B] 127.0.0.1 - - [05/Sep/2026 22:01:49] code 404, message File not found 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./Release.gpg HTTP/1.1" 404 - Ign:3 http://localhost:42267 ./ Release.gpg 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./Packages HTTP/1.1" 200 - Get:4 http://localhost:42267 ./ Packages [846 kB] Fetched 847 kB in 0s (19.4 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 - - [05/Sep/2026 22:01:49] "GET /./gcc-16-base_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libc-gconv-modules-extra_2.42-17_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libc6_2.42-17_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libgcc-s1_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./mawk_1.3.4.20260302-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./base-files_14.2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libtinfo6_6.6%2b20260608-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./debianutils_5.23.2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./bash_5.3-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libacl1_2.4.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libattr1_2.6.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libgmp10_6.3.0%2bdfsg-5%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libpcre2-8-0_10.46-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libselinux1_3.10-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libzstd1_1.5.7%2bdfsg-3%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./zlib1g_1.3.dfsg%2breally1.3.2-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libssl3t64_3.6.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./openssl-provider-legacy_3.6.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libsystemd0_261.1-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./coreutils_9.10-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./dash_0.5.12-12%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./diffutils_3.12-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:49] "GET /./libbz2-1.0_1.0.8-6%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./liblzma5_5.8.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libmd0_1.2.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./tar_1.35%2bdfsg-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./dpkg_1.23.7_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./findutils_4.10.0-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./grep_3.12-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./gzip_1.13-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./hostname_3.25%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./ncurses-bin_6.6%2b20260608-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libcrypt1_4.5.1-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./perl-base_5.40.1-8_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./sed_4.9-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libaudit-common_4.1.2-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libcap-ng0_0.9.3-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libaudit1_4.1.2-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libdb5.3t64_5.3.28%2bdfsg2-11%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./debconf_1.5.92_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libpam0g_1.7.0-8_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libpam-modules-bin_1.7.0-8_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libpam-modules_1.7.0-8_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libpam-runtime_1.7.0-8_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libblkid1_2.42.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libmount1_2.42.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libsmartcols1_2.42.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libudev1_261.1-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libuuid1_2.42.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./util-linux_2.42.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libdebconfclient0_0.283_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./base-passwd_3.6.8%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./init-system-helpers_1.69_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./libc-bin_2.42-17_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./ncurses-base_6.6%2b20260608-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:01:50] "GET /./sysvinit-utils_3.18-1_loong64.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.ZvaSxSMH56 127.0.0.1 - - [05/Sep/2026 22:01:52] code 404, message File not found 127.0.0.1 - - [05/Sep/2026 22:01:52] "GET /./InRelease HTTP/1.1" 404 - Ign:1 http://localhost:42267 ./ InRelease 127.0.0.1 - - [05/Sep/2026 22:01:52] "GET /./Release HTTP/1.1" 304 - Hit:2 http://localhost:42267 ./ Release 127.0.0.1 - - [05/Sep/2026 22:01:52] code 404, message File not found 127.0.0.1 - - [05/Sep/2026 22:01:52] "GET /./Release.gpg HTTP/1.1" 404 - Ign:3 http://localhost:42267 ./ 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.ZvaSxSMH56 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 - - [05/Sep/2026 22:02:01] "GET /./libexpat1_2.8.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./sensible-utils_0.0.26_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./tzdata_2026b-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./libstdc%2b%2b6_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./libuchardet0_0.0.8-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./groff-base_1.24.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./bsdextrautils_2.42.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./libgdbm6t64_1.26-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./libpipeline1_1.5.8-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./man-db_2.13.1-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./netbase_6.5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./libncursesw6_6.6%2b20260608-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./libproc2-1_4.0.6-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./procps_4.0.6-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./bzip2_1.0.8-6%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./openssl_3.6.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./ca-certificates_20260601_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./libmagic-mgc_5.47-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./libmagic1t64_5.47-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./file_5.47-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./gettext-base_1.0-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./perl-modules-5.40_5.40.1-8_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./libgdbm-compat4t64_1.26-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:01] "GET /./libperl5.40_5.40.1-8_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./perl_5.40.1-8_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libtext-charwidth-perl_0.04-12_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libtext-wrapi18n-perl_0.06-11_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./ucf_3.0056_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./xz-utils_5.8.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./aglfn_1.7%2bgit20191031.4036a9c-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libatomic1_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libffi8_3.5.2-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libglib2.0-0t64_2.88.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libxml2-16_2.15.3%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./shared-mime-info_2.4-5%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libnghttp3-9_1.15.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libngtcp2-16_1.22.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libbrotli1_1.2.0-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libnettle8t64_3.10.2-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libhogweed6t64_3.10.2-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libunistring5_1.4.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libidn2-0_2.3.8-5_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libp11-kit0_0.26.4-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libtasn1-6_4.21.0-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libgnutls30t64_3.8.13-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libkrb5support0_1.22.1-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libcom-err2_1.47.4-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libk5crypto3_1.22.1-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libkeyutils1_1.6.3-6%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libkrb5-3_1.22.1-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libgssapi-krb5-2_1.22.1-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libsasl2-modules-db_2.1.28%2bdfsg1-11_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libsasl2-2_2.1.28%2bdfsg1-11_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libldap2_2.6.13%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libnghttp2-14_1.69.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libngtcp2-crypto-gnutls8_1.22.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libpsl5t64_0.22.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libssh2-1t64_1.11.1-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libcurl4-gnutls_8.21.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libfyaml0_0.9.4-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libstemmer0d_3.1.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libxmlb2_0.3.28-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libappstream5_1.1.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./appstream_1.1.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./m4_1.4.21-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./autoconf_2.73-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./autotools-dev_20240727.1%2bnmu1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./automake_1.18.1-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./autopoint_1.0-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./binutils-common_2.46.50.20260617-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libsframe3_2.46.50.20260617-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libbinutils_2.46.50.20260617-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libctf-nobfd0_2.46.50.20260617-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libctf0_2.46.50.20260617-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libjansson4_2.15.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./binutils-loongarch64-linux-gnu_2.46.50.20260617-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./binutils_2.46.50.20260617-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libc-dev-bin_2.42-17_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./linux-libc-dev_7.1.3-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./rpcsvc-proto_1.4.4-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libc6-dev_2.42-17_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./gcc-15-base_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libisl23_0.27-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libmpfr6_4.2.2-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libmpc3_1.3.1-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./cpp-15-loongarch64-linux-gnu_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./cpp-15_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./cpp-loongarch64-linux-gnu_15.2.0-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./cpp_15.2.0-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libcc1-0_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libgomp1_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libitm1_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libasan8_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./liblsan0_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libtsan2_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libubsan1_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./libgcc-15-dev_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:02] "GET /./gcc-15-loongarch64-linux-gnu_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./gcc-15_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./gcc-loongarch64-linux-gnu_15.2.0-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./gcc_15.2.0-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libstdc%2b%2b-15-dev_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./g%2b%2b-15-loongarch64-linux-gnu_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./g%2b%2b-15_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./g%2b%2b-loongarch64-linux-gnu_15.2.0-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./g%2b%2b_15.2.0-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./make_4.4.1-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libdpkg-perl_1.23.7_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./patch_2.8-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./dpkg-dev_1.23.7_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./build-essential_12.12%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libcapture-tiny-perl_0.50-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libparams-util-perl_1.102-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libsub-install-perl_0.929-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libdata-optlist-perl_0.114-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libb-hooks-op-check-perl_0.22-3%2bb4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libdynaloader-functions-perl_0.004-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libdevel-callchecker-perl_0.009-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libparams-classify-perl_0.015-2%2bb5_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libmodule-runtime-perl_0.018-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libtry-tiny-perl_0.32-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libmodule-implementation-perl_0.09-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libpackage-stash-perl_0.40-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libclass-load-perl_0.25-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libio-stringy-perl_2.113-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libparams-validate-perl_1.31-2%2bb4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libsub-exporter-perl_0.990-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libgetopt-long-descriptive-perl_0.117-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libio-tiecombine-perl_1.005-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libmodule-pluggable-perl_6.3-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libstring-rewriteprefix-perl_0.009-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libapp-cmd-perl_0.340-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libboolean-perl_0.46-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libsub-uplevel-perl_0.2800-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libtest-exception-perl_0.43-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libcarp-assert-more-perl_2.9.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libfile-which-perl_1.27-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libfile-homedir-perl_1.006-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libclone-choose-perl_0.010-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libhash-merge-perl_0.302-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libexporter-tiny-perl_1.006003-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./liblist-moreutils-xs-perl_0.430-4%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./liblist-moreutils-perl_0.430-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./liblog-log4perl-perl_1.57-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libmouse-perl_2.6.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libmousex-nativetraits-perl_1.09-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libmousex-strictconstructor-perl_0.02-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libparse-recdescent-perl_1.967015%2bdfsg-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libpath-tiny-perl_0.150-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libregexp-common-perl_2024080801-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libconfig-model-perl_2.165-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libjson-perl_4.10000-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libpod-pom-perl_2.01-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libyaml-pp-perl_0.41.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./cme_1.049-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./comerr-dev_2.1-1.47.4-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libdebhelper-perl_14.3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libtool_2.5.4-11_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./dh-autoreconf_22_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libarchive-zip-perl_1.68-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libfile-stripnondeterminism-perl_1.15.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./dh-strip-nondeterminism_1.15.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libelf1t64_0.195-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./dwz_0.16-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./gettext_1.0-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./intltool-debian_0.35.0%2b20060710.6_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./po-debconf_1.0.22_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./debhelper_14.3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libaom3_3.13.1-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libbrotli-dev_1.2.0-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libngtcp2-crypto-ossl0_1.22.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libcurl4t64_8.21.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libidn2-dev_2.3.8-5_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libgssrpc4t64_1.22.1-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libkadm5clnt-mit12_1.22.1-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libkdb5-10t64_1.22.1-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libkadm5srv-mit12_1.22.1-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./krb5-multidev_1.22.1-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libkrb5-dev_1.22.1-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libldap-dev_2.6.13%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libpkgconf7_2.5.1-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./pkgconf-bin_2.5.1-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./pkgconf_2.5.1-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libnghttp2-dev_1.69.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libnghttp3-dev_1.15.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libngtcp2-crypto-ossl-dev_1.22.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libngtcp2-dev_1.22.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libunistring-dev_1.4.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libpsl-dev_0.22.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./librtmp1_2.6-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libgmpxx4ldbl_6.3.0%2bdfsg-5%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libgmp-dev_6.3.0%2bdfsg-5%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libevent-2.1-7t64_2.1.13-stable-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libunbound8_1.25.1-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libgnutls-dane0t64_3.8.13-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libp11-kit-dev_0.26.4-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libtasn1-6-dev_4.21.0-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./nettle-dev_3.10.2-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libgnutls28-dev_3.8.13-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./zlib1g-dev_1.3.dfsg%2breally1.3.2-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./librtmp-dev_2.6-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libssl-dev_3.6.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libssh2-1-dev_1.11.1-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libzstd-dev_1.5.7%2bdfsg-3%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libcurl4-openssl-dev_8.21.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libwacom-common_2.18.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libpod-parser-perl_1.67-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libpod-constants-perl_0.19-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libsuitesparseconfig7_7.12.2%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libamd3_7.12.2%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libblas3_3.12.1-8_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./libgfortran5_16.1.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:03] "GET /./liblapack3_3.12.1-8_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libarpack2t64_3.9.1-6%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libccolamd3_7.12.2%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libcamd3_7.12.2%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libcolamd3_7.12.2%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libcholmod5_7.12.2%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libcxsparse4_7.12.2%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libfftw3-double3_3.3.11-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libfftw3-single3_3.3.11-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libpng16-16t64_1.6.58-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libfreetype6_2.14.3%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./fonts-freefont-otf_20211204%2bsvn4273-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./fontconfig-config_2.17.1-5_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libfontconfig1_2.17.1-5_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libpixman-1-0_0.46.4-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxau6_1.0.11-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxdmcp6_1.1.5-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxcb1_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libx11-data_1.8.13-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libx11-6_1.8.13-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxcb-render0_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxcb-shm0_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxext6_1.3.4-1%2bb4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxrender1_0.9.12-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libcairo2_1.18.4-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libdbus-1-3_1.16.2-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libwayland-client0_1.25.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libdecor-0-0_0.2.5-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./fontconfig_2.17.1-5_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libfribidi0_1.0.16-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libgraphite2-3_1.3.15-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libharfbuzz0b_12.3.2-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libthai-data_0.1.30-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libdatrie1_0.2.14-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libthai0_0.1.30-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libpango-1.0-0_1.58.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libpangoft2-1.0-0_1.58.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libpangocairo-1.0-0_1.58.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libwayland-cursor0_1.25.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxfixes3_6.0.0-2%2bb5_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxcursor1_1.2.3-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxinerama1_1.1.4-3%2bb5_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./xkb-data_2.47-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxkbcommon0_1.13.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libfltk1.4_1.4.4-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libglvnd0_1.7.0-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libdrm-common_2.4.134-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libdrm2_2.4.134-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libdrm-amdgpu1_2.4.134-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libbsd0_0.12.2-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libedit2_3.1-20260512-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libz3-4_4.13.3-1.1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libllvm21_21.1.8-7%2bb4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libsensors-config_3.6.2-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libsensors5_3.6.2-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libx11-xcb1_1.8.13-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxcb-dri3-0_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxcb-present0_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxcb-randr0_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxcb-sync1_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxcb-xfixes0_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxshmfence1_1.3.3-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./mesa-libgallium_26.1.4-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libgbm1_26.1.4-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libegl-mesa0_26.1.4-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libegl1_1.7.0-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libvulkan1_1.4.341.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libgl1-mesa-dri_26.1.4-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxcb-glx0_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libxxf86vm1_1.1.4-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libglx-mesa0_26.1.4-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libglx0_1.7.0-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libgl1_1.7.0-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libopengl0_1.7.0-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libglu1-mesa_9.0.2-1.1%2bb4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libwayland-egl1_1.25.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libfltk-gl1.4_1.4.4-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libgl2ps1.4_1.4.2%2bdfsg1-4%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libltdl7_2.5.4-11_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:04] "GET /./libglpk40_5.0-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libsharpyuv0_1.5.0-0.1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libde265-0_1.1.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libheif-plugin-libde265_1.23.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libdav1d7_1.5.3-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libheif-plugin-dav1d_1.23.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libheif1_1.23.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libjbig0_2.1-6.1%2bb3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libjpeg62-turbo_3.1.3-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./liblcms2-2_2.19.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libjxl0.11_0.11.2-5_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libdeflate0_1.25-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./liblerc4_4.1.1%2bds-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libwebp7_1.5.0-0.1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libtiff6_4.7.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libwebpmux3_1.5.0-0.1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libwmflite-0.2-7_0.2.14-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libgraphicsmagick-q16-3t64_1.4%2breally1.3.46-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libgraphicsmagick%2b%2b-q16-12t64_1.4%2breally1.3.46-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libsz2_1.1.7-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libhdf5-310_1.14.6%2brepack-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libasound2-data_1.2.16.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libasound2t64_1.2.16.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libopus0_1.6.1-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libsamplerate0_0.2.2-4%2bb3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libjack-jackd2-0_1.9.22%7edfsg-5%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libportaudio2_19.7.0-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqhull-r8.0_2020.2-9_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqrupdate1_1.1.5-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqscintilla2-qt6-l10n_2.14.1%2bdfsg-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libb2-1_0.98.1-1.1%2bb3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libdouble-conversion3_3.4.0-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libicu78_78.3-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libpcre2-16-0_10.46-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6core6t64_6.10.2%2bdfsg-15_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./x11-common_7.7%2b26_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libice6_1.1.1-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libevdev2_1.13.6%2bdfsg-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libmtdev1t64_1.1.7-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libgudev-1.0-0_238-7%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libwacom9_2.18.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libinput-bin_1.31.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libinput10_1.31.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libmd4c0_0.5.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6dbus6_6.10.2%2bdfsg-15_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libsm6_1.2.6-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libts0t64_1.22-1.1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxcb-util1_0.4.1-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxcb-image0_0.4.0-2%2bb3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxcb-render-util0_0.3.10-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxcb-cursor0_0.1.6-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxcb-icccm4_0.4.2-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxcb-keysyms1_0.4.1-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxcb-shape0_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxcb-xinput0_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxcb-xkb1_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxkbcommon-x11-0_1.13.1-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6gui6_6.10.2%2bdfsg-15_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libavahi-common-data_0.8-18_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libavahi-common3_0.8-18_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libavahi-client3_0.8-18_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libcups2t64_2.4.18-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6widgets6_6.10.2%2bdfsg-15_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6printsupport6_6.10.2%2bdfsg-15_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqscintilla2-qt6-15_2.14.1%2bdfsg-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6core5compat6_6.10.2-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6sql6_6.10.2%2bdfsg-15_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6help6_6.10.2-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libcurl3t64-gnutls_8.21.0-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libduktape207_2.7.0-2%2bb3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libproxy1v5_0.5.12-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6network6_6.10.2%2bdfsg-15_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6opengl6_6.10.2%2bdfsg-15_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6openglwidgets6_6.10.2%2bdfsg-15_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libqt6xml6_6.10.2%2bdfsg-15_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./readline-common_8.3-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libreadline8t64_8.3-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libogg0_1.3.6-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libflac14_1.5.0%2bds-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libmpg123-0t64_1.33.6-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libmp3lame0_3.101%7esvn6531%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libvorbis0a_1.3.7-3%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libvorbisenc2_1.3.7-3%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libsndfile1_1.2.2-4%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libspqr4_7.12.2%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libumfpack6_7.12.2%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libtext-unidecode-perl_1.30-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libintl-perl_1.37-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxml-namespacesupport-perl_1.12-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxml-sax-base-perl_1.09-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxml-sax-perl_1.02%2bdfsg-5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./libxml-libxml-perl_2.0207%2bdfsg%2breally%2b2.0134-8_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./texinfo-lib_7.3-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./tex-common_6.20_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./texinfo_7.3-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./octave-common_11.3.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:05] "GET /./octave_11.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./octave-datatypes_1.2.6-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libfftw3-long3_3.3.11-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libmarkdown2_2.2.7-2.1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtimedate-perl_2.3500-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhttp-date-perl_6.08-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libfile-listing-perl_6.16-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsort-versions-perl_1.62-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblua5.4-0_5.4.8-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtext-glob-perl_0.11-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhtml-tagset-perl_3.24-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liburi-perl_5.35-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhtml-parser-perl_3.83-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libcgi-pm-perl_4.72-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libclone-perl_0.50-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libencode-locale-perl_1.05-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libio-html-perl_1.004-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblwp-mediatypes-perl_6.04-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhttp-message-perl_7.02-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhtml-form-perl_6.13-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhtml-tree-perl_5.07-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhttp-cookies-perl_6.11-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhttp-negotiate-perl_6.01-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./perl-openssl-defaults_7%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libnet-ssleay-perl_1.96-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libio-socket-ssl-perl_2.099-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libnet-http-perl_6.24-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblwp-protocol-https-perl_6.15-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libwww-robotrules-perl_6.03-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libwww-perl_6.83-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libwww-mechanize-perl_2.22-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libalgorithm-c3-perl_0.11-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libclass-c3-perl_0.35-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libmro-compat-perl_0.15-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdata-section-perl_0.200008-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblzo2-2_2.10-3%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libset-intspan-perl_1.19-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libstring-copyright-perl_0.003014-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libgpg-error0_1.61-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libassuan9_3.0.2-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libgcrypt20_1.12.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./gpgconf_2.4.9-7_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libksba8_1.8.0-3_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libnpth0t64_1.8-3%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsqlite3-0_3.53.3-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./gpg_2.4.9-7_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libemail-address-xs-perl_1.05-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libclass-data-inheritable-perl_0.10-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libaliased-perl_0.34-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libstrictures-perl_2.000006-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsub-exporter-progressive-perl_0.001013-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libconst-fast-perl_0.014-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libarray-intspan-perl_2.004-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libclass-inspector-perl_1.36-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libfile-sharedir-perl_1.118-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libxs-parse-keyword-perl_0.49-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libnumber-compare-perl_0.03-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libpath-iterator-rule-perl_1.015-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdata-messagepack-perl_1.02-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtext-xslate-perl_3.5.9-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhtml-html5-entities-perl_0.004-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libvariable-magic-perl_0.64-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libb-hooks-endofscope-perl_0.28-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsub-identify-perl_0.14-4%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsub-name-perl_0.28-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libnamespace-clean-perl_0.27-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libnamespace-autoclean-perl_0.31-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libeval-closure-perl_0.14-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdevel-stacktrace-perl_2.0500-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libexception-class-perl_1.45-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libparams-validationcompiler-perl_0.31-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libclone-pp-perl_1.08-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libclass-method-modifiers-perl_2.15-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./librole-tiny-perl_2.002005-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsub-quote-perl_2.006009-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libxstring-perl_0.005-2%2bb5_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libspecio-perl_0.53-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdatetime-locale-perl_1.45-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libclass-singleton-perl_1.6-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdatetime-timezone-perl_2.69-1%2b2026c_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdatetime-perl_1.65-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdatetime-format-strptime-perl_1.8000-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdatetime-format-builder-perl_0.8300-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdatetime-format-iso8601-perl_0.19-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdatetime-format-rfc3339-perl_1.10.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtoml-tiny-perl_0.22-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libxxhash0_0.8.3-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblz4-1_1.10.0-10_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libapt-pkg7.0_3.3.1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libapt-pkg-perl_0.1.43%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./iso-codes_4.20.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libio-interactive-perl_1.027-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libgfortran-15-dev_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./gfortran-15-loongarch64-linux-gnu_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./gfortran-15_15.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libblas-dev_3.12.1-8_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libjpeg62-turbo-dev_3.1.3-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblog-any-perl_1.720-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblist-utilsby-perl_0.12-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./lzop_1.04-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libimagequant0_4.4.1-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsvtav1enc4_4.1.0%2bdfsg-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhdf5-hl-310_1.14.6%2brepack-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhdf5-hl-cpp-310_1.14.6%2brepack-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libfile-libmagic-perl_1.23-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libstring-escape-perl_2010.002-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./xorg-sgml-doctools_1.12.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libterm-readkey-perl_2.38-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libxs-parse-sublike-perl_0.41-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtext-markdown-discount-perl_0.18-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtext-template-perl_1.61-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsafe-isa-perl_1.000010-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libabsl20260107_20260107.0-5_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libgav1-2_0.20.0-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libconvert-binhex-perl_1.125-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libnet-smtp-ssl-perl_1.04-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libmailtools-perl_2.22-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libmime-tools-perl_5.517-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libio-string-perl_1.08-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libclass-xsaccessor-perl_1.19-4%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libimport-into-perl_1.002005-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libmoo-perl_2.005005-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libmoox-aliases-perl_0.001006-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./x11proto-dev_2025.1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libxdmcp-dev_1.1.5-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libnet-domain-tld-perl_1.75-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdata-validate-domain-perl_0.15-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libconfig-tiny-perl_2.30-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhdf5-fortran-310_1.14.6%2brepack-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhdf5-hl-fortran-310_1.14.6%2brepack-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtask-weaken-perl_1.06-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsereal-encoder-perl_5.006%2bds-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsyntax-keyword-try-perl_0.31-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libfeature-compat-try-perl_0.05-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libyaml-0-2_0.2.5-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libyaml-libyaml-perl_0.910.0%2bds-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libconfig-model-backend-yaml-perl_2.134-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libiterator-perl_0.03%2bds1-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libiterator-util-perl_0.02%2bds1-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libregexp-pattern-license-perl_3.11.2-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libyuv0_0.0.1949.20260706-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libavif16_1.4.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libnetaddr-ip-perl_4.079%2bdfsg-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libfile-find-rule-perl_0.35-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhdf5-cpp-310_1.14.6%2brepack-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libjpeg-dev_3.1.3-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libaec0_1.1.7-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libaec-dev_1.1.7-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./hdf5-helpers_1.14.6%2brepack-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhdf5-dev_1.14.6%2brepack-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./octave-io_2.7.2-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./gfortran-loongarch64-linux-gnu_15.2.0-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libconfig-inifiles-perl_3.000003-5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsoftware-copyright-perl_0.015-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblz1_1.16-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./plzip_1.13-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libcpanel-json-xs-perl_4.42-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libjson-maybexs-perl_1.004008-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libfftw3-bin_3.3.11-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblingua-en-inflect-perl_1.905-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libxau-dev_1.0.11-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libxcb1-dev_1.17.0-2%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libxpm4_3.5.19-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libgd3_2.3.3-13%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libnet-ipv6addr-perl_1.02-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdata-dpath-perl_0.60-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./unzip_6.0-29%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libproc-processtable-perl_0.637-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libindirect-perl_0.39-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libobject-pad-perl_0.825-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libfeature-compat-class-perl_0.08-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libipc-system-simple-perl_1.30-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libmldbm-perl_2.05-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libncurses6_6.6%2b20260608-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libncurses-dev_6.6%2b20260608-2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblist-someutils-perl_0.59-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtime-moment-perl_0.46-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblog-any-adapter-screen-perl_0.141-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libregexp-pattern-perl_0.2.14-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libstring-license-perl_0.0.11-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./licensecheck_3.3.9-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./gnuplot-data_6.0.3%2bdfsg1-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./gnuplot-nox_6.0.3%2bdfsg1-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libppi-perl_1.291-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./xtrans-dev_1.6.0-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdevel-size-perl_0.87-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libhtml-tokeparser-simple-perl_3.16-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtext-levenshtein-damerau-perl_0.41-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./dh-octave-autopkgtest_1.16.0_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libexporter-lite-perl_0.09-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liberror-perl_0.17030-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libparse-debcontrol-perl_2.005-6_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsoftware-license-perl_0.104007-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libyaml-tiny-perl_1.76-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsoftware-licensemoreutils-perl_1.009-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtext-reform-perl_1.20-5_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtext-autoformat-perl_1.750000-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./diffstat_1.69-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libberkeleydb-perl_0.66-2%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libnet-netmask-perl_2.0003-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdata-validate-ip-perl_0.31-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libdata-validate-uri-perl_0.07-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libfile-basedir-perl_0.09-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libfont-ttf-perl_1.06-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libipc-run3-perl_0.049-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblist-compare-perl_0.55-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libperlio-gzip-perl_0.20-1%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libperlio-utf8-strict-perl_0.010-1%2bb2_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libregexp-wildcards-perl_1.05-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libsereal-decoder-perl_5.006%2bds-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtext-levenshteinxs-perl_0.03-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtime-duration-perl_1.21-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libunicode-utf8-perl_0.72-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./patchutils_0.4.5-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./t1utils_1.41-4%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./lintian_2.137.1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libconfig-model-dpkg-perl_3.024_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libb-keywords-perl_1.29-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libclass-tiny-perl_1.008-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libpod-spell-perl_1.27-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libreadonly-perl_2.050-3_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libppix-quotelike-perl_0.024-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libppix-regexp-perl_0.092-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libppix-utils-perl_0.003-2_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libstring-format-perl_1.18-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./perltidy_20250105-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libperl-critic-perl_1.156-1_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libtext-wrapper-perl_1.05-4_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libreadline-dev_8.3-4_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libx11-dev_1.8.13-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libglx-dev_1.7.0-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./libgl-dev_1.7.0-3%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:06] "GET /./liblapack-dev_3.12.1-8_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:07] "GET /./libfftw3-dev_3.3.11-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:07] "GET /./gfortran_15.2.0-5%2bb1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:07] "GET /./octave-dev_11.3.0-1_loong64.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:07] "GET /./dh-octave_1.16.0_all.deb HTTP/1.1" 200 - 127.0.0.1 - - [05/Sep/2026 22:02:07] "GET /./debootsnap-dummy_1.0_all.deb HTTP/1.1" 200 - I: running --customize-hook directly: /srv/rebuilderd/tmp/tmpt9jngz2o/apt_install.sh /srv/rebuilderd/tmp/mmdebstrap.ZvaSxSMH56 Reading package lists... Building dependency tree... Reading state information... gfortran-15-loongarch64-linux-gnu is already the newest version (15.3.0-1). gfortran-15-loongarch64-linux-gnu set to manually installed. libarray-intspan-perl is already the newest version (2.004-2). libarray-intspan-perl set to manually installed. libarchive-zip-perl is already the newest version (1.68-1). libarchive-zip-perl set to manually installed. automake is already the newest version (1:1.18.1-4). automake set to manually installed. libaudit-common is already the newest version (1:4.1.2-1). libaom3 is already the newest version (3.13.1-2+b1). libaom3 set to manually installed. libapt-pkg7.0 is already the newest version (3.3.1). libapt-pkg7.0 set to manually installed. gcc-loongarch64-linux-gnu is already the newest version (4:15.2.0-5+b1). gcc-loongarch64-linux-gnu set to manually installed. dash is already the newest version (0.5.12-12+b1). libalgorithm-c3-perl is already the newest version (0.11-2). libalgorithm-c3-perl set to manually installed. gettext is already the newest version (1.0-3). gettext set to manually installed. libavahi-common-data is already the newest version (0.8-18). libavahi-common-data set to manually installed. libappstream5 is already the newest version (1.1.3-1). libappstream5 set to manually installed. gnuplot-nox is already the newest version (6.0.3+dfsg1-1+b1). gnuplot-nox set to manually installed. libassuan9 is already the newest version (3.0.2-2+b2). libassuan9 set to manually installed. libb-keywords-perl is already the newest version (1.29-1). libb-keywords-perl set to manually installed. binutils-common is already the newest version (2.46.50.20260617-1). binutils-common set to manually installed. debianutils is already the newest version (5.23.2+b1). libattr1 is already the newest version (1:2.6.0-1). cpp-15 is already the newest version (15.3.0-1). cpp-15 set to manually installed. libaliased-perl is already the newest version (0.34-3). libaliased-perl set to manually installed. init-system-helpers is already the newest version (1.69). gcc-16-base is already the newest version (16.1.0-2). gcc-15-loongarch64-linux-gnu is already the newest version (15.3.0-1). gcc-15-loongarch64-linux-gnu set to manually installed. iso-codes is already the newest version (4.20.1-1). iso-codes set to manually installed. dh-octave-autopkgtest is already the newest version (1.16.0). dh-octave-autopkgtest set to manually installed. gfortran-loongarch64-linux-gnu is already the newest version (4:15.2.0-5+b1). gfortran-loongarch64-linux-gnu set to manually installed. file is already the newest version (1:5.47-4). file set to manually installed. fonts-freefont-otf is already the newest version (20211204+svn4273-4). fonts-freefont-otf set to manually installed. fontconfig is already the newest version (2.17.1-5). fontconfig set to manually installed. dh-octave is already the newest version (1.16.0). dh-octave set to manually installed. cme is already the newest version (1.049-1). cme set to manually installed. base-passwd is already the newest version (3.6.8+b1). dwz is already the newest version (0.16-4). dwz set to manually installed. autopoint is already the newest version (1.0-3). autopoint set to manually installed. libabsl20260107 is already the newest version (20260107.0-5). libabsl20260107 set to manually installed. bzip2 is already the newest version (1.0.8-6+b2). bzip2 set to manually installed. dpkg is already the newest version (1.23.7). bash is already the newest version (5.3-3). bsdextrautils is already the newest version (2.42.2-1). bsdextrautils set to manually installed. findutils is already the newest version (4.10.0-4). libamd3 is already the newest version (1:7.12.2+dfsg-1). libamd3 set to manually installed. gettext-base is already the newest version (1.0-3). gettext-base set to manually installed. dpkg-dev is already the newest version (1.23.7). dpkg-dev set to manually installed. gpg is already the newest version (2.4.9-7). gpg set to manually installed. debconf is already the newest version (1.5.92). gpgconf is already the newest version (2.4.9-7). gpgconf set to manually installed. libatomic1 is already the newest version (16.1.0-2). libatomic1 set to manually installed. gcc-15-base is already the newest version (15.3.0-1). gcc-15-base set to manually installed. base-files is already the newest version (14.2). libb-hooks-endofscope-perl is already the newest version (0.28-2). libb-hooks-endofscope-perl set to manually installed. cpp-15-loongarch64-linux-gnu is already the newest version (15.3.0-1). cpp-15-loongarch64-linux-gnu set to manually installed. appstream is already the newest version (1.1.3-1). appstream set to manually installed. libacl1 is already the newest version (2.4.0-1). libasound2-data is already the newest version (1.2.16.1-1). libasound2-data set to manually installed. cpp-loongarch64-linux-gnu is already the newest version (4:15.2.0-5+b1). cpp-loongarch64-linux-gnu set to manually installed. libavahi-client3 is already the newest version (0.8-18). libavahi-client3 set to manually installed. g++-loongarch64-linux-gnu is already the newest version (4:15.2.0-5+b1). g++-loongarch64-linux-gnu set to manually installed. g++-15-loongarch64-linux-gnu is already the newest version (15.3.0-1). g++-15-loongarch64-linux-gnu set to manually installed. diffstat is already the newest version (1.69-1). diffstat set to manually installed. dh-autoreconf is already the newest version (22). dh-autoreconf set to manually installed. intltool-debian is already the newest version (0.35.0+20060710.6). intltool-debian set to manually installed. hostname is already the newest version (3.25+b1). autotools-dev is already the newest version (20240727.1+nmu1). autotools-dev set to manually installed. libaec-dev is already the newest version (1.1.7-1). libaec-dev set to manually installed. libavahi-common3 is already the newest version (0.8-18). libavahi-common3 set to manually installed. libapt-pkg-perl is already the newest version (0.1.43+b1). libapt-pkg-perl set to manually installed. libapp-cmd-perl is already the newest version (0.340-1). libapp-cmd-perl set to manually installed. binutils is already the newest version (2.46.50.20260617-1). binutils set to manually installed. gnuplot-data is already the newest version (6.0.3+dfsg1-1). gnuplot-data set to manually installed. gzip is already the newest version (1.13-1+b1). g++-15 is already the newest version (15.3.0-1). g++-15 set to manually installed. hdf5-helpers is already the newest version (1.14.6+repack-2+b1). hdf5-helpers set to manually installed. libavif16 is already the newest version (1.4.2-1). libavif16 set to manually installed. libarpack2t64 is already the newest version (3.9.1-6+b2). libarpack2t64 set to manually installed. autoconf is already the newest version (2.73-2). autoconf set to manually installed. build-essential is already the newest version (12.12+b1). build-essential set to manually installed. coreutils is already the newest version (9.10-1). libaudit1 is already the newest version (1:4.1.2-1+b1). comerr-dev is already the newest version (2.1-1.47.4-1). comerr-dev set to manually installed. fontconfig-config is already the newest version (2.17.1-5). fontconfig-config 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. krb5-multidev is already the newest version (1.22.1-3). krb5-multidev set to manually installed. libaec0 is already the newest version (1.1.7-1). libaec0 set to manually installed. dh-strip-nondeterminism is already the newest version (1.15.1-1). dh-strip-nondeterminism set to manually installed. groff-base is already the newest version (1.24.1-1). groff-base set to manually installed. libasan8 is already the newest version (16.1.0-2). libasan8 set to manually installed. gfortran-15 is already the newest version (15.3.0-1). gfortran-15 set to manually installed. gcc-15 is already the newest version (15.3.0-1). gcc-15 set to manually installed. g++ is already the newest version (4:15.2.0-5+b1). g++ set to manually installed. aglfn is already the newest version (1.7+git20191031.4036a9c-2). aglfn set to manually installed. gfortran is already the newest version (4:15.2.0-5+b1). gfortran set to manually installed. ca-certificates is already the newest version (20260601). ca-certificates set to manually installed. debhelper is already the newest version (14.3). debhelper set to manually installed. binutils-loongarch64-linux-gnu is already the newest version (2.46.50.20260617-1). binutils-loongarch64-linux-gnu set to manually installed. diffutils is already the newest version (1:3.12-1+b1). cpp is already the newest version (4:15.2.0-5+b1). cpp set to manually installed. grep is already the newest version (3.12-1+b1). libasound2t64 is already the newest version (1.2.16.1-1). libasound2t64 set to manually installed. gcc is already the newest version (4:15.2.0-5+b1). gcc set to manually installed. libconfig-model-dpkg-perl is already the newest version (3.024). libconfig-model-dpkg-perl set to manually installed. libdatetime-perl is already the newest version (2:1.65-1+b1). libdatetime-perl set to manually installed. libdata-validate-ip-perl is already the newest version (0.31-1). libdata-validate-ip-perl set to manually installed. libdeflate0 is already the newest version (1.25-1). libdeflate0 set to manually installed. libdrm-common is already the newest version (2.4.134-3). libdrm-common set to manually installed. libcups2t64 is already the newest version (2.4.18-1). libcups2t64 set to manually installed. libdata-messagepack-perl is already the newest version (1.02-3+b1). libdata-messagepack-perl set to manually installed. libedit2 is already the newest version (3.1-20260512-1). libedit2 set to manually installed. libclass-xsaccessor-perl is already the newest version (1.19-4+b1). libclass-xsaccessor-perl set to manually installed. libdatetime-format-iso8601-perl is already the newest version (0.19-1). libdatetime-format-iso8601-perl set to manually installed. libctf-nobfd0 is already the newest version (2.46.50.20260617-1). libctf-nobfd0 set to manually installed. libdebhelper-perl is already the newest version (14.3). libdebhelper-perl set to manually installed. libdata-section-perl is already the newest version (0.200008-1). libdata-section-perl set to manually installed. libconvert-binhex-perl is already the newest version (1.125-3). libconvert-binhex-perl set to manually installed. libegl-mesa0 is already the newest version (26.1.4-1). libegl-mesa0 set to manually installed. libemail-address-xs-perl is already the newest version (1.05-1+b1). libemail-address-xs-perl set to manually installed. libclass-tiny-perl is already the newest version (1.008-2). libclass-tiny-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. libconfig-model-perl is already the newest version (2.165-1). libconfig-model-perl set to manually installed. libclone-pp-perl is already the newest version (1.08-2). libclone-pp-perl set to manually installed. libclass-singleton-perl is already the newest version (1.6-2). libclass-singleton-perl set to manually installed. libexpat1 is already the newest version (2.8.2-1). libexpat1 set to manually installed. libdevel-stacktrace-perl is already the newest version (2.0500-1). libdevel-stacktrace-perl set to manually installed. libclass-inspector-perl is already the newest version (1.36-3). libclass-inspector-perl set to manually installed. libcholmod5 is already the newest version (1:7.12.2+dfsg-1). libcholmod5 set to manually installed. libclone-perl is already the newest version (0.50-1). libclone-perl set to manually installed. libdb5.3t64 is already the newest version (5.3.28+dfsg2-11+b1). libclass-load-perl is already the newest version (0.25-2). libclass-load-perl set to manually installed. libcurl3t64-gnutls is already the newest version (8.21.0-2). libcurl3t64-gnutls set to manually installed. libdebconfclient0 is already the newest version (0.283). libdatetime-format-rfc3339-perl is already the newest version (1.10.0-1). libdatetime-format-rfc3339-perl set to manually installed. libberkeleydb-perl is already the newest version (0.66-2+b1). libberkeleydb-perl set to manually installed. libdatetime-locale-perl is already the newest version (1:1.45-1). libdatetime-locale-perl set to manually installed. libcc1-0 is already the newest version (16.1.0-2). libcc1-0 set to manually installed. libelf1t64 is already the newest version (0.195-1). libelf1t64 set to manually installed. libclass-c3-perl is already the newest version (0.35-2). libclass-c3-perl set to manually installed. libb2-1 is already the newest version (0.98.1-1.1+b3). libb2-1 set to manually installed. libdatetime-format-builder-perl is already the newest version (0.8300-1). libdatetime-format-builder-perl set to manually installed. libevent-2.1-7t64 is already the newest version (2.1.13-stable-1). libevent-2.1-7t64 set to manually installed. libctf0 is already the newest version (2.46.50.20260617-1). libctf0 set to manually installed. libc6 is already the newest version (2.42-17). libc6-dev is already the newest version (2.42-17). libc6-dev set to manually installed. libdecor-0-0 is already the newest version (0.2.5-1+b1). libdecor-0-0 set to manually installed. libdata-optlist-perl is already the newest version (0.114-1). libdata-optlist-perl set to manually installed. libcom-err2 is already the newest version (1.47.4-1). libcom-err2 set to manually installed. libcurl4-openssl-dev is already the newest version (8.21.0-2). libcurl4-openssl-dev set to manually installed. libbrotli1 is already the newest version (1.2.0-3). libbrotli1 set to manually installed. libc-dev-bin is already the newest version (2.42-17). libc-dev-bin set to manually installed. libcrypt1 is already the newest version (1:4.5.1-1+b1). libdata-dpath-perl is already the newest version (0.60-1). libdata-dpath-perl set to manually installed. libdatrie1 is already the newest version (0.2.14-2). libdatrie1 set to manually installed. libconfig-inifiles-perl is already the newest version (3.000003-5). libconfig-inifiles-perl set to manually installed. libboolean-perl is already the newest version (0.46-3). libboolean-perl set to manually installed. libevdev2 is already the newest version (1.13.6+dfsg-3). libevdev2 set to manually installed. libcap-ng0 is already the newest version (0.9.3-1+b1). libdata-validate-domain-perl is already the newest version (0.15-1). libdata-validate-domain-perl set to manually installed. libcgi-pm-perl is already the newest version (4.72-1). libcgi-pm-perl 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. libencode-locale-perl is already the newest version (1.05-3). libencode-locale-perl set to manually installed. libclone-choose-perl is already the newest version (0.010-2). libclone-choose-perl set to manually installed. libdynaloader-functions-perl is already the newest version (0.004-2). libdynaloader-functions-perl 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. libduktape207 is already the newest version (2.7.0-2+b3). libduktape207 set to manually installed. libclass-method-modifiers-perl is already the newest version (2.15-1). libclass-method-modifiers-perl set to manually installed. libeval-closure-perl is already the newest version (0.14-3). libeval-closure-perl set to manually installed. libdrm-amdgpu1 is already the newest version (2.4.134-3). libdrm-amdgpu1 set to manually installed. libcurl4t64 is already the newest version (8.21.0-2). libcurl4t64 set to manually installed. libcurl4-gnutls is already the newest version (8.21.0-2). libcurl4-gnutls set to manually installed. libdav1d7 is already the newest version (1.5.3-1+b2). libdav1d7 set to manually installed. libdevel-callchecker-perl is already the newest version (0.009-3). libdevel-callchecker-perl set to manually installed. libbinutils is already the newest version (2.46.50.20260617-1). libbinutils set to manually installed. libbsd0 is already the newest version (0.12.2-3). libbsd0 set to manually installed. libconst-fast-perl is already the newest version (0.014-2). libconst-fast-perl set to manually installed. libde265-0 is already the newest version (1.1.1-1). libde265-0 set to manually installed. libc-bin is already the newest version (2.42-17). libblas-dev is already the newest version (3.12.1-8). libblas-dev set to manually installed. libegl1 is already the newest version (1.7.0-3+b1). libegl1 set to manually installed. libbz2-1.0 is already the newest version (1.0.8-6+b2). libccolamd3 is already the newest version (1:7.12.2+dfsg-1). libccolamd3 set to manually installed. libcpanel-json-xs-perl is already the newest version (4.42-1). libcpanel-json-xs-perl set to manually installed. libcairo2 is already the newest version (1.18.4-3+b1). libcairo2 set to manually installed. libdata-validate-uri-perl is already the newest version (0.07-3). libdata-validate-uri-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. libcamd3 is already the newest version (1:7.12.2+dfsg-1). libcamd3 set to manually installed. libc-gconv-modules-extra is already the newest version (2.42-17). libdbus-1-3 is already the newest version (1.16.2-5+b1). libdbus-1-3 set to manually installed. libconfig-tiny-perl is already the newest version (2.30-1). libconfig-tiny-perl set to manually installed. libblas3 is already the newest version (3.12.1-8). libblas3 set to manually installed. libexception-class-perl is already the newest version (1.45-1). libexception-class-perl set to manually installed. libblkid1 is already the newest version (2.42.2-1). libbrotli-dev is already the newest version (1.2.0-3). libbrotli-dev set to manually installed. libcolamd3 is already the newest version (1:7.12.2+dfsg-1). libcolamd3 set to manually installed. libdevel-size-perl is already the newest version (0.87-1). libdevel-size-perl set to manually installed. libdrm2 is already the newest version (2.4.134-3). libdrm2 set to manually installed. libdouble-conversion3 is already the newest version (3.4.0-1+b1). libdouble-conversion3 set to manually installed. libdpkg-perl is already the newest version (1.23.7). libdpkg-perl set to manually installed. libcapture-tiny-perl is already the newest version (0.50-1). libcapture-tiny-perl set to manually installed. libdatetime-timezone-perl is already the newest version (1:2.69-1+2026c). libdatetime-timezone-perl set to manually installed. libcxsparse4 is already the newest version (1:7.12.2+dfsg-1). libcxsparse4 set to manually installed. liberror-perl is already the newest version (0.17030-1). liberror-perl set to manually installed. libfftw3-dev is already the newest version (3.3.11-1). libfftw3-dev set to manually installed. libgraphicsmagick-q16-3t64 is already the newest version (1.4+really1.3.46-2+b1). libgraphicsmagick-q16-3t64 set to manually installed. libgudev-1.0-0 is already the newest version (238-7+b2). libgudev-1.0-0 set to manually installed. libio-stringy-perl is already the newest version (2.113-2). libio-stringy-perl set to manually installed. libgmp10 is already the newest version (2:6.3.0+dfsg-5+b2). libglx-dev is already the newest version (1.7.0-3+b1). libglx-dev set to manually installed. libhttp-date-perl is already the newest version (6.08-1). libhttp-date-perl set to manually installed. libglx-mesa0 is already the newest version (26.1.4-1). libglx-mesa0 set to manually installed. libfribidi0 is already the newest version (1.0.16-5+b1). libfribidi0 set to manually installed. libicu78 is already the newest version (78.3-2). libicu78 set to manually installed. libexporter-tiny-perl is already the newest version (1.006003-1). libexporter-tiny-perl set to manually installed. libgl-dev is already the newest version (1.7.0-3+b1). libgl-dev set to manually installed. libgssapi-krb5-2 is already the newest version (1.22.1-3). libgssapi-krb5-2 set to manually installed. libgraphite2-3 is already the newest version (1.3.15-2). libgraphite2-3 set to manually installed. libimagequant0 is already the newest version (4.4.1-1+b2). libimagequant0 set to manually installed. libfile-find-rule-perl is already the newest version (0.35-1). libfile-find-rule-perl set to manually installed. libfile-basedir-perl is already the newest version (0.09-2). libfile-basedir-perl set to manually installed. libgd3 is already the newest version (2.3.3-13+b2). libgd3 set to manually installed. libinput10 is already the newest version (1.31.3-1). libinput10 set to manually installed. libhogweed6t64 is already the newest version (3.10.2-1+b1). libhogweed6t64 set to manually installed. libfile-homedir-perl is already the newest version (1.006-2). libfile-homedir-perl set to manually installed. libgmpxx4ldbl is already the newest version (2:6.3.0+dfsg-5+b2). libgmpxx4ldbl set to manually installed. libgfortran-15-dev is already the newest version (15.3.0-1). libgfortran-15-dev set to manually installed. libfont-ttf-perl is already the newest version (1.06-2). libfont-ttf-perl set to manually installed. libfyaml0 is already the newest version (0.9.4-1). libfyaml0 set to manually installed. libfile-listing-perl is already the newest version (6.16-1). libfile-listing-perl set to manually installed. libgssrpc4t64 is already the newest version (1.22.1-3). libgssrpc4t64 set to manually installed. libfeature-compat-class-perl is already the newest version (0.08-1). libfeature-compat-class-perl set to manually installed. libintl-perl is already the newest version (1.37-1). libintl-perl set to manually installed. libgnutls-dane0t64 is already the newest version (3.8.13-1). libgnutls-dane0t64 set to manually installed. libio-interactive-perl is already the newest version (1.027-1). libio-interactive-perl set to manually installed. libhttp-cookies-perl is already the newest version (6.11-1). libhttp-cookies-perl set to manually installed. libice6 is already the newest version (2:1.1.1-1+b2). libice6 set to manually installed. libfile-which-perl is already the newest version (1.27-2). libfile-which-perl set to manually installed. libfile-libmagic-perl is already the newest version (1.23-2+b1). libfile-libmagic-perl set to manually installed. libharfbuzz0b is already the newest version (12.3.2-2+b2). libharfbuzz0b set to manually installed. libhtml-tree-perl is already the newest version (5.07-3). libhtml-tree-perl set to manually installed. libgetopt-long-descriptive-perl is already the newest version (0.117-1). libgetopt-long-descriptive-perl set to manually installed. libgl1 is already the newest version (1.7.0-3+b1). libgl1 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. libhash-merge-perl is already the newest version (0.302-1). libhash-merge-perl set to manually installed. libgcc-s1 is already the newest version (16.1.0-2). libhdf5-cpp-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-cpp-310 set to manually installed. libgcc-15-dev is already the newest version (15.3.0-1). libgcc-15-dev set to manually installed. libhtml-tagset-perl is already the newest version (3.24-1). libhtml-tagset-perl set to manually installed. libgraphicsmagick++-q16-12t64 is already the newest version (1.4+really1.3.46-2+b1). libgraphicsmagick++-q16-12t64 set to manually installed. libgdbm6t64 is already the newest version (1.26-1+b2). libgdbm6t64 set to manually installed. libgav1-2 is already the newest version (0.20.0-2+b1). libgav1-2 set to manually installed. libfeature-compat-try-perl is already the newest version (0.05-1). libfeature-compat-try-perl set to manually installed. libgl1-mesa-dri is already the newest version (26.1.4-1). libgl1-mesa-dri set to manually installed. libgnutls30t64 is already the newest version (3.8.13-1). libgnutls30t64 set to manually installed. libfontconfig1 is already the newest version (2.17.1-5). libfontconfig1 set to manually installed. libio-html-perl is already the newest version (1.004-3). libio-html-perl set to manually installed. libgbm1 is already the newest version (26.1.4-1). libgbm1 set to manually installed. libffi8 is already the newest version (3.5.2-4). libffi8 set to manually installed. libglpk40 is already the newest version (5.0-3). libglpk40 set to manually installed. libidn2-dev is already the newest version (2.3.8-5). libidn2-dev set to manually installed. libheif-plugin-libde265 is already the newest version (1.23.1-1). libheif-plugin-libde265 set to manually installed. libio-string-perl is already the newest version (1.08-4). libio-string-perl set to manually installed. libfreetype6 is already the newest version (2.14.3+dfsg-1). libfreetype6 set to manually installed. libgmp-dev is already the newest version (2:6.3.0+dfsg-5+b2). libgmp-dev set to manually installed. libglu1-mesa is already the newest version (9.0.2-1.1+b4). libglu1-mesa set to manually installed. libheif1 is already the newest version (1.23.1-1). libheif1 set to manually installed. libfftw3-bin is already the newest version (3.3.11-1). libfftw3-bin set to manually installed. libinput-bin is already the newest version (1.31.3-1). libinput-bin set to manually installed. libidn2-0 is already the newest version (2.3.8-5). libidn2-0 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. libhdf5-dev is already the newest version (1.14.6+repack-2+b1). libhdf5-dev set to manually installed. libhttp-message-perl is already the newest version (7.02-1). libhttp-message-perl set to manually installed. libhtml-parser-perl is already the newest version (3.83-2). libhtml-parser-perl set to manually installed. libflac14 is already the newest version (1.5.0+ds-5+b1). libflac14 set to manually installed. libgomp1 is already the newest version (16.1.0-2). libgomp1 set to manually installed. libgcrypt20 is already the newest version (1.12.2-1). libgcrypt20 set to manually installed. libfftw3-single3 is already the newest version (3.3.11-1). libfftw3-single3 set to manually installed. libgl2ps1.4 is already the newest version (1.4.2+dfsg1-4+b1). libgl2ps1.4 set to manually installed. libgdbm-compat4t64 is already the newest version (1.26-1+b2). libgdbm-compat4t64 set to manually installed. libfftw3-long3 is already the newest version (3.3.11-1). libfftw3-long3 set to manually installed. libimport-into-perl is already the newest version (1.002005-2). libimport-into-perl 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. libfltk1.4 is already the newest version (1.4.4-4). libfltk1.4 set to manually installed. libhdf5-fortran-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-fortran-310 set to manually installed. libhtml-html5-entities-perl is already the newest version (0.004-3). libhtml-html5-entities-perl set to manually installed. libfile-sharedir-perl is already the newest version (1.118-3). libfile-sharedir-perl set to manually installed. libhtml-form-perl is already the newest version (6.13-1). libhtml-form-perl set to manually installed. libglvnd0 is already the newest version (1.7.0-3+b1). libglvnd0 set to manually installed. libhdf5-310 is already the newest version (1.14.6+repack-2+b1). libhdf5-310 set to manually installed. libheif-plugin-dav1d is already the newest version (1.23.1-1). libheif-plugin-dav1d set to manually installed. libexporter-lite-perl is already the newest version (0.09-2). libexporter-lite-perl set to manually installed. libfftw3-double3 is already the newest version (3.3.11-1). libfftw3-double3 set to manually installed. libgnutls28-dev is already the newest version (3.8.13-1). libgnutls28-dev set to manually installed. libgfortran5 is already the newest version (16.1.0-2). libgfortran5 set to manually installed. libfile-stripnondeterminism-perl is already the newest version (1.15.1-1). libfile-stripnondeterminism-perl set to manually installed. libhtml-tokeparser-simple-perl is already the newest version (3.16-4). libhtml-tokeparser-simple-perl set to manually installed. libindirect-perl is already the newest version (0.39-2+b1). libindirect-perl set to manually installed. libio-socket-ssl-perl is already the newest version (2.099-1). libio-socket-ssl-perl set to manually installed. libgpg-error0 is already the newest version (1.61-3). libgpg-error0 set to manually installed. libhttp-negotiate-perl is already the newest version (6.01-2). libhttp-negotiate-perl set to manually installed. libfltk-gl1.4 is already the newest version (1.4.4-4). libfltk-gl1.4 set to manually installed. libglx0 is already the newest version (1.7.0-3+b1). libglx0 set to manually installed. libglib2.0-0t64 is already the newest version (2.88.2-1). libglib2.0-0t64 set to manually installed. libmodule-runtime-perl is already the newest version (0.018-1). libmodule-runtime-perl set to manually installed. libksba8 is already the newest version (1.8.0-3). libksba8 set to manually installed. libngtcp2-16 is already the newest version (1.22.1-1). libngtcp2-16 set to manually installed. libngtcp2-crypto-ossl0 is already the newest version (1.22.1-1). libngtcp2-crypto-ossl0 set to manually installed. libmousex-strictconstructor-perl is already the newest version (0.02-3). libmousex-strictconstructor-perl set to manually installed. libkeyutils1 is already the newest version (1.6.3-6+b2). libkeyutils1 set to manually installed. libobject-pad-perl is already the newest version (0.825-1). libobject-pad-perl set to manually installed. libipc-run3-perl is already the newest version (0.049-1). libipc-run3-perl set to manually installed. liblwp-protocol-https-perl is already the newest version (6.15-1). liblwp-protocol-https-perl set to manually installed. libnet-http-perl is already the newest version (6.24-1). libnet-http-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. libjxl0.11 is already the newest version (0.11.2-5). libjxl0.11 set to manually installed. libjpeg62-turbo-dev is already the newest version (1:3.1.3-4). libjpeg62-turbo-dev set to manually installed. liblist-moreutils-xs-perl is already the newest version (0.430-4+b1). liblist-moreutils-xs-perl set to manually installed. liblist-moreutils-perl is already the newest version (0.430-2). liblist-moreutils-perl set to manually installed. libopengl0 is already the newest version (1.7.0-3+b1). libopengl0 set to manually installed. libipc-system-simple-perl is already the newest version (1.30-2). libipc-system-simple-perl set to manually installed. libmagic1t64 is already the newest version (1:5.47-4). libmagic1t64 set to manually installed. libjansson4 is already the newest version (2.15.1-1). libjansson4 set to manually installed. liblua5.4-0 is already the newest version (5.4.8-2). liblua5.4-0 set to manually installed. libkrb5support0 is already the newest version (1.22.1-3). libkrb5support0 set to manually installed. libmime-tools-perl is already the newest version (5.517-1). libmime-tools-perl set to manually installed. libnamespace-autoclean-perl is already the newest version (0.31-1). libnamespace-autoclean-perl set to manually installed. liblzo2-2 is already the newest version (2.10-3+b2). liblzo2-2 set to manually installed. libio-tiecombine-perl is already the newest version (1.005-3). libio-tiecombine-perl set to manually installed. liblz4-1 is already the newest version (1.10.0-10). liblz4-1 set to manually installed. libnghttp2-14 is already the newest version (1.69.0-1). libnghttp2-14 set to manually installed. liblapack3 is already the newest version (3.12.1-8). liblapack3 set to manually installed. libmd0 is already the newest version (1.2.0-2). liblog-any-perl is already the newest version (1.720-1). liblog-any-perl set to manually installed. libmousex-nativetraits-perl is already the newest version (1.09-3). libmousex-nativetraits-perl set to manually installed. libnamespace-clean-perl is already the newest version (0.27-2). libnamespace-clean-perl set to manually installed. libmpfr6 is already the newest version (4.2.2-3). libmpfr6 set to manually installed. libmd4c0 is already the newest version (0.5.3-1). libmd4c0 set to manually installed. liblapack-dev is already the newest version (3.12.1-8). liblapack-dev set to manually installed. libngtcp2-crypto-gnutls8 is already the newest version (1.22.1-1). libngtcp2-crypto-gnutls8 set to manually installed. libmro-compat-perl is already the newest version (0.15-2). libmro-compat-perl set to manually installed. libitm1 is already the newest version (16.1.0-2). libitm1 set to manually installed. libmoo-perl is already the newest version (2.005005-1). libmoo-perl set to manually installed. libmldbm-perl is already the newest version (2.05-4). libmldbm-perl set to manually installed. libkadm5clnt-mit12 is already the newest version (1.22.1-3). libkadm5clnt-mit12 set to manually installed. libmpc3 is already the newest version (1.3.1-3). libmpc3 set to manually installed. libogg0 is already the newest version (1.3.6-2+b1). libogg0 set to manually installed. libk5crypto3 is already the newest version (1.22.1-3). libk5crypto3 set to manually installed. libiterator-perl is already the newest version (0.03+ds1-2). libiterator-perl set to manually installed. libjbig0 is already the newest version (2.1-6.1+b3). libjbig0 set to manually installed. liblist-utilsby-perl is already the newest version (0.12-2). liblist-utilsby-perl set to manually installed. libjson-maybexs-perl is already the newest version (1.004008-1). libjson-maybexs-perl set to manually installed. libjpeg62-turbo is already the newest version (1:3.1.3-4). libjpeg62-turbo set to manually installed. libiterator-util-perl is already the newest version (0.02+ds1-2). libiterator-util-perl set to manually installed. libkadm5srv-mit12 is already the newest version (1.22.1-3). libkadm5srv-mit12 set to manually installed. libkdb5-10t64 is already the newest version (1.22.1-3). libkdb5-10t64 set to manually installed. libnghttp3-9 is already the newest version (1.15.0-1). libnghttp3-9 set to manually installed. libjson-perl is already the newest version (4.10000-1). libjson-perl set to manually installed. libnettle8t64 is already the newest version (3.10.2-1+b1). libnettle8t64 set to manually installed. libnghttp2-dev is already the newest version (1.69.0-1). libnghttp2-dev set to manually installed. libmodule-implementation-perl is already the newest version (0.09-2). libmodule-implementation-perl set to manually installed. libmailtools-perl is already the newest version (2.22-1). libmailtools-perl set to manually installed. libnpth0t64 is already the newest version (1.8-3+b2). libnpth0t64 set to manually installed. liblist-compare-perl is already the newest version (0.55-2). liblist-compare-perl set to manually installed. libmarkdown2 is already the newest version (2.2.7-2.1+b2). libmarkdown2 set to manually installed. libkrb5-dev is already the newest version (1.22.1-3). libkrb5-dev 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. libnetaddr-ip-perl is already the newest version (4.079+dfsg-2+b1). libnetaddr-ip-perl set to manually installed. libisl23 is already the newest version (0.27-2). libisl23 set to manually installed. libkrb5-3 is already the newest version (1.22.1-3). libkrb5-3 set to manually installed. libnumber-compare-perl is already the newest version (0.03-3). libnumber-compare-perl set to manually installed. libnet-domain-tld-perl is already the newest version (1.75-4). libnet-domain-tld-perl set to manually installed. libldap2 is already the newest version (2.6.13+dfsg-1). libldap2 set to manually installed. libnet-smtp-ssl-perl is already the newest version (1.04-2). libnet-smtp-ssl-perl set to manually installed. libllvm21 is already the newest version (1:21.1.8-7+b4). libllvm21 set to manually installed. liblcms2-2 is already the newest version (2.19.1-1). liblcms2-2 set to manually installed. liblzma5 is already the newest version (5.8.3-1). libmodule-pluggable-perl is already the newest version (6.3-1). libmodule-pluggable-perl set to manually installed. libmoox-aliases-perl is already the newest version (0.001006-3). libmoox-aliases-perl set to manually installed. libmouse-perl is already the newest version (2.6.2-1). libmouse-perl set to manually installed. libngtcp2-dev is already the newest version (1.22.1-1). libngtcp2-dev set to manually installed. liblingua-en-inflect-perl is already the newest version (1.905-2). liblingua-en-inflect-perl set to manually installed. liblog-log4perl-perl is already the newest version (1.57-1). liblog-log4perl-perl set to manually installed. liblsan0 is already the newest version (16.1.0-2). liblsan0 set to manually installed. libnghttp3-dev is already the newest version (1.15.0-1). libnghttp3-dev set to manually installed. libmp3lame0 is already the newest version (3.101~svn6531+dfsg-1). libmp3lame0 set to manually installed. libncurses-dev is already the newest version (6.6+20260608-2). libncurses-dev set to manually installed. libjpeg-dev is already the newest version (1:3.1.3-4). libjpeg-dev set to manually installed. libmagic-mgc is already the newest version (1:5.47-4). libmagic-mgc 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. libmtdev1t64 is already the newest version (1.1.7-1+b2). libmtdev1t64 set to manually installed. libmpg123-0t64 is already the newest version (1.33.6-1). libmpg123-0t64 set to manually installed. libnet-netmask-perl is already the newest version (2.0003-1). libnet-netmask-perl set to manually installed. liblwp-mediatypes-perl is already the newest version (6.04-2). liblwp-mediatypes-perl set to manually installed. libnet-ssleay-perl is already the newest version (1.96-1). libnet-ssleay-perl set to manually installed. liblist-someutils-perl is already the newest version (0.59-1). liblist-someutils-perl set to manually installed. libncurses6 is already the newest version (6.6+20260608-2). libncurses6 set to manually installed. libltdl7 is already the newest version (2.5.4-11). libltdl7 set to manually installed. liblz1 is already the newest version (1.16-1). liblz1 set to manually installed. libnet-ipv6addr-perl is already the newest version (1.02-1). libnet-ipv6addr-perl set to manually installed. libncursesw6 is already the newest version (6.6+20260608-2). libncursesw6 set to manually installed. libldap-dev is already the newest version (2.6.13+dfsg-1). libldap-dev set to manually installed. liblerc4 is already the newest version (4.1.1+ds-1). liblerc4 set to manually installed. libmount1 is already the newest version (2.42.2-1). libqt6printsupport6 is already the newest version (6.10.2+dfsg-15). libqt6printsupport6 set to manually installed. libpsl5t64 is already the newest version (0.22.0-1). libpsl5t64 set to manually installed. libqscintilla2-qt6-l10n is already the newest version (2.14.1+dfsg-3). libqscintilla2-qt6-l10n set to manually installed. libqt6network6 is already the newest version (6.10.2+dfsg-15). libqt6network6 set to manually installed. libsmartcols1 is already the newest version (2.42.2-1). libppix-utils-perl is already the newest version (0.003-2). libppix-utils-perl set to manually installed. libstemmer0d is already the newest version (3.1.1-1). libstemmer0d set to manually installed. libregexp-wildcards-perl is already the newest version (1.05-3). libregexp-wildcards-perl set to manually installed. libspecio-perl is already the newest version (0.53-1). libspecio-perl set to manually installed. libpod-spell-perl is already the newest version (1.27-1). libpod-spell-perl set to manually installed. librtmp1 is already the newest version (2.6-1). librtmp1 set to manually installed. libopus0 is already the newest version (1.6.1-1+b1). libopus0 set to manually installed. libparams-classify-perl is already the newest version (0.015-2+b5). libparams-classify-perl set to manually installed. libparams-validate-perl is already the newest version (1.31-2+b4). libparams-validate-perl set to manually installed. libpangoft2-1.0-0 is already the newest version (1.58.0-1). libpangoft2-1.0-0 set to manually installed. libpackage-stash-perl is already the newest version (0.40-1). libpackage-stash-perl set to manually installed. libssl-dev is already the newest version (3.6.3-1). libssl-dev set to manually installed. libsqlite3-0 is already the newest version (3.53.3-1). libsqlite3-0 set to manually installed. libppix-quotelike-perl is already the newest version (0.024-1). libppix-quotelike-perl set to manually installed. libppi-perl is already the newest version (1.291-1). libppi-perl set to manually installed. libparams-util-perl is already the newest version (1.102-3+b1). libparams-util-perl set to manually installed. libstrictures-perl is already the newest version (2.000006-1). libstrictures-perl set to manually installed. libqt6widgets6 is already the newest version (6.10.2+dfsg-15). libqt6widgets6 set to manually installed. libsensors5 is already the newest version (1:3.6.2-2+b2). libsensors5 set to manually installed. libselinux1 is already the newest version (3.10-1). libssh2-1-dev is already the newest version (1.11.1-4). libssh2-1-dev set to manually installed. libqt6gui6 is already the newest version (6.10.2+dfsg-15). libqt6gui6 set to manually installed. libregexp-pattern-perl is already the newest version (0.2.14-3). libregexp-pattern-perl set to manually installed. libsensors-config is already the newest version (1:3.6.2-2). libsensors-config set to manually installed. libqt6sql6 is already the newest version (6.10.2+dfsg-15). libqt6sql6 set to manually installed. libparse-debcontrol-perl is already the newest version (2.005-6). libparse-debcontrol-perl set to manually installed. libreadline8t64 is already the newest version (8.3-4). libreadline8t64 set to manually installed. libpam-modules is already the newest version (1.7.0-8). libqrupdate1 is already the newest version (1.1.5-3+b1). libqrupdate1 set to manually installed. libpod-constants-perl is already the newest version (0.19-2). libpod-constants-perl set to manually installed. libpcre2-16-0 is already the newest version (10.46-1+b2). libpcre2-16-0 set to manually installed. libsframe3 is already the newest version (2.46.50.20260617-1). libsframe3 set to manually installed. libsamplerate0 is already the newest version (0.2.2-4+b3). libsamplerate0 set to manually installed. libpam0g is already the newest version (1.7.0-8). librtmp-dev is already the newest version (2.6-1). librtmp-dev set to manually installed. libregexp-common-perl is already the newest version (2024080801-1). libregexp-common-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. libperl5.40 is already the newest version (5.40.1-8). libperl5.40 set to manually installed. libset-intspan-perl is already the newest version (1.19-3). libset-intspan-perl set to manually installed. libqhull-r8.0 is already the newest version (2020.2-9). libqhull-r8.0 set to manually installed. libpsl-dev is already the newest version (0.22.0-1). libpsl-dev set to manually installed. libreadline-dev is already the newest version (8.3-4). libreadline-dev set to manually installed. librole-tiny-perl is already the newest version (2.002005-1). librole-tiny-perl set to manually installed. libsasl2-2 is already the newest version (2.1.28+dfsg1-11). libsasl2-2 set to manually installed. libssh2-1t64 is already the newest version (1.11.1-4). libssh2-1t64 set to manually installed. libqt6help6 is already the newest version (6.10.2-3). libqt6help6 set to manually installed. libsoftware-licensemoreutils-perl is already the newest version (1.009-1). libsoftware-licensemoreutils-perl set to manually installed. libproc-processtable-perl is already the newest version (0.637-1+b2). libproc-processtable-perl set to manually installed. libpango-1.0-0 is already the newest version (1.58.0-1). libpango-1.0-0 set to manually installed. libpng16-16t64 is already the newest version (1.6.58-1). libpng16-16t64 set to manually installed. libsereal-decoder-perl is already the newest version (5.006+ds-1). libsereal-decoder-perl 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. libqt6opengl6 is already the newest version (6.10.2+dfsg-15). libqt6opengl6 set to manually installed. libsort-versions-perl is already the newest version (1.62-3). libsort-versions-perl set to manually installed. libqt6dbus6 is already the newest version (6.10.2+dfsg-15). libqt6dbus6 set to manually installed. libsm6 is already the newest version (2:1.2.6-1+b2). libsm6 set to manually installed. libstdc++-15-dev is already the newest version (15.3.0-1). libstdc++-15-dev set to manually installed. libsafe-isa-perl is already the newest version (1.000010-1). libsafe-isa-perl set to manually installed. libparse-recdescent-perl is already the newest version (1.967015+dfsg-4). libparse-recdescent-perl set to manually installed. libproxy1v5 is already the newest version (0.5.12-1+b1). libproxy1v5 set to manually installed. libpam-modules-bin is already the newest version (1.7.0-8). libqt6openglwidgets6 is already the newest version (6.10.2+dfsg-15). libqt6openglwidgets6 set to manually installed. libperlio-gzip-perl is already the newest version (0.20-1+b1). libperlio-gzip-perl set to manually installed. libperl-critic-perl is already the newest version (1.156-1). libperl-critic-perl set to manually installed. libstdc++6 is already the newest version (16.1.0-2). libstdc++6 set to manually installed. libpixman-1-0 is already the newest version (0.46.4-1+b2). libpixman-1-0 set to manually installed. libqt6core6t64 is already the newest version (6.10.2+dfsg-15). libqt6core6t64 set to manually installed. libpod-parser-perl is already the newest version (1.67-1). libpod-parser-perl set to manually installed. libpod-pom-perl is already the newest version (2.01-4). libpod-pom-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. libperlio-utf8-strict-perl is already the newest version (0.010-1+b2). libperlio-utf8-strict-perl set to manually installed. libsoftware-license-perl is already the newest version (0.104007-1). libsoftware-license-perl set to manually installed. libpkgconf7 is already the newest version (2.5.1-4). libpkgconf7 set to manually installed. libqt6core5compat6 is already the newest version (6.10.2-3). libqt6core5compat6 set to manually installed. libreadonly-perl is already the newest version (2.050-3). libreadonly-perl set to manually installed. libpipeline1 is already the newest version (1.5.8-3). libpipeline1 set to manually installed. libstring-copyright-perl is already the newest version (0.003014-1). libstring-copyright-perl set to manually installed. libsereal-encoder-perl is already the newest version (5.006+ds-1). libsereal-encoder-perl set to manually installed. libsoftware-copyright-perl is already the newest version (0.015-1). libsoftware-copyright-perl set to manually installed. libparams-validationcompiler-perl is already the newest version (0.31-1). libparams-validationcompiler-perl set to manually installed. libp11-kit0 is already the newest version (0.26.4-1). libp11-kit0 set to manually installed. libqt6xml6 is already the newest version (6.10.2+dfsg-15). libqt6xml6 set to manually installed. libsharpyuv0 is already the newest version (1.5.0-0.1+b2). libsharpyuv0 set to manually installed. libportaudio2 is already the newest version (19.7.0-1+b1). libportaudio2 set to manually installed. libsasl2-modules-db is already the newest version (2.1.28+dfsg1-11). libsasl2-modules-db set to manually installed. libproc2-1 is already the newest version (2:4.0.6-2). libproc2-1 set to manually installed. libssl3t64 is already the newest version (3.6.3-1). libpangocairo-1.0-0 is already the newest version (1.58.0-1). libpangocairo-1.0-0 set to manually installed. libp11-kit-dev is already the newest version (0.26.4-1). libp11-kit-dev set to manually installed. libsndfile1 is already the newest version (1.2.2-4+b1). libsndfile1 set to manually installed. libpcre2-8-0 is already the newest version (10.46-1+b2). libpath-tiny-perl is already the newest version (0.150-1). libpath-tiny-perl set to manually installed. libspqr4 is already the newest version (1:7.12.2+dfsg-1). libspqr4 set to manually installed. libpam-runtime is already the newest version (1.7.0-8). libppix-regexp-perl is already the newest version (0.092-1). libppix-regexp-perl set to manually installed. libvorbisenc2 is already the newest version (1.3.7-3+b2). libvorbisenc2 set to manually installed. libsub-identify-perl is already the newest version (0.14-4+b1). libsub-identify-perl set to manually installed. libxcb-render0 is already the newest version (1.17.0-2+b2). libxcb-render0 set to manually installed. libubsan1 is already the newest version (16.1.0-2). libubsan1 set to manually installed. libwacom9 is already the newest version (2.18.0-1). libwacom9 set to manually installed. libtimedate-perl is already the newest version (2.3500-1). libtimedate-perl set to manually installed. libxcb-icccm4 is already the newest version (0.4.2-1+b2). libxcb-icccm4 set to manually installed. libtasn1-6-dev is already the newest version (4.21.0-2+b1). libtasn1-6-dev set to manually installed. libsyntax-keyword-try-perl is already the newest version (0.31-1+b1). libsyntax-keyword-try-perl set to manually installed. libsub-exporter-perl is already the newest version (0.990-1). libsub-exporter-perl set to manually installed. libxdmcp6 is already the newest version (1:1.1.5-2+b1). libxdmcp6 set to manually installed. libxext6 is already the newest version (2:1.3.4-1+b4). libxext6 set to manually installed. libtext-levenshteinxs-perl is already the newest version (0.03-5+b1). libtext-levenshteinxs-perl set to manually installed. libunicode-utf8-perl is already the newest version (0.72-1). libunicode-utf8-perl set to manually installed. libvariable-magic-perl is already the newest version (0.64-1+b1). libvariable-magic-perl set to manually installed. libtext-glob-perl is already the newest version (0.11-3). libtext-glob-perl set to manually installed. libunbound8 is already the newest version (1.25.1-1+b1). libunbound8 set to manually installed. libxfixes3 is already the newest version (1:6.0.0-2+b5). libxfixes3 set to manually installed. libtest-exception-perl is already the newest version (0.43-3). libtest-exception-perl set to manually installed. libwebp7 is already the newest version (1.5.0-0.1+b2). libwebp7 set to manually installed. libxcb-cursor0 is already the newest version (0.1.6-1). libxcb-cursor0 set to manually installed. libtext-wrapi18n-perl is already the newest version (0.06-11). libtext-wrapi18n-perl set to manually installed. libxcb-xkb1 is already the newest version (1.17.0-2+b2). libxcb-xkb1 set to manually installed. libtsan2 is already the newest version (16.1.0-2). libtsan2 set to manually installed. libxcb-sync1 is already the newest version (1.17.0-2+b2). libxcb-sync1 set to manually installed. libxcb-randr0 is already the newest version (1.17.0-2+b2). libxcb-randr0 set to manually installed. libtinfo6 is already the newest version (6.6+20260608-2). libtry-tiny-perl is already the newest version (0.32-1). libtry-tiny-perl set to manually installed. libwmflite-0.2-7 is already the newest version (0.2.14-1). libwmflite-0.2-7 set to manually installed. libxcb-present0 is already the newest version (1.17.0-2+b2). libxcb-present0 set to manually installed. libtext-reform-perl is already the newest version (1.20-5). libtext-reform-perl set to manually installed. libstring-format-perl is already the newest version (1.18-1). libstring-format-perl set to manually installed. libvorbis0a is already the newest version (1.3.7-3+b2). libvorbis0a set to manually installed. libsub-name-perl is already the newest version (0.28-1+b2). libsub-name-perl set to manually installed. libts0t64 is already the newest version (1.22-1.1+b2). libts0t64 set to manually installed. libx11-xcb1 is already the newest version (2:1.8.13-1). libx11-xcb1 set to manually installed. libstring-license-perl is already the newest version (0.0.11-1). libstring-license-perl set to manually installed. libtool is already the newest version (2.5.4-11). libtool set to manually installed. libwww-perl is already the newest version (6.83-1). libwww-perl set to manually installed. libunistring-dev is already the newest version (1.4.2-1). libunistring-dev set to manually installed. libstring-rewriteprefix-perl is already the newest version (0.009-1). libstring-rewriteprefix-perl set to manually installed. libxcb1 is already the newest version (1.17.0-2+b2). libxcb1 set to manually installed. libsub-install-perl is already the newest version (0.929-1). libsub-install-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. libtime-moment-perl is already the newest version (0.46-1+b1). libtime-moment-perl set to manually installed. libxau6 is already the newest version (1:1.0.11-1+b2). libxau6 set to manually installed. libtiff6 is already the newest version (4.7.2-1). libtiff6 set to manually installed. libuuid1 is already the newest version (2.42.2-1). libxcb-shm0 is already the newest version (1.17.0-2+b2). libxcb-shm0 set to manually installed. libsuitesparseconfig7 is already the newest version (1:7.12.2+dfsg-1). libsuitesparseconfig7 set to manually installed. libwww-mechanize-perl is already the newest version (2.22-1). libwww-mechanize-perl set to manually installed. libxdmcp-dev is already the newest version (1:1.1.5-2+b1). libxdmcp-dev set to manually installed. libtasn1-6 is already the newest version (4.21.0-2+b1). libtasn1-6 set to manually installed. libtext-markdown-discount-perl is already the newest version (0.18-1+b1). libtext-markdown-discount-perl set to manually installed. libtext-levenshtein-damerau-perl is already the newest version (0.41-3). libtext-levenshtein-damerau-perl set to manually installed. libwayland-client0 is already the newest version (1.25.0-2). libwayland-client0 set to manually installed. libterm-readkey-perl is already the newest version (2.38-2+b1). libterm-readkey-perl set to manually installed. libxau-dev is already the newest version (1:1.0.11-1+b2). libxau-dev set to manually installed. libsub-exporter-progressive-perl is already the newest version (0.001013-3). libsub-exporter-progressive-perl set to manually installed. libtoml-tiny-perl is already the newest version (0.22-1). libtoml-tiny-perl set to manually installed. libxcb-util1 is already the newest version (0.4.1-1+b2). libxcb-util1 set to manually installed. libx11-data is already the newest version (2:1.8.13-1). libx11-data set to manually installed. libxcb-keysyms1 is already the newest version (0.4.1-1+b2). libxcb-keysyms1 set to manually installed. libwebpmux3 is already the newest version (1.5.0-0.1+b2). libwebpmux3 set to manually installed. libudev1 is already the newest version (261.1-2). libsystemd0 is already the newest version (261.1-2). libxcb-xinput0 is already the newest version (1.17.0-2+b2). libxcb-xinput0 set to manually installed. libxcb-xfixes0 is already the newest version (1.17.0-2+b2). libxcb-xfixes0 set to manually installed. libxcb-shape0 is already the newest version (1.17.0-2+b2). libxcb-shape0 set to manually installed. libtime-duration-perl is already the newest version (1.21-2). libtime-duration-perl set to manually installed. libuchardet0 is already the newest version (0.0.8-2+b2). libuchardet0 set to manually installed. libxcb-dri3-0 is already the newest version (1.17.0-2+b2). libxcb-dri3-0 set to manually installed. libthai0 is already the newest version (0.1.30-2). libthai0 set to manually installed. libsz2 is already the newest version (1.1.7-1). libsz2 set to manually installed. libx11-dev is already the newest version (2:1.8.13-1). libx11-dev set to manually installed. libxcb-image0 is already the newest version (0.4.0-2+b3). libxcb-image0 set to manually installed. libtext-charwidth-perl is already the newest version (0.04-12). libtext-charwidth-perl set to manually installed. libxcb1-dev is already the newest version (1.17.0-2+b2). libxcb1-dev set to manually installed. libx11-6 is already the newest version (2:1.8.13-1). libx11-6 set to manually installed. libtext-autoformat-perl is already the newest version (1.750000-2). libtext-autoformat-perl set to manually installed. libunistring5 is already the newest version (1.4.2-1). libunistring5 set to manually installed. libsub-quote-perl is already the newest version (2.006009-1). libsub-quote-perl set to manually installed. libtext-wrapper-perl is already the newest version (1.05-4). libtext-wrapper-perl set to manually installed. libstring-escape-perl is already the newest version (2010.002-3). libstring-escape-perl set to manually installed. libthai-data is already the newest version (0.1.30-2). libthai-data set to manually installed. libwayland-cursor0 is already the newest version (1.25.0-2). libwayland-cursor0 set to manually installed. libumfpack6 is already the newest version (1:7.12.2+dfsg-1). libumfpack6 set to manually installed. liburi-perl is already the newest version (5.35-1). liburi-perl set to manually installed. libvulkan1 is already the newest version (1.4.341.0-1). libvulkan1 set to manually installed. libwacom-common is already the newest version (2.18.0-1). libwacom-common set to manually installed. libtask-weaken-perl is already the newest version (1.06-2). libtask-weaken-perl set to manually installed. libtext-unidecode-perl is already the newest version (1.30-3). libtext-unidecode-perl set to manually installed. libxcursor1 is already the newest version (1:1.2.3-1+b2). libxcursor1 set to manually installed. libsub-uplevel-perl is already the newest version (0.2800-3). libsub-uplevel-perl set to manually installed. libwww-robotrules-perl is already the newest version (6.03-1). libwww-robotrules-perl set to manually installed. libxcb-glx0 is already the newest version (1.17.0-2+b2). libxcb-glx0 set to manually installed. libwayland-egl1 is already the newest version (1.25.0-2). libwayland-egl1 set to manually installed. libsvtav1enc4 is already the newest version (4.1.0+dfsg-1). libsvtav1enc4 set to manually installed. libtext-template-perl is already the newest version (1.61-1). libtext-template-perl set to manually installed. libtext-xslate-perl is already the newest version (3.5.9-2+b2). libtext-xslate-perl set to manually installed. mawk is already the newest version (1.3.4.20260302-1). libzstd-dev is already the newest version (1.5.7+dfsg-3+b2). libzstd-dev set to manually installed. libxxhash0 is already the newest version (0.8.3-2+b2). libxxhash0 set to manually installed. mesa-libgallium is already the newest version (26.1.4-1). mesa-libgallium set to manually installed. shared-mime-info is already the newest version (2.4-5+b2). shared-mime-info set to manually installed. openssl is already the newest version (3.6.3-1). openssl set to manually installed. licensecheck is already the newest version (3.3.9-1). licensecheck set to manually installed. make is already the newest version (4.4.1-3+b1). make set to manually installed. util-linux is already the newest version (2.42.2-1). texinfo is already the newest version (7.3-2). texinfo set to manually installed. unzip is already the newest version (6.0-29+b1). unzip set to manually installed. sed is already the newest version (4.9-3). netbase is already the newest version (6.5). netbase 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. rpcsvc-proto is already the newest version (1.4.4-1). rpcsvc-proto set to manually installed. libxstring-perl is already the newest version (0.005-2+b5). libxstring-perl set to manually installed. tex-common is already the newest version (6.20). tex-common set to manually installed. sysvinit-utils is already the newest version (3.18-1). libxkbcommon0 is already the newest version (1.13.1-1). libxkbcommon0 set to manually installed. libxrender1 is already the newest version (1:0.9.12-1+b2). libxrender1 set to manually installed. xtrans-dev is already the newest version (1.6.0-1). xtrans-dev set to manually installed. octave-dev is already the newest version (11.3.0-1). octave-dev set to manually installed. ucf is already the newest version (3.0056). ucf set to manually installed. libzstd1 is already the newest version (1.5.7+dfsg-3+b2). libxml-sax-perl is already the newest version (1.02+dfsg-5). libxml-sax-perl set to manually installed. t1utils is already the newest version (1.41-4+b1). t1utils set to manually installed. lintian is already the newest version (2.137.1). lintian set to manually installed. perltidy is already the newest version (20250105-1). perltidy set to manually installed. libyaml-0-2 is already the newest version (0.2.5-2+b1). libyaml-0-2 set to manually installed. perl-openssl-defaults is already the newest version (7+b2). perl-openssl-defaults set to manually installed. tar is already the newest version (1.35+dfsg-4). octave-common is already the newest version (11.3.0-1). octave-common 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. openssl-provider-legacy is already the newest version (3.6.3-1). plzip is already the newest version (1.13-1). plzip set to manually installed. octave-io is already the newest version (2.7.2-1). octave-io set to manually installed. libxxf86vm1 is already the newest version (1:1.1.4-2+b1). libxxf86vm1 set to manually installed. xz-utils is already the newest version (5.8.3-1). xz-utils set to manually installed. libxml2-16 is already the newest version (2.15.3+dfsg-1). libxml2-16 set to manually installed. tzdata is already the newest version (2026b-1). tzdata set to manually installed. octave-datatypes is already the newest version (1.2.6-1). octave-datatypes set to manually installed. readline-common is already the newest version (8.3-4). readline-common set to manually installed. xorg-sgml-doctools is already the newest version (1:1.12.1-1). xorg-sgml-doctools set to manually installed. libxml-sax-base-perl is already the newest version (1.09-3). libxml-sax-base-perl set to manually installed. octave is already the newest version (11.3.0-1). octave set to manually installed. x11-common is already the newest version (1:7.7+26). x11-common 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. libxml-libxml-perl is already the newest version (2.0207+dfsg+really+2.0134-8). libxml-libxml-perl set to manually installed. libyaml-tiny-perl is already the newest version (1.76-1). libyaml-tiny-perl set to manually installed. patchutils is already the newest version (0.4.5-1). patchutils set to manually installed. pkgconf is already the newest version (2.5.1-4). pkgconf set to manually installed. libxs-parse-keyword-perl is already the newest version (0.49-1+b1). libxs-parse-keyword-perl set to manually installed. man-db is already the newest version (2.13.1-1+b1). man-db set to manually installed. sensible-utils is already the newest version (0.0.26). sensible-utils set to manually installed. perl is already the newest version (5.40.1-8). perl set to manually installed. ncurses-base is already the newest version (6.6+20260608-2). x11proto-dev is already the newest version (2025.1-1). x11proto-dev set to manually installed. m4 is already the newest version (1.4.21-1). m4 set to manually installed. nettle-dev is already the newest version (3.10.2-1+b1). nettle-dev set to manually installed. lzop is already the newest version (1.04-2+b1). lzop set to manually installed. libxkbcommon-x11-0 is already the newest version (1.13.1-1). libxkbcommon-x11-0 set to manually installed. perl-base is already the newest version (5.40.1-8). patch is already the newest version (2.8-2+b1). patch set to manually installed. linux-libc-dev is already the newest version (7.1.3-1). linux-libc-dev set to manually installed. libxml-namespacesupport-perl is already the newest version (1.12-2). libxml-namespacesupport-perl set to manually installed. libyuv0 is already the newest version (0.0.1949.20260706-1). libyuv0 set to manually installed. libyaml-libyaml-perl is already the newest version (0.910.0+ds-1). libyaml-libyaml-perl set to manually installed. texinfo-lib is already the newest version (7.3-2). texinfo-lib set to manually installed. po-debconf is already the newest version (1.0.22). po-debconf set to manually installed. libz3-4 is already the newest version (4.13.3-1.1). libz3-4 set to manually installed. pkgconf-bin is already the newest version (2.5.1-4). pkgconf-bin set to manually installed. xkb-data is already the newest version (2.47-1). xkb-data set to manually installed. ncurses-bin is already the newest version (6.6+20260608-2). libxpm4 is already the newest version (1:3.5.19-1). libxpm4 set to manually installed. zlib1g is already the newest version (1:1.3.dfsg+really1.3.2-3). procps is already the newest version (2:4.0.6-2). procps set to manually installed. libxinerama1 is already the newest version (2:1.1.4-3+b5). libxinerama1 set to manually installed. libxmlb2 is already the newest version (0.3.28-1). libxmlb2 set to manually installed. libxshmfence1 is already the newest version (1.3.3-1+b2). libxshmfence1 set to manually installed. libyaml-pp-perl is already the newest version (0.41.0-1). libyaml-pp-perl set to manually installed. Solving dependencies... 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.ZvaSxSMH56 (Reading database ... 38165 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.ZvaSxSMH56 I: running special hook: download /pkglist ./pkglist I: running --customize-hook in shell: sh -c 'rm "$1/pkglist"' exec /srv/rebuilderd/tmp/mmdebstrap.ZvaSxSMH56 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.ZvaSxSMH56... I: success in 625.6637 seconds Downloading packages 1to 100 out of 680 Downloading packages 101to 200 out of 680 Downloading packages 201to 300 out of 680 Downloading packages 301to 400 out of 680 Downloading packages 401to 500 out of 680 Downloading packages 501to 600 out of 680 Downloading packages 601to 680 out of 680 env --chdir=/srv/rebuilderd/tmp/rebuilderdD0NztJ/out DEB_BUILD_OPTIONS=parallel=8 LANG=C.UTF-8 LC_COLLATE=C.UTF-8 LC_CTYPE=C.UTF-8 SOURCE_DATE_EPOCH=1783842663 SBUILD_CONFIG=/srv/rebuilderd/tmp/debrebuildYmLQF5/debrebuild.sbuildrc.cQa_mN0DsZNi sbuild --build=loong64 --host=loong64 --arch-any --no-arch-all --chroot=/srv/rebuilderd/tmp/debrebuildYmLQF5/debrebuild.tar.BZMZWL2Bj8ea --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/rebuilderdD0NztJ/inputs/octave-statistics_1.8.4-1.dsc I: consider moving your ~/.sbuildrc to /srv/rebuilderd/.config/sbuild/config.pl sbuild (Debian sbuild) 0.91.10 (27 June 2026) on loong64-02 +==============================================================================+ | octave-statistics 1.8.4-1 (loong64) Sun, 06 Sep 2026 02:12:16 +0000 | +==============================================================================+ Package: octave-statistics Version: 1.8.4-1 Source Version: 1.8.4-1 Distribution: unstable Machine Architecture: loong64 Host Architecture: loong64 Build Architecture: loong64 Build Type: any I: No tarballs found in /srv/rebuilderd/.cache/sbuild I: Unpacking /srv/rebuilderd/tmp/debrebuildYmLQF5/debrebuild.tar.BZMZWL2Bj8ea to /srv/rebuilderd/tmp/tmp.sbuild.4cNWO4npGs... I: Setting up the chroot... I: Creating chroot session... I: Setting up log color... I: Setting up apt archive... +------------------------------------------------------------------------------+ | Fetch source files Sun, 06 Sep 2026 02:12:34 +0000 | +------------------------------------------------------------------------------+ Local sources ------------- /srv/rebuilderd/tmp/rebuilderdD0NztJ/inputs/octave-statistics_1.8.4-1.dsc exists in /srv/rebuilderd/tmp/rebuilderdD0NztJ/inputs; copying to chroot +------------------------------------------------------------------------------+ | Install package build dependencies Sun, 06 Sep 2026 02:12: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-FwCWot/apt_archive/sbuild-build-depends-main-dummy.deb'. Install main build dependencies (apt-based resolver) ---------------------------------------------------- Installing build dependencies +------------------------------------------------------------------------------+ | Check architectures Sun, 06 Sep 2026 02:13:00 +0000 | +------------------------------------------------------------------------------+ Arch check ok (loong64 included in any all) +------------------------------------------------------------------------------+ | Build environment Sun, 06 Sep 2026 02:13:04 +0000 | +------------------------------------------------------------------------------+ Kernel: Linux 7.1.12+deb14-loong64 #1 SMP PREEMPT Debian 7.1.12-1 (2026-08-28) loong64 (loongarch64) 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+b1 bash_5.3-3 binutils_2.46.50.20260617-1 binutils-common_2.46.50.20260617-1 binutils-loongarch64-linux-gnu_2.46.50.20260617-1 bsdextrautils_2.42.2-1 build-essential_12.12+b1 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-loongarch64-linux-gnu_15.3.0-1 cpp-loongarch64-linux-gnu_4:15.2.0-5+b1 dash_0.5.12-12+b1 debconf_1.5.92 debhelper_14.3 debianutils_5.23.2+b1 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+b1 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-loongarch64-linux-gnu_15.3.0-1 g++-loongarch64-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-loongarch64-linux-gnu_15.3.0-1 gcc-16-base_16.1.0-2 gcc-loongarch64-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-loongarch64-linux-gnu_15.3.0-1 gfortran-loongarch64-linux-gnu_4:15.2.0-5+b1 gnuplot-data_6.0.3+dfsg1-1 gnuplot-nox_6.0.3+dfsg1-1+b1 gpg_2.4.9-7 gpgconf_2.4.9-7 grep_3.12-1+b1 groff-base_1.24.1-1 gzip_1.13-1+b1 hdf5-helpers_1.14.6+repack-2+b1 hostname_3.25+b1 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+b1 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+b1 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+b1 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+b1 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 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+b1 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-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+b1 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 libgraphicsmagick++-q16-12t64_1.4+really1.3.46-2+b1 libgraphicsmagick-q16-3t64_1.4+really1.3.46-2+b1 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 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+b1 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+b1 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+b1 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 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+b1 libperlio-utf8-strict-perl_0.010-1+b2 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 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 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+b1 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+b1 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+b1 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+b1 libtext-markdown-discount-perl_0.18-1+b1 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+b1 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+b1 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+b1 m4_1.4.21-1 make_4.4.1-3+b1 man-db_2.13.1-1+b1 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+b1 patchutils_0.4.5-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+b2 sysvinit-utils_3.18-1 t1utils_1.41-4+b1 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+b1 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 Sun, 06 Sep 2026 02:13:04 +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 clean up apt cache ------------------ Can't exec "apt-get": No such file or directory at /usr/libexec/sbuild-usernsexec line 613. Failed to exec: apt-get: No such file or directory at /usr/libexec/sbuild-usernsexec line 614. E: cleaning the apt cache failed with 512 Check disk space ---------------- Sufficient free space for build User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf DEB_BUILD_OPTIONS=parallel=8 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 loong64 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/loongarch64-linux-gnu/octave/packages mkdir (/tmp/oct-1ojPhg) untar (/tmp//octave-statistics-1.8.4.tar.gz, /tmp/oct-1ojPhg) make[1]: Entering directory '/tmp/oct-1ojPhg/octave-statistics-1.8.4/src' /usr/bin/mkoctfile --verbose editDistance.cc /usr/bin/mkoctfile --verbose libsvmread.cc /usr/bin/mkoctfile --verbose libsvmwrite.cc /usr/bin/mkoctfile --verbose svmpredict.cc svm.cpp svm_model_octave.cc /usr/bin/mkoctfile --verbose svmtrain.cc svm.cpp svm_model_octave.cc /usr/bin/mkoctfile --verbose fcnntrain.cc /usr/bin/mkoctfile --verbose fcnnpredict.cc loongarch64-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 -Wformat -Werror=format-security libsvmread.cc -o /tmp/oct-vc6DKe.o loongarch64-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 -Wformat -Werror=format-security editDistance.cc -o /tmp/oct-k1VDou.o loongarch64-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 -Wformat -Werror=format-security libsvmwrite.cc -o /tmp/oct-e9Pt9t.o loongarch64-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 -Wformat -Werror=format-security svmtrain.cc -o /tmp/oct-aE0xaE.o loongarch64-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 -Wformat -Werror=format-security svmpredict.cc -o /tmp/oct-6XP6K8.o loongarch64-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 -Wformat -Werror=format-security fcnntrain.cc -o /tmp/oct-TN1Nh1.o loongarch64-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 -Wformat -Werror=format-security fcnnpredict.cc -o /tmp/oct-7ztYgk.o loongarch64-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 -Wformat -Werror=format-security -o libsvmwrite.oct /tmp/oct-e9Pt9t.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro loongarch64-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 -Wformat -Werror=format-security -o libsvmread.oct /tmp/oct-vc6DKe.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro loongarch64-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 -Wformat -Werror=format-security svm.cpp -o /tmp/oct-mNLbac.o loongarch64-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 -Wformat -Werror=format-security svm.cpp -o /tmp/oct-rmXLiE.o loongarch64-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 -Wformat -Werror=format-security svm_model_octave.cc -o /tmp/oct-3xjV2Q.o loongarch64-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 -Wformat -Werror=format-security svm_model_octave.cc -o /tmp/oct-kqeWdV.o loongarch64-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 -Wformat -Werror=format-security -o editDistance.oct /tmp/oct-k1VDou.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro loongarch64-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 -Wformat -Werror=format-security -o fcnnpredict.oct /tmp/oct-7ztYgk.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro loongarch64-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 -Wformat -Werror=format-security -o fcnntrain.oct /tmp/oct-TN1Nh1.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro loongarch64-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 -Wformat -Werror=format-security -o svmtrain.oct /tmp/oct-aE0xaE.o /tmp/oct-mNLbac.o /tmp/oct-3xjV2Q.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro loongarch64-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 -Wformat -Werror=format-security -o svmpredict.oct /tmp/oct-6XP6K8.o /tmp/oct-rmXLiE.o /tmp/oct-kqeWdV.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro make[1]: Leaving directory '/tmp/oct-1ojPhg/octave-statistics-1.8.4/src' copyfile /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/editDistance.oct /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/fcnnpredict.oct /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/fcnntrain.oct /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/libsvmread.oct /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/libsvmwrite.oct /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/svmpredict.oct /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/svmtrain.oct /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/editDistance.cc-tst /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/fcnnpredict.cc-tst /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/fcnntrain.cc-tst /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/libsvmread.cc-tst /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/libsvmwrite.cc-tst /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/svmpredict.cc-tst /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/svmtrain.cc-tst /tmp/oct-1ojPhg/octave-statistics-1.8.4/src/doc-cache /tmp/oct-1ojPhg/octave-statistics-1.8.4/inst/loongarch64-unknown-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/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/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/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/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/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/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/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/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/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/Clustering/hnswSearcher.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Clustering/hnswSearcher.m ***** demo ## Create an hnswSearcher with Euclidean distance X = [1, 2; 3, 4; 5, 6]; obj = hnswSearcher (X); ## Find the nearest neighbor to [2, 3] Y = [2, 3]; [idx, D] = knnsearch (obj, Y, 'K', 1); disp ('Nearest neighbor index:'); disp (idx); disp ('Distance:'); disp (D); ***** demo ## Create an hnswSearcher with Minkowski distance (P=3) X = [0, 0; 1, 0; 2, 0]; obj = hnswSearcher (X, 'Distance', 'minkowski', 'P', 3); ## Find the nearest neighbor to [1, 0] Y = [1, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1); disp ('Nearest neighbor index:'); disp (idx); disp ('Distance:'); disp (D); ***** test load fisheriris X = meas; obj = hnswSearcher (X, 'Distance', 'chebychev'); Y = X(30:35,:); [idx, D] = knnsearch (obj, Y, 'K', 4); assert_equal (idx, [[30 31 4 12]; [31 30 10 35]; [32 21 37 28]; [33 47 20 34]; ... [34 16 33 15]; [35 10 26 2]]) assert_equal (D, [[0 0.1000 0.1000 0.2000]; [0 0.1000 0.1000 0.1000]; [0 0.2000 ... 0.2000 0.2000]; [0 0.3000 0.3000 0.3000]; [0 0.2000 0.3000 ... 0.3000]; [0 0.1000 0.1000 0.1000]], 5e-15) ***** test load fisheriris X = meas; C = cov (X); obj = hnswSearcher (X, 'Distance', 'mahalanobis', 'Cov', C); Y = X(120:125,:); [idx, D] = knnsearch (obj, Y, 'K', 2); assert_equal (idx(1, :), [120 82]) assert_equal (idx(4, :), [123 106]) assert_equal (idx(5, :), [124 127]) assert_equal (idx(6, :), [125 57]) assert_equal (D(1, :), [0 0.7734], 1e-4) assert_equal (D(4, :), [0 0.8452], 1e-4) assert_equal (D(5, :), [0 0.4152], 1e-4) assert_equal (D(6, :), [0 0.7322], 1e-4) ***** test ## Basic constructor with default Euclidean X = [1, 2; 3, 4; 5, 6]; obj = hnswSearcher (X); assert_equal (obj.X, X); assert_equal (obj.Distance, "euclidean"); assert_equal (isempty (obj.DistParameter), true); ***** test ## Minkowski distance with custom P X = [0, 0; 1, 1; 2, 2]; obj = hnswSearcher (X, 'Distance', 'minkowski', 'P', 3); assert_equal (obj.Distance, "minkowski"); assert_equal (obj.DistParameter, 3); ***** test ## Seuclidean distance with custom Scale X = [1, 2; 3, 4; 5, 6]; S = [1, 2]; obj = hnswSearcher (X, 'Distance', 'seuclidean', 'Scale', S); assert_equal (obj.Distance, "seuclidean"); assert_equal (obj.DistParameter, S); ***** test ## Mahalanobis distance with custom Cov X = [1, 2; 3, 4; 5, 6]; C = [1, 0; 0, 1]; obj = hnswSearcher (X, 'Distance', 'mahalanobis', 'Cov', C); assert_equal (obj.Distance, "mahalanobis"); assert_equal (obj.DistParameter, C); ***** test ## knnsearch with Euclidean distance X = [1, 2; 3, 4; 5, 6]; obj = hnswSearcher (X); Y = [2, 3]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [2]), true); assert_equal (abs (D - sqrt (2)) < 1e-2, true); ***** test ## knnsearch with Cityblock distance X = [0, 0; 1, 1; 2, 2]; obj = hnswSearcher (X, 'Distance', 'cityblock'); Y = [1, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [1, 2]), true); assert_equal (abs (D - 1) < 1e-2, true); ***** test ## knnsearch with Chebychev distance X = [1, 1; 2, 3; 4, 2]; obj = hnswSearcher (X, 'Distance', 'chebychev'); Y = [2, 2]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [1, 2]), true); assert_equal (abs (D - 1) < 1e-2, true); ***** test ## knnsearch with Minkowski P=3 X = [0, 0; 1, 0; 2, 0]; obj = hnswSearcher (X, 'Distance', 'minkowski', 'P', 3); Y = [1, 0]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [2]), true); assert_equal (abs (D - 0) < 1e-2, true); ***** test ## Diverse dataset with Euclidean X = [0, 10; 5, 5; 10, 0]; obj = hnswSearcher (X); Y = [5, 5]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [2]), true); assert_equal (abs (D - 0) < 1e-2, true); ***** test ## High-dimensional data with Cityblock X = [1, 2, 3; 4, 5, 6; 7, 8, 9]; obj = hnswSearcher (X, 'Distance', 'cityblock'); Y = [4, 5, 6]; [idx, D] = knnsearch (obj, Y, 'K', 1); assert_equal (ismember (idx, [2]), true); assert_equal (abs (D - 0) < 1e-2, true); ***** error ... hnswSearcher () ***** error ... hnswSearcher (ones (3,2), 'Distance') ***** error ... hnswSearcher ([]) ***** error ... hnswSearcher ('abc') ***** error ... hnswSearcher ([1; Inf; 3]) ***** error ... hnswSearcher (ones (3,2), 'foo', 'bar') ***** error ... hnswSearcher (ones (3,2), 'Distance', 'invalid') ***** error ... hnswSearcher (ones (3,2), 'Distance', 1) ***** error ... hnswSearcher (ones (3,2), 'Distance', 'minkowski', 'P', -1) ***** error ... hnswSearcher (ones (3,2), 'Distance', 'seuclidean', 'Scale', [-1, 1]) ***** error ... hnswSearcher (ones (3,2), 'Distance', 'mahalanobis', 'Cov', ones (3,3)) ***** error ... hnswSearcher (ones (3,2), 'Distance', 'mahalanobis', 'Cov', [1, 2; 3, 4]) ***** error ... hnswSearcher (ones (3,2), 'Distance', 'mahalanobis', 'Cov', -eye (2)) ***** error ... hnswSearcher (ones (3,2), 'MaxNumLinksPerNode', 0) ***** error ... hnswSearcher (ones (3,2), 'TrainSetSize', -1) ***** error ... hnswSearcher (ones (3,2), 'TrainSetSize', 4) ***** error ... hnswSearcher (ones (3,2), 'MaxNumLinksPerNode', 200, 'TrainSetSize', 100) ***** error ... knnsearch (hnswSearcher (ones (3,2))) ***** error ... knnsearch (hnswSearcher (ones (3,2)), ones (3,2), 'K') ***** error ... knnsearch (hnswSearcher (ones (3,2)), []) ***** error ... knnsearch (hnswSearcher (ones (3,2)), 'abc') ***** error ... knnsearch (hnswSearcher (ones (3,2)), ones (3,3)) ***** error ... knnsearch (hnswSearcher (ones (3,2)), ones (3,2), 'K', 0) ***** error ... knnsearch (hnswSearcher (ones (3,2)), ones (3,2), 'foo', 'bar') ***** error ... obj = hnswSearcher (ones (3,2)); obj(1) ***** error ... obj = hnswSearcher (ones (3,2)); obj{1} ***** error ... obj = hnswSearcher (ones (3,2)); obj.invalid ***** error ... obj = hnswSearcher (ones (3,2)); obj(1) = 1 ***** error ... obj = hnswSearcher (ones (3,2)); obj{1} = 1 ***** error ... obj = hnswSearcher (ones (3,2)); obj.X = 1 ***** error ... obj = hnswSearcher (ones (3,2)); obj.HNSWGraph = 1 ***** error ... obj = hnswSearcher (ones (3,2)); obj.Distance = 'invalid' ***** error ... obj = hnswSearcher (ones (3,2)); obj.Distance = 1 ***** error ... obj = hnswSearcher (ones (3,2), 'Distance', 'minkowski'); obj.DistParameter = -1 ***** error ... obj = hnswSearcher (ones (3,2), 'Distance', 'seuclidean'); obj.DistParameter = [-1, 1] ***** error ... obj = hnswSearcher (ones (3,2), 'Distance', 'mahalanobis'); obj.DistParameter = ones (3,3) ***** error ... obj = hnswSearcher (ones (3,2), 'Distance', 'mahalanobis'); obj.DistParameter = -eye (2) ***** error ... obj = hnswSearcher (ones (3,2)); obj.DistParameter = 1 ***** error ... obj = hnswSearcher (ones (3,2)); obj.MaxNumLinksPerNode = 0 ***** error ... obj = hnswSearcher (ones (3,2)); obj.TrainSetSize = -1 ***** error ... obj = hnswSearcher (ones (3,2)); obj.efSearch = 1.5 ***** error ... obj = hnswSearcher (ones (3,2)); obj.invalid = 1 54 tests, 54 passed, 0 known failure, 0 skipped [inst/Clustering/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.CxedO3yT3P at line 94 column 2 2 tests, 2 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/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/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/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/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/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/anova1.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/anova1.m ***** demo x = meshgrid (1:6); randn ('seed', 15); # for reproducibility x = x + normrnd (0, 1, 6, 6); anova1 (x, [], 'off'); ***** demo x = meshgrid (1:6); randn ('seed', 15); # for reproducibility x = x + normrnd (0, 1, 6, 6); [p, atab] = anova1 (x); ***** demo x = ones (50, 4) .* [-2, 0, 1, 5]; randn ('seed', 13); # for reproducibility x = x + normrnd (0, 2, 50, 4); groups = {'A', 'B', 'C', 'D'}; anova1 (x, groups); ***** demo y = [54 87 45; 23 98 39; 45 64 51; 54 77 49; 45 89 50; 47 NaN 55]; g = [1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ]; anova1 (y(:), g(:), 'on', 'unequal'); ***** test data = [1.006, 0.996, 0.998, 1.000, 0.992, 0.993, 1.002, 0.999, 0.994, 1.000, ... 0.998, 1.006, 1.000, 1.002, 0.997, 0.998, 0.996, 1.000, 1.006, 0.988, ... 0.991, 0.987, 0.997, 0.999, 0.995, 0.994, 1.000, 0.999, 0.996, 0.996, ... 1.005, 1.002, 0.994, 1.000, 0.995, 0.994, 0.998, 0.996, 1.002, 0.996, ... 0.998, 0.998, 0.982, 0.990, 1.002, 0.984, 0.996, 0.993, 0.980, 0.996, ... 1.009, 1.013, 1.009, 0.997, 0.988, 1.002, 0.995, 0.998, 0.981, 0.996, ... 0.990, 1.004, 0.996, 1.001, 0.998, 1.000, 1.018, 1.010, 0.996, 1.002, ... 0.998, 1.000, 1.006, 1.000, 1.002, 0.996, 0.998, 0.996, 1.002, 1.006, ... 1.002, 0.998, 0.996, 0.995, 0.996, 1.004, 1.004, 0.998, 0.999, 0.991, ... 0.991, 0.995, 0.984, 0.994, 0.997, 0.997, 0.991, 0.998, 1.004, 0.997]; group = [1:10] .* ones (10,10); group = group(:); [p, tbl] = anova1 (data, group, 'off'); assert_equal (p, 0.022661, 1e-6); assert_equal (tbl{2,5}, 2.2969, 1e-4); assert_equal (tbl{2,3}, 9, 0); assert_equal (tbl{4,2}, 0.003903, 1e-6); data = reshape (data, 10, 10); [p, tbl, stats] = anova1 (data, [], 'off'); assert_equal (p, 0.022661, 1e-6); assert_equal (tbl{2,5}, 2.2969, 1e-4); assert_equal (tbl{2,3}, 9, 0); assert_equal (tbl{4,2}, 0.003903, 1e-6); means = [0.998, 0.9991, 0.9954, 0.9982, 0.9919, 0.9988, 1.0015, 1.0004, 0.9983, 0.9948]; N = 10 * ones (1, 10); assert_equal (stats.means, means, 1e-6); assert_equal (length (stats.gnames), 10, 0); assert_equal (stats.n, N, 0); ***** test y = [54 87 45; 23 98 39; 45 64 51; 54 77 49; 45 89 50; 47 NaN 55]; g = [1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ; 1 2 3 ]; [p, tbl] = anova1 (y(:), g(:), 'off', 'equal'); assert_equal (p, 0.00004163, 1e-6); assert_equal (tbl{2,5}, 22.573418, 1e-6); assert_equal (tbl{2,3}, 2, 0); assert_equal (tbl{3,3}, 14, 0); [p, tbl] = anova1 (y(:), g(:), 'off', 'unequal'); assert_equal (p, 0.00208877, 1e-8); assert_equal (tbl{2,5}, 15.523192, 1e-6); assert_equal (tbl{2,3}, 2, 0); assert_equal (tbl{2,4}, 7.5786897, 1e-6); ***** test y = [54, 87, 45; 23, 98, 39; 45, 64, 51; ... 54, 77, 49; 45, 89, 50; 47, NaN, 55]; g = categorical ([1, 2, 3; 1, 2, 3; 1, 2, 3; 1, 2, 3; 1, 2, 3; 1, 2, 3]); [p, tbl] = anova1 (y(:), g(:), 'off', 'equal'); assert_equal (p, 0.00004163, 1e-6); assert_equal (tbl{2,5}, 22.573418, 1e-6); assert_equal (tbl{2,3}, 2, 0); assert_equal (tbl{3,3}, 14, 0); [p, tbl] = anova1 (y(:), g(:), 'off', 'unequal'); assert_equal (p, 0.00208877, 1e-8); assert_equal (tbl{2,5}, 15.523192, 1e-6); assert_equal (tbl{2,3}, 2, 0); assert_equal (tbl{2,4}, 7.5786897, 1e-6); ***** test y = [10; 20; 9999; NaN; 40; 50]; g = [1; 1; NaN; 1; 2; 2]; [p, tbl, stats] = anova1 (y, g, 'off'); assert_equal (p, 0.051317, 1e-6); assert_equal (tbl{2,5}, 18, 1e-6); assert_equal (tbl{2,3}, 1, 0); assert_equal (tbl{3,3}, 2, 0); assert_equal (tbl{4,3}, 3, 0); assert_equal (stats.n, [2, 2], 0); ***** test y = [10; 20; 9999; NaN; 40; 50]; g = categorical ([1; 1; NaN; 1; 2; 2]); [p, tbl, stats] = anova1 (y, g, 'off'); assert_equal (p, 0.051317, 1e-6); assert_equal (tbl{2,5}, 18, 1e-6); assert_equal (tbl{2,3}, 1, 0); assert_equal (tbl{3,3}, 2, 0); assert_equal (tbl{4,3}, 3, 0); assert_equal (stats.n, [2, 2], 0); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/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/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/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/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/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/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/ClassificationKNN.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/ClassificationKNN.m ***** demo ## Create a k-nearest neighbor classifier for Fisher's iris data with k = 5. ## Evaluate some model predictions on new data. load fisheriris x = meas; y = species; xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 5, 'Standardize', 1); [label, score, cost] = predict (obj, xc) ***** demo load fisheriris x = meas; y = species; obj = fitcknn (x, y, 'NumNeighbors', 5, 'Standardize', 1); ## Create a cross-validated model CVMdl = crossval (obj) ***** demo load fisheriris x = meas; y = species; covMatrix = cov (x); ## Fit the k-NN model using the 'mahalanobis' distance ## and the custom covariance matrix obj = fitcknn (x, y, 'NumNeighbors', 5, 'Distance','mahalanobis', ... 'Cov', covMatrix); ## Create a partition model using cvpartition Partition = cvpartition (size (x, 1), 'kfold', 12); ## Create cross-validated model using 'cvPartition' name-value argument CVMdl = crossval (obj, 'cvPartition', Partition) ## Access the trained model from first fold of cross-validation CVMdl.Trained{1} ***** demo X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); customLossFun = @(C, S, W, Cost) sum (W .* sum (abs (C - S), 2)); ## Calculate loss using custom loss function L = loss (model, X, Y, 'LossFun', customLossFun) ***** demo X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); ## Calculate loss using 'mincost' loss function L = loss (model, X, Y, 'LossFun', 'mincost') ***** demo X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '3']; model = fitcknn (X, Y); X_test = [3, 3; 5, 7]; Y_test = ['1'; '2']; ## Specify custom Weights W = [1; 2]; L = loss (model, X_test, Y_test, 'LossFun', 'logit', 'Weights', W); ***** demo load fisheriris mdl = fitcknn (meas, species); X = mean (meas); Y = {'versicolor'}; m = margin (mdl, X, Y) ***** demo X = [1, 2; 4, 5; 7, 8; 3, 2]; Y = [2; 1; 3; 2]; ## Train the model mdl = fitcknn (X, Y); ## Specify Vars and Labels Vars = 1; Labels = 2; ## Calculate partialDependence [pd, x, y] = partialDependence (mdl, Vars, Labels); ***** demo X = [1, 2; 4, 5; 7, 8; 3, 2]; Y = [2; 1; 3; 2]; ## Train the model mdl = fitcknn (X, Y); ## Specify Vars and Labels Vars = 1; Labels = 1; queryPoints = [linspace(0, 1, 3)', linspace(0, 1, 3)']; ## Calculate partialDependence using queryPoints [pd, x, y] = partialDependence (mdl, Vars, Labels, 'QueryPoints', ... queryPoints) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y, 'NSMethod', 'exhaustive'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; k = 10; a = ClassificationKNN (x, y, 'NumNeighbors' ,k); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = ones (4, 11); y = ['a'; 'a'; 'b'; 'b']; k = 10; a = ClassificationKNN (x, y, 'NumNeighbors' ,k); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; k = 10; a = ClassificationKNN (x, y, 'NumNeighbors' ,k, 'NSMethod', 'exhaustive'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; k = 10; a = ClassificationKNN (x, y, 'NumNeighbors' ,k, 'Distance', 'hamming'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 10}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'hamming'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; weights = ones (4,1); a = ClassificationKNN (x, y, 'Standardize', 1); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.Standardize}, {true}) assert_equal ({a.Sigma}, {std(x, [], 1)}) assert_equal ({a.Mu}, {[3.75, 4.25, 4.75]}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; weights = ones (4,1); a = ClassificationKNN (x, y, 'Standardize', false); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.X, a.Y, a.NumNeighbors}, {x, y, 1}) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.Standardize}, {false}) assert_equal ({a.Sigma}, {[]}) assert_equal ({a.Mu}, {[]}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; s = ones (1, 3); a = ClassificationKNN (x, y, 'Scale' , s, 'Distance', 'seuclidean'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.DistParameter}, {s}) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'seuclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y, 'Exponent' , 5, 'Distance', 'minkowski'); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.DistParameter, 5) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'minkowski'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y, 'Exponent' , 5, 'Distance', 'minkowski', ... 'NSMethod', 'exhaustive'); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.DistParameter, 5) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'minkowski'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y, 'BucketSize' , 20, 'distance', 'mahalanobis'); assert_equal (class (a), "ClassificationKNN"); assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'mahalanobis'}) assert_equal ({a.BucketSize}, {20}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y, 'IncludeTies', true); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.IncludeTies, true); assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y); assert_equal (class (a), "ClassificationKNN"); assert_equal (a.IncludeTies, false); assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; a = ClassificationKNN (x, y); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, [0.5; 0.5]) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; prior = [0.5; 0.5]; a = ClassificationKNN (x, y, 'Prior', 'empirical'); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, prior) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'a'; 'b']; prior = [0.75; 0.25]; a = ClassificationKNN (x, y, 'Prior', 'empirical'); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, prior) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'a'; 'b']; prior = [0.5; 0.5]; a = ClassificationKNN (x, y, 'Prior', 'uniform'); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Prior, prior) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; cost = eye (2); a = ClassificationKNN (x, y, 'Cost', cost); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Cost, [1, 0; 0, 1]) assert_equal ({a.NSMethod, a.Distance}, {'kdtree', 'euclidean'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2, 3; 4, 5, 6; 7, 8, 9; 3, 2, 1]; y = ['a'; 'a'; 'b'; 'b']; cost = eye (2); a = ClassificationKNN (x, y, 'Cost', cost, 'Distance', 'hamming' ); assert_equal (class (a), "ClassificationKNN") assert_equal (a.Cost, [1, 0; 0, 1]) assert_equal ({a.NSMethod, a.Distance}, {'exhaustive', 'hamming'}) assert_equal ({a.BucketSize}, {50}) ***** test x = [1, 2; 3, 4; 5,6; 5, 8]; y = {'9'; '9'; '6'; '7'}; a = ClassificationKNN (x, y); assert_equal (a.Prior, [0.25; 0.25; 0.5]) ***** test load fisheriris x = meas; y = species; ClassNames = {'setosa', 'versicolor', 'virginica'}; a = ClassificationKNN (x, y, 'ClassNames', ClassNames); assert_equal (a.ClassNames, ClassNames') ***** error ClassificationKNN () ***** error ... ClassificationKNN (ones (4, 1)) ***** error ... ClassificationKNN (ones (4,2), ones (1,4)) ***** error ... ClassificationKNN (ones (5,3), ones (5,1), 'standardize', 'a') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'scale', [1 1], 'standardize', true) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'PredictorNames', ['A']) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'PredictorNames', 'A') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'PredictorNames', {'A', 'B', 'C'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'ResponseName', {'Y'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'ResponseName', 1) ***** error ... ClassificationKNN (ones (10,2), ones (10,1), 'ClassNames', @(x)x) ***** error ... ClassificationKNN (ones (10,2), ones (10,1), 'ClassNames', {1}) ***** error ... ClassificationKNN (ones (10,2), ones (10,1), 'ClassNames', [1, 2]) ***** error ... ClassificationKNN (ones (5,2), ['a';'b';'a';'a';'b'], 'ClassNames', ['a';'c']) ***** error ... ClassificationKNN (ones (5,2), {'a';'b';'a';'a';'b'}, 'ClassNames', {'a','c'}) ***** error ... ClassificationKNN (ones (10,2), logical (ones (10,1)), 'ClassNames', [true, false]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BreakTies', 1) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BreakTies', {'1'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BreakTies', 'some') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Prior', {'1', '2'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cost', [1, 2]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cost', 'string') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cost', {eye(2)}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NumNeighbors', 0) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NumNeighbors', 15.2) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NumNeighbors', 'asd') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', 'somemetric') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', ... @(v,m)sqrt (repmat (v,rows (m),1)-m,2)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', ... @(v,m)sqrt (sum (sumsq (repmat (v,rows (m),1)-m,2)))) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', [1 2 3]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', {'mahalanobis'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', logical (5)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'DistanceWeight', @(x)sum (x)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'DistanceWeight', 'text') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'DistanceWeight', [1 2 3]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Scale', 'scale') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Scale', {[1 2 3]}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'standardize', true, 'scale', [1 1]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cov', ones (2), 'Distance', 'mahalanobis') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'scale', [1 1], 'Cov', ones (2)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Exponent', 12.5) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Exponent', -3) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Exponent', 'three') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Exponent', {3}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NSMethod', {'kdtree'}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NSMethod', 3) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'NSMethod', 'some') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'IncludeTies', 'some') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BucketSize', 42.5) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BucketSize', -50) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BucketSize', 'some') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'BucketSize', {50}) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'some', 'some') ***** error ... ClassificationKNN ([1;2;3;'a';4], ones (5,1)) ***** error ... ClassificationKNN ([1;2;3;Inf;4], ones (5,1)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Prior', [1 2]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cost', [1 2; 1 3]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Scale', [1 1]) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Scale', [1 1 1], 'Distance', 'seuclidean') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Scale', [1 -1], 'Distance', 'seuclidean') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cov', eye (2)) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Cov', eye (3), 'Distance', 'mahalanobis') ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Exponent', 3) ***** error ... ClassificationKNN (ones (5,2), ones (5,1), 'Distance', 'hamming', 'NSMethod', 'kdtree') ***** shared x, y load fisheriris x = meas; y = species; ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 5); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'; 'versicolor'; 'virginica'}) assert_equal (s, [1, 0, 0; 0, 1, 0; 0, 0, 1]) assert_equal (c, [0, 1, 1; 1, 0, 1; 1, 1, 0]) ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 5, 'Standardize', 1); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'; 'versicolor'; 'virginica'}) assert_equal (s, [0.4, 0.6, 0; 0, 1, 0; 0, 0, 1]) assert_equal (c, [0.6, 0.4, 1; 1, 0, 1; 1, 1, 0]) ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'mahalanobis'); [l, s, c] = predict (obj, xc); assert_equal (s, [0.3, 0.7, 0; 0, 0.9, 0.1; 0.2, 0.2, 0.6], 1e-4) assert_equal (c, [0.7, 0.3, 1; 1, 0.1, 0.9; 0.8, 0.8, 0.4], 1e-4) ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'cosine'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'; 'versicolor'; 'virginica'}) assert_equal (s, [1, 0, 0; 0, 1, 0; 0, 0.3, 0.7], 1e-4) assert_equal (c, [0, 1, 1; 1, 0, 1; 1, 0.7, 0.3], 1e-4) ***** test xc = [5.2, 4.1, 1.5, 0.1; 5.1, 3.8, 1.9, 0.4; ... 5.1, 3.8, 1.5, 0.3; 4.9, 3.6, 1.4, 0.1]; obj = fitcknn (x, y, 'NumNeighbors', 5); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'; 'setosa'; 'setosa'; 'setosa'}) assert_equal (s, [1, 0, 0; 1, 0, 0; 1, 0, 0; 1, 0, 0]) assert_equal (c, [0, 1, 1; 0, 1, 1; 0, 1, 1; 0, 1, 1]) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 5); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 0.6, 0.4], 1e-4) assert_equal (c, [1, 0.4, 0.6], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'minkowski', 'Exponent', 5); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 0.5, 0.5], 1e-4) assert_equal (c, [1, 0.5, 0.5], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'jaccard'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'}) assert_equal (s, [0.9, 0.1, 0], 1e-4) assert_equal (c, [0.1, 0.9, 1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'mahalanobis'); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0.1000, 0.5000, 0.4000], 1e-4) assert_equal (c, [0.9000, 0.5000, 0.6000], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 5, 'distance', 'jaccard'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'}) assert_equal (s, [0.8, 0.2, 0], 1e-4) assert_equal (c, [0.2, 0.8, 1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 5, 'distance', 'seuclidean'); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 1, 0], 1e-4) assert_equal (c, [1, 0, 1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'chebychev'); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 0.7, 0.3], 1e-4) assert_equal (c, [1, 0.3, 0.7], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'cityblock'); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 0.6, 0.4], 1e-4) assert_equal (c, [1, 0.4, 0.6], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'cosine'); [l, s, c] = predict (obj, xc); assert_equal (l, {'virginica'}) assert_equal (s, [0, 0.1, 0.9], 1e-4) assert_equal (c, [1, 0.9, 0.1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'correlation'); [l, s, c] = predict (obj, xc); assert_equal (l, {'virginica'}) assert_equal (s, [0, 0.1, 0.9], 1e-4) assert_equal (c, [1, 0.9, 0.1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 30, 'distance', 'spearman'); [l, s, c] = predict (obj, xc); assert_equal (l, {'versicolor'}) assert_equal (s, [0, 1, 0], 1e-4) assert_equal (c, [1, 0, 1], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 30, 'distance', 'hamming'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'}) assert_equal (s, [0.4333, 0.3333, 0.2333], 1e-4) assert_equal (c, [0.5667, 0.6667, 0.7667], 1e-4) ***** test xc = [5, 3, 5, 1.45]; obj = fitcknn (x, y, 'NumNeighbors', 5, 'distance', 'hamming'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'}) assert_equal (s, [0.8, 0.2, 0], 1e-4) assert_equal (c, [0.2, 0.8, 1], 1e-4) ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'correlation'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa'; 'versicolor'; 'virginica'}) assert_equal (s, [1, 0, 0; 0, 1, 0; 0, 0.4, 0.6], 1e-4) assert_equal (c, [0, 1, 1; 1, 0, 1; 1, 0.6, 0.4], 1e-4) ***** test xc = [min(x); mean(x); max(x)]; obj = fitcknn (x, y, 'NumNeighbors', 10, 'distance', 'hamming'); [l, s, c] = predict (obj, xc); assert_equal (l, {'setosa';'setosa';'setosa'}) assert_equal (s, [0.9, 0.1, 0; 1, 0, 0; 0.5, 0, 0.5], 1e-4) assert_equal (c, [0.1, 0.9, 1; 0, 1, 1; 0.5, 1, 0.5], 1e-4) ***** error ... predict (ClassificationKNN (ones (4,2), ones (4,1))) ***** error ... predict (ClassificationKNN (ones (4,2), ones (4,1)), []) ***** error ... predict (ClassificationKNN (ones (4,2), ones (4,1)), 1) ***** test load fisheriris model = fitcknn (meas, species, 'NumNeighbors', 5); X = mean (meas); Y = {'versicolor'}; L = loss (model, X, Y); assert_equal (L, 0) ***** test load fisheriris model = fitcknn (meas, species, 'NumNeighbors', 5); L = loss (model, meas, species, 'LossFun', 'binodeviance'); assert_equal (L, 0.1413, 1e-4) ***** test load fisheriris model = fitcknn (meas, species); L = loss (model, meas, species, 'LossFun', 'binodeviance'); assert_equal (L, 0.1269, 1e-4) ***** test X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); X_test = [1, 6; 3, 3]; Y_test = {'A'; 'B'}; L = loss (model, X_test, Y_test); assert_equal (abs (L - 0.6667) > 1e-5, true) ***** test X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); X_with_nan = [1, 2; NaN, 4]; Y_test = {'A'; 'B'}; L = loss (model, X_with_nan, Y_test); assert_equal (abs (L - 0.3333) < 1e-4, true) ***** test X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); X_with_nan = [1, 2; NaN, 4]; Y_test = {'A'; 'B'}; L = loss (model, X_with_nan, Y_test, 'LossFun', 'logit'); assert_equal (isnan (L), true) ***** test X = [1, 2; 3, 4; 5, 6]; Y = {'A'; 'B'; 'A'}; model = fitcknn (X, Y); customLossFun = @(C, S, W, Cost) sum (W .* sum (abs (C - S), 2)); L = loss (model, X, Y, 'LossFun', customLossFun); assert_equal (L, 0) ***** test X = [1, 2; 3, 4; 5, 6]; Y = [1; 2; 1]; model = fitcknn (X, Y); L = loss (model, X, Y, 'LossFun', 'classiferror'); assert_equal (L, 0) ***** test X = [1, 2; 3, 4; 5, 6]; Y = [true; false; true]; model = fitcknn (X, Y); L = loss (model, X, Y, 'LossFun', 'binodeviance'); assert_equal (abs (L - 0.1269) < 1e-4, true) ***** test X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '1']; model = fitcknn (X, Y); L = loss (model, X, Y, 'LossFun', 'classiferror'); assert_equal (L, 0) ***** test X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '3']; model = fitcknn (X, Y); X_test = [3, 3]; Y_test = ['1']; L = loss (model, X_test, Y_test, 'LossFun', 'quadratic'); assert_equal (L, 1) ***** test X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '3']; model = fitcknn (X, Y); X_test = [3, 3; 5, 7]; Y_test = ['1'; '2']; L = loss (model, X_test, Y_test, 'LossFun', 'classifcost'); assert_equal (L, 1) ***** test X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '3']; model = fitcknn (X, Y); X_test = [3, 3; 5, 7]; Y_test = ['1'; '2']; L = loss (model, X_test, Y_test, 'LossFun', 'hinge'); assert_equal (L, 1) ***** test X = [1, 2; 3, 4; 5, 6]; Y = ['1'; '2'; '3']; model = fitcknn (X, Y); X_test = [3, 3; 5, 7]; Y_test = ['1'; '2']; W = [1; 2]; L = loss (model, X_test, Y_test, 'LossFun', 'logit', 'Weights', W); assert_equal (abs (L - 0.6931) < 1e-4, true) ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1))) ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2)) ***** error ... loss (ClassificationKNN (ones (40,2), randi ([1, 2], 40, 1)), [], zeros (2)) ***** error ... loss (ClassificationKNN (ones (40,2), randi ([1, 2], 40, 1)), 1, zeros (2)) ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2), ... ones (4,1), 'LossFun') ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2), ones (3,1)) ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2), ... ones (4,1), 'LossFun', 'a') ***** error ... loss (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2), ... ones (4,1), 'Weights', 'w') ***** test load fisheriris mdl = fitcknn (meas, species, 'NumNeighbors', 5); X = mean (meas); Y = {'versicolor'}; m = margin (mdl, X, Y); assert_equal (m, 1) ***** test X = [1, 2; 3, 4; 5, 6]; Y = [1; 2; 3]; mdl = fitcknn (X, Y); m = margin (mdl, X, Y); assert_equal (m, [1; 1; 1]) ***** test X = [7, 8; 9, 10]; Y = ['1'; '2']; mdl = fitcknn (X, Y); m = margin (mdl, X, Y); assert_equal (m, [1; 1]) ***** test X = [11, 12]; Y = {'1'}; mdl = fitcknn (X, Y); m = margin (mdl, X, Y); assert_equal (isnan (m), true) ***** test X = [1, 2; 3, 4; 5, 6]; Y = [1; 2; 3]; mdl = fitcknn (X, Y); X1 = [15, 16]; Y1 = [1]; m = margin (mdl, X1, Y1); assert_equal (m, -1) ***** error ... margin (ClassificationKNN (ones (4,2), ones (4,1))) ***** error ... margin (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2)) ***** error ... margin (ClassificationKNN (ones (40,2), randi ([1, 2], 40, 1)), [], zeros (2)) ***** error ... margin (ClassificationKNN (ones (40,2), randi ([1, 2], 40, 1)), 1, zeros (2)) ***** error ... margin (ClassificationKNN (ones (4,2), ones (4,1)), ones (4,2), ones (3,1)) ***** shared X, Y, mdl X = [1, 2; 4, 5; 7, 8; 3, 2]; Y = [2; 1; 3; 2]; mdl = fitcknn (X, Y); ***** test Vars = 1; Labels = 2; [pd, x, y] = partialDependence (mdl, Vars, Labels); pdm = [0.7500, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000]; assert_equal (pd, pdm) ***** test Vars = 1; Labels = 2; [pd, x, y] = partialDependence (mdl, Vars, Labels, ... 'NumObservationsToSample', 5); pdm = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; assert_equal (all ((abs (pdm - pd) < 1)(:)), true) ***** test Vars = 1; Labels = 2; [pd, x, y] = partialDependence (mdl, Vars, Labels, 'UseParallel', true); pdm = [0.7500, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000]; assert_equal (pd, pdm) ***** test Vars = [1, 2]; Labels = 1; queryPoints = {linspace(0, 1, 3)', linspace(0, 1, 3)'}; [pd, x, y] = partialDependence (mdl, Vars, Labels, 'QueryPoints', ... queryPoints, 'UseParallel', true); pdm = [0, 0, 0; 0, 0, 0; 0, 0, 0]; assert_equal (pd, pdm) ***** test Vars = 1; Labels = [1; 2]; [pd, x, y] = partialDependence (mdl, Vars, Labels); pdm = [0.2500, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, 0.2500, ... 0.2500, 0.2500; 0.7500, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, 0.5000, ... 0.5000, 0.5000, 0.5000]; assert_equal (pd, pdm) ***** test Vars = [1, 2]; Labels = [1; 2]; queryPoints = {linspace(0, 1, 3)', linspace(0, 1, 3)'}; [pd, x, y] = partialDependence (mdl, Vars, Labels, 'QueryPoints', queryPoints); pdm(:,:,1) = [0, 0, 0; 1, 1, 1]; pdm(:,:,2) = [0, 0, 0; 1, 1, 1]; pdm(:,:,3) = [0, 0, 0; 1, 1, 1]; assert_equal (pd, pdm) ***** test X1 = [1; 2; 4; 5; 7; 8; 3; 2]; X2 = ['2'; '3'; '1'; '3'; '1'; '3'; '2'; '2']; X = [X1, double(X2)]; Y = [1; 2; 3; 3; 2; 1; 2; 1]; mdl = fitcknn (X, Y, 'ClassNames', {'1', '2', '3'}); Vars = 1; Labels = 1; [pd, x, y] = partialDependence (mdl, Vars, Labels); pdm = [1.0000, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, ... 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, ... 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3750, ... 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, ... 0.3750, 0.3750, 0.3750, 0.3750, 0.7500, 0.7500, 0.7500, 0.7500, 0.7500, ... 0.7500, 0.7500, 0.7500]; assert_equal (pd, pdm) ***** test X1 = [1; 2; 4; 5; 7; 8; 3; 2]; X2 = ['2'; '3'; '1'; '3'; '1'; '3'; '2'; '2']; X = [X1, double(X2)]; Y = [1; 2; 3; 3; 2; 1; 2; 1]; predictorNames = {'Feature1', 'Feature2'}; mdl = fitcknn (X, Y, 'PredictorNames', predictorNames); Vars = 'Feature1'; Labels = 1; [pd, x, y] = partialDependence (mdl, Vars, Labels); pdm = [1.0000, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, ... 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, ... 0.6250, 0.6250, 0.6250, 0.6250, 0.6250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3750, ... 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, 0.3750, ... 0.3750, 0.3750, 0.3750, 0.3750, 0.7500, 0.7500, 0.7500, 0.7500, 0.7500, ... 0.7500, 0.7500, 0.7500]; assert_equal (pd, pdm) ***** test X1 = [1; 2; 4; 5; 7; 8; 3; 2]; X2 = ['2'; '3'; '1'; '3'; '1'; '3'; '2'; '2']; X = [X1, double(X2)]; Y = [1; 2; 3; 3; 2; 1; 2; 1]; predictorNames = {'Feature1', 'Feature2'}; mdl = fitcknn (X, Y, 'PredictorNames', predictorNames); new_X1 = [10; 5; 6; 8; 9; 20; 35; 6]; new_X2 = ['2'; '2'; '1'; '2'; '1'; '3'; '3'; '2']; new_X = [new_X1, double(new_X2)]; Vars = 'Feature1'; Labels = 1; [pd, x, y] = partialDependence (mdl, Vars, Labels, new_X); pdm = [0, 0, 0, 0, 0, 0.2500, 0.2500, 0.2500, 0.2500, 0.7500, 0.7500, ... 0.7500, 0.7500, 0.7500, 0.7500, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, ... 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, ... 1.0000, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]; assert_equal (pd, pdm) ***** error ... partialDependence (ClassificationKNN (ones (4,2), ones (4,1))) ***** error ... partialDependence (ClassificationKNN (ones (4,2), ones (4,1)), 1) ***** error ... partialDependence (ClassificationKNN (ones (4,2), ones (4,1)), 1, ... ones (4,1), 'NumObservationsToSample') ***** error ... partialDependence (ClassificationKNN (ones (4,2), ones (4,1)), 1, ... ones (4,1), 2) ***** shared x, y, obj load fisheriris x = meas; y = species; covMatrix = cov (x); obj = fitcknn (x, y, 'NumNeighbors', 5, 'Distance', ... 'mahalanobis', 'Cov', covMatrix); ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.KFold == 10, true) assert_equal (CVMdl.ModelParameters.NumNeighbors == 5, true) assert_equal (strcmp (CVMdl.ModelParameters.Distance, 'mahalanobis'), true) assert_equal (class (CVMdl.Trained{1}), "ClassificationKNN") assert_equal (! CVMdl.ModelParameters.Standardize, true) ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'KFold', 5); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.KFold == 5, true) assert_equal (CVMdl.ModelParameters.NumNeighbors == 5, true) assert_equal (strcmp (CVMdl.ModelParameters.Distance, 'mahalanobis'), true) assert_equal (class (CVMdl.Trained{1}), "ClassificationKNN") assert_equal (CVMdl.ModelParameters.Standardize == obj.Standardize, true) ***** test status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'HoldOut', 0.2); warning (status); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.ModelParameters.NumNeighbors == 5, true) assert_equal (strcmp (CVMdl.ModelParameters.Distance, 'mahalanobis'), true) assert_equal (class (CVMdl.Trained{1}), "ClassificationKNN") assert_equal (CVMdl.ModelParameters.Standardize == obj.Standardize, true) ***** test obj = fitcknn (x, y, 'NumNeighbors', 10, 'Distance', 'cityblock'); status = warning; warning ('off'); rand ('seed', 23); CVMdl = crossval (obj, 'HoldOut', 0.2); warning (status); CVMdl = crossval (obj, 'LeaveOut', 'on'); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal ({CVMdl.X, CVMdl.Y}, {x, y}) assert_equal (CVMdl.ModelParameters.NumNeighbors == 10, true) assert_equal (strcmp (CVMdl.ModelParameters.Distance, 'cityblock'), true) assert_equal (class (CVMdl.Trained{1}), "ClassificationKNN") assert_equal (CVMdl.ModelParameters.Standardize == obj.Standardize, true) ***** test obj = fitcknn (x, y, 'NumNeighbors', 10, 'Distance', 'cityblock'); status = warning; warning ('off'); rand ('seed', 23); partition = cvpartition (y, 'KFold', 3); warning (status); CVMdl = crossval (obj, 'cvPartition', partition); assert_equal (class (CVMdl), "ClassificationPartitionedModel") assert_equal (CVMdl.KFold == 3, true) assert_equal (CVMdl.ModelParameters.NumNeighbors == 10, true) assert_equal (strcmp (CVMdl.ModelParameters.Distance, 'cityblock'), true) assert_equal (class (CVMdl.Trained{1}), "ClassificationKNN") assert_equal (CVMdl.ModelParameters.Standardize == obj.Standardize, true) ***** error ... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'kfold') ***** error... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'kfold', 12, 'holdout', 0.2) ***** error ... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'kfold', 'a') ***** error ... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'holdout', 2) ***** error ... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'leaveout', 1) ***** error ... crossval (ClassificationKNN (ones (4,2), ones (4,1)), 'cvpartition', 1) 165 tests, 165 passed, 0 known failure, 0 skipped [inst/Classification/CompactClassificationDiscriminant.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/Classification/CompactClassificationDiscriminant.m ***** demo ## Create a discriminant analysis classifier and its compact version # and compare their size load fisheriris X = meas; Y = species; Mdl = fitcdiscr (X, Y, 'ClassNames', unique (species)) CMdl = crossval (Mdl) ***** test load fisheriris x = meas; y = species; PredictorNames = {'Sepal Length', 'Sepal Width', 'Petal Length', 'Petal Width'}; Mdl = fitcdiscr (x, y, 'PredictorNames', PredictorNames); CMdl = compact (Mdl); sigma = [0.265008, 0.092721, 0.167514, 0.038401; ... 0.092721, 0.115388, 0.055244, 0.032710; ... 0.167514, 0.055244, 0.185188, 0.042665; ... 0.038401, 0.032710, 0.042665, 0.041882]; mu = [5.0060, 3.4280, 1.4620, 0.2460; ... 5.9360, 2.7700, 4.2600, 1.3260; ... 6.5880, 2.9740, 5.5520, 2.0260]; xCentered = [ 9.4000e-02, 7.2000e-02, -6.2000e-02, -4.6000e-02; ... -1.0600e-01, -4.2800e-01, -6.2000e-02, -4.6000e-02; ... -3.0600e-01, -2.2800e-01, -1.6200e-01, -4.6000e-02]; assert_equal (class (CMdl), "CompactClassificationDiscriminant"); assert_equal ({CMdl.DiscrimType, CMdl.ResponseName}, {'linear', 'Y'}) assert_equal ({CMdl.Gamma, CMdl.MinGamma}, {0, 0}, 1e-15) assert_equal (CMdl.ClassNames, unique (species)) assert_equal (CMdl.Sigma, sigma, 1e-6) assert_equal (CMdl.Mu, mu, 1e-14) assert_equal (CMdl.LogDetSigma, -9.9585, 1e-4) assert_equal (CMdl.PredictorNames, PredictorNames) ***** test load fisheriris x = meas; y = species; Mdl = fitcdiscr (x, y, 'Gamma', 0.5); CMdl = compact (Mdl); sigma = [0.265008, 0.046361, 0.083757, 0.019201; ... 0.046361, 0.115388, 0.027622, 0.016355; ... 0.083757, 0.027622, 0.185188, 0.021333; ... 0.019201, 0.016355, 0.021333, 0.041882]; mu = [5.0060, 3.4280, 1.4620, 0.2460; ... 5.9360, 2.7700, 4.2600, 1.3260; ... 6.5880, 2.9740, 5.5520, 2.0260]; xCentered = [ 9.4000e-02, 7.2000e-02, -6.2000e-02, -4.6000e-02; ... -1.0600e-01, -4.2800e-01, -6.2000e-02, -4.6000e-02; ... -3.0600e-01, -2.2800e-01, -1.6200e-01, -4.6000e-02]; assert_equal (class (CMdl), "CompactClassificationDiscriminant"); assert_equal ({CMdl.DiscrimType, CMdl.ResponseName}, {'linear', 'Y'}) assert_equal ({CMdl.Gamma, CMdl.MinGamma}, {0.5, 0}) assert_equal (CMdl.ClassNames, unique (species)) assert_equal (CMdl.Sigma, sigma, 1e-6) assert_equal (CMdl.Mu, mu, 1e-14) assert_equal (CMdl.LogDetSigma, -8.6884, 1e-4) ***** error ... CompactClassificationDiscriminant (1) ***** test load fisheriris x = meas; y = species; Mdl = fitcdiscr (meas, species, 'Gamma', 0.5); CMdl = compact (Mdl); [label, score, cost] = predict (CMdl, [2, 2, 2, 2]); assert_equal (label, {'versicolor'}) assert_equal (score, [0, 0.9999, 0.0001], 1e-4) assert_equal (cost, [1, 0.0001, 0.9999], 1e-4) [label, score, cost] = predict (CMdl, [2.5, 2.5, 2.5, 2.5]); assert_equal (label, {'versicolor'}) assert_equal (score, [0, 0.6368, 0.3632], 1e-4) assert_equal (cost, [1, 0.3632, 0.6368], 1e-4) ***** test load fisheriris x = meas; y = species; xc = [min(x); mean(x); max(x)]; Mdl = fitcdiscr (x, y); CMdl = compact (Mdl); [label, score, cost] = predict (CMdl, xc); l = {'setosa'; 'versicolor'; 'virginica'}; s = [1, 0, 0; 0, 1, 0; 0, 0, 1]; c = [0, 1, 1; 1, 0, 1; 1, 1, 0]; assert_equal (label, l) assert_equal (score, s, 1e-4) assert_equal (cost, c, 1e-4) ***** shared MODEL X = rand (10,2); Y = [ones(5,1);2*ones(5,1)]; MODEL = compact (ClassificationDiscriminant (X, Y)); ***** error ... predict (MODEL) ***** error ... predict (MODEL, []) ***** error ... predict (MODEL, 1) ***** test load fisheriris model = fitcdiscr (meas, species); x = mean (meas); y = {'versicolor'}; L = loss (model, x, y); assert_equal (L, 0) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y, 'Gamma', 0.4); x_test = [1, 6; 3, 3]; y_test = {'A'; 'B'}; L = loss (model, x_test, y_test); assert_equal (L, 0.3333, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3]; y_test = ['1']; L = loss (model, x_test, y_test, 'LossFun', 'quadratic'); assert_equal (L, 0.2423, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3; 5, 7]; y_test = ['1'; '2']; L = loss (model, x_test, y_test, 'LossFun', 'classifcost'); assert_equal (L, 0.3333, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3; 5, 7]; y_test = ['1'; '2']; L = loss (model, x_test, y_test, 'LossFun', 'hinge'); assert_equal (L, 0.5886, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6; 7, 8]; y = ['1'; '2'; '3'; '1']; model = fitcdiscr (x, y, 'gamma' , 0.5); x_test = [3, 3; 5, 7]; y_test = ['1'; '2']; W = [1; 2]; L = loss (model, x_test, y_test, 'LossFun', 'logit', 'Weights', W); assert_equal (L, 0.5107, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y, 'gamma' , 0.5); x_with_nan = [1, 2; NaN, 4]; y_test = {'A'; 'B'}; L = loss (model, x_with_nan, y_test); assert_equal (L, 0.3333, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y); x_with_nan = [1, 2; NaN, 4]; y_test = {'A'; 'B'}; L = loss (model, x_with_nan, y_test, 'LossFun', 'logit'); assert_equal (isnan (L), true) ***** test x = [1, 2; 3, 4; 5, 6]; y = {'A'; 'B'; 'A'}; model = fitcdiscr (x, y); customLossFun = @(C, S, W, Cost) sum (W .* sum (abs (C - S), 2)); L = loss (model, x, y, 'LossFun', customLossFun); assert_equal (L, 0.8889, 1e-4) ***** test x = [1, 2; 3, 4; 5, 6]; y = [1; 2; 1]; model = fitcdiscr (x, y); L = loss (model, x, y, 'LossFun', 'classiferror'); assert_equal (L, 0.3333, 1e-4) ***** error ... loss (MODEL) ***** error ... loss (MODEL, ones (4,2)) ***** error ... loss (MODEL, ones (4,2), ones (4,1), 'LossFun') ***** error ... loss (MODEL, ones (4,2), ones (3,1)) ***** error ... loss (MODEL, ones (4,2), ones (4,1), 'LossFun', 'a') ***** error ... loss (MODEL, ones (4,2), ones (4,1), 'Weights', 'w') load fisheriris mdl = fitcdiscr (meas, species); X = mean (meas); Y = {'versicolor'}; m = margin (mdl, X, Y); assert_equal (m, 1, 1e-6) ***** test X = [1, 2; 3, 4; 5, 6]; Y = [1; 2; 1]; mdl = fitcdiscr (X, Y, 'gamma', 0.5); m = margin (mdl, X, Y); assert_equal (m, [0.3333; -0.3333; 0.3333], 1e-4) ***** error ... margin (MODEL) ***** error ... margin (MODEL, ones (4,2)) ***** error ... margin (MODEL, ones (4,2), ones (3,1)) 28 tests, 28 passed, 0 known failure, 0 skipped [inst/Classification/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/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/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/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 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. 1 test, 1 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/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/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/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/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/evfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/evfit.m ***** demo ## Sample 3 populations from different extreme value distributions rand ('seed', 1); # for reproducibility r1 = evrnd (2, 5, 400, 1); rand ('seed', 12); # for reproducibility r2 = evrnd (-5, 3, 400, 1); rand ('seed', 13); # for reproducibility r3 = evrnd (14, 8, 400, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, 25, 0.4); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 0.28]) xlim ([-30, 30]); hold on ## Estimate their MU and SIGMA parameters mu_sigmaA = evfit (r(:,1)); mu_sigmaB = evfit (r(:,2)); mu_sigmaC = evfit (r(:,3)); ## Plot their estimated PDFs x = [min(r(:)):max(r(:))]; y = evpdf (x, mu_sigmaA(1), mu_sigmaA(2)); plot (x, y, '-pr'); y = evpdf (x, mu_sigmaB(1), mu_sigmaB(2)); plot (x, y, '-sg'); y = evpdf (x, mu_sigmaC(1), mu_sigmaC(2)); plot (x, y, '-^c'); legend ({'Normalized HIST of sample 1 with μ=2 and σ=5', ... 'Normalized HIST of sample 2 with μ=-5 and σ=3', ... 'Normalized HIST of sample 3 with μ=14 and σ=8', ... sprintf("PDF for sample 1 with estimated μ=%0.2f and σ=%0.2f", ... mu_sigmaA(1), mu_sigmaA(2)), ... sprintf("PDF for sample 2 with estimated μ=%0.2f and σ=%0.2f", ... mu_sigmaB(1), mu_sigmaB(2)), ... sprintf("PDF for sample 3 with estimated μ=%0.2f and σ=%0.2f", ... mu_sigmaC(1), mu_sigmaC(2))}) title ('Three population samples from different extreme value distributions') hold off ***** test x = 1:50; [paramhat, paramci] = evfit (x); paramhat_out = [32.6811, 13.0509]; paramci_out = [28.8504, 10.5294; 36.5118, 16.1763]; assert_equal (paramhat, paramhat_out, 1e-4); assert_equal (paramci, paramci_out, 1e-4); ***** test x = 1:50; [paramhat, paramci] = evfit (x, 0.01); paramci_out = [27.6468, 9.8426; 37.7155, 17.3051]; assert_equal (paramci, paramci_out, 1e-4); ***** error evfit (ones (2,5)); ***** error evfit (single (ones (1,5))); ***** error evfit ([1, 2, 3, 4, NaN]); ***** error evfit ([1, 2, 3, 4, 5], 1.2); ***** error evfit ([1 2 3], 0.05, [], [1 5]) ***** error evfit ([1 2 3], 0.05, [], [1 5 -1]) ***** error ... evfit ([1:10], 0.05, [], [], 5) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/dist_fit/rayllike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/rayllike.m ***** test x = [1 3 2 4 5 4 3 4]; [nlogL, acov] = rayllike (3.25, x); assert_equal (nlogL, 14.7442, 1e-4) ***** test x = [1 2 3 4 5]; f = [1 1 2 3 1]; [nlogL, acov] = rayllike (3.25, x, [], f); assert_equal (nlogL, 14.7442, 1e-4) ***** test x = [1 2 3 4 5 6]; f = [1 1 2 3 1 0]; [nlogL, acov] = rayllike (3.25, x, [], f); assert_equal (nlogL, 14.7442, 1e-4) ***** test x = [1 2 3 4 5 6]; c = [0 0 0 0 0 1]; f = [1 1 2 3 1 0]; [nlogL, acov] = rayllike (3.25, x, c, f); assert_equal (nlogL, 14.7442, 1e-4) ***** error rayllike (1) ***** error rayllike ([1 2 3], [1 2]) ***** error ... rayllike (3.25, ones (10, 2)) ***** error ... rayllike (3.25, [1 2 3 -4 5]) ***** error ... rayllike (3.25, [1, 2, 3, 4, 5], [1 1 0]); ***** error ... rayllike (3.25, [1, 2, 3, 4, 5], [1 1 0 1 1]'); ***** error ... rayllike (3.25, [1, 2, 3, 4, 5], zeros (1,5), [1 1 0]); ***** error ... rayllike (3.25, [1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error ... rayllike (3.25, ones (1, 8), [], [1 1 1 1 1 1 1 -1]) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fit/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/logifit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/logifit.m ***** demo ## Sample 3 populations from different logistic distributions rand ('seed', 5) # for reproducibility r1 = logirnd (2, 1, 2000, 1); rand ('seed', 2) # for reproducibility r2 = logirnd (5, 2, 2000, 1); rand ('seed', 7) # for reproducibility r3 = logirnd (9, 4, 2000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, [-6:20], 1); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 0.3]); xlim ([-5, 20]); hold on ## Estimate their MU and LAMBDA parameters mu_sA = logifit (r(:,1)); mu_sB = logifit (r(:,2)); mu_sC = logifit (r(:,3)); ## Plot their estimated PDFs x = [-5:0.5:20]; y = logipdf (x, mu_sA(1), mu_sA(2)); plot (x, y, '-pr'); y = logipdf (x, mu_sB(1), mu_sB(2)); plot (x, y, '-sg'); y = logipdf (x, mu_sC(1), mu_sC(2)); plot (x, y, '-^c'); hold off legend ({'Normalized HIST of sample 1 with μ=1 and s=0.5', ... 'Normalized HIST of sample 2 with μ=2 and s=0.3', ... 'Normalized HIST of sample 3 with μ=4 and s=0.5', ... sprintf("PDF for sample 1 with estimated μ=%0.2f and s=%0.2f", ... mu_sA(1), mu_sA(2)), ... sprintf("PDF for sample 2 with estimated μ=%0.2f and s=%0.2f", ... mu_sB(1), mu_sB(2)), ... sprintf("PDF for sample 3 with estimated μ=%0.2f and s=%0.2f", ... mu_sC(1), mu_sC(2))}) title ('Three population samples from different logistic distributions') hold off ***** test paramhat = logifit ([1:50]); paramhat_out = [25.5, 8.7724]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = logifit ([1:5]); paramhat_out = [3, 0.8645]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = logifit ([1:6], [], [], [1 1 1 1 1 0]); paramhat_out = [3, 0.8645]; assert_equal (paramhat, paramhat_out, 1e-4); ***** test paramhat = logifit ([1:5], [], [], [1 1 1 1 2]); paramhat_out = logifit ([1:5, 5]); assert_equal (paramhat, paramhat_out, 1e-4); ***** error logifit (ones (2,5)); ***** error logifit ([1, 2, 3, 4, 5], 1.2); ***** error logifit ([1, 2, 3, 4, 5], 0); ***** error logifit ([1, 2, 3, 4, 5], 'alpha'); ***** error ... logifit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... logifit ([1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error ... logifit ([1, 2, 3, 4, 5], 0.05, zeros (1,5), [1 1 0]); ***** error ... logifit ([1, 2, 3, 4, 5], [], [], [1 1 0 1 1]'); ***** error ... logifit ([1, 2, 3, 4, 5], 0.05, [], [], 2); 13 tests, 13 passed, 0 known failure, 0 skipped [inst/dist_fit/unidfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/unidfit.m ***** demo ## Sample 2 populations from different discrete uniform distributions rand ('seed', 1); # for reproducibility r1 = unidrnd (5, 1000, 1); rand ('seed', 2); # for reproducibility r2 = unidrnd (9, 1000, 1); r = [r1, r2]; ## Plot them normalized and fix their colors hist (r, 0:0.5:20.5, 1); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); hold on ## Estimate their probability of success NhatA = unidfit (r(:,1)); NhatB = unidfit (r(:,2)); ## Plot their estimated PDFs x = [0:10]; y = unidpdf (x, NhatA); plot (x, y, '-pg'); y = unidpdf (x, NhatB); plot (x, y, '-sc'); xlim ([0, 10]) ylim ([0, 0.4]) legend ({'Normalized HIST of sample 1 with N=5', ... 'Normalized HIST of sample 2 with N=9', ... sprintf("PDF for sample 1 with estimated N=%0.2f", NhatA), ... sprintf("PDF for sample 2 with estimated N=%0.2f", NhatB)}) title ('Two population samples from different discrete uniform distributions') hold off ***** test x = 0:5; [Nhat, Nci] = unidfit (x); assert_equal (Nhat, 5); assert_equal (Nci, [5; 9]); ***** test x = 0:5; [Nhat, Nci] = unidfit (x, [], [1 1 1 1 1 1]); assert_equal (Nhat, 5); assert_equal (Nci, [5; 9]); ***** assert_equal (unidfit ([1 1 2 3]), unidfit ([1 2 3], [] ,[2 1 1])) ***** error unidfit () ***** error unidfit (-1, [1 2 3 3]) ***** error unidfit (1, 0) ***** error unidfit (1, 1.2) ***** error unidfit (1, [0.02 0.05]) ***** error ... unidfit ([1.5, 0.2], [], [0, 0, 0, 0, 0]) ***** error ... unidfit ([1.5, 0.2], [], [1, 1, 1]) ***** error ... unidfit ([1.5, 0.2], [], [1, -1]) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/dist_fit/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/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/tlslike.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/tlslike.m ***** test x = [-1.2352, -0.2741, 0.1726, 7.4356, 1.0392, 16.4165]; [nlogL, acov] = tlslike ([0.035893, 0.862711, 0.649261], x); acov_out = [0.2525, 0.0670, 0.0288; ... 0.0670, 0.5724, 0.1786; ... 0.0288, 0.1786, 0.1789]; assert_equal (nlogL, 17.9979636579, 1e-10); assert_equal (acov, acov_out, 1e-4); ***** error tlslike ([12, 15, 1]); ***** error tlslike ([12, 15], [1:50]); ***** error tlslike ([12, 3, 1], ones (10, 2)); ***** error tlslike ([12, 15, 1], [1:50], [1, 2, 3]); ***** error tlslike ([12, 15, 1], [1:50], [], [1, 2, 3]); ***** error tlslike ([12, 15, 1], [1:3], [], [1, 2, -3]); 7 tests, 7 passed, 0 known failure, 0 skipped [inst/dist_fit/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/burrfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/burrfit.m ***** demo ## Sample 3 populations from different Burr type XII distributions rand ('seed', 4); # for reproducibility r1 = burrrnd (3.5, 2, 2.5, 10000, 1); rand ('seed', 2); # for reproducibility r2 = burrrnd (1, 3, 1, 10000, 1); rand ('seed', 9); # for reproducibility r3 = burrrnd (0.5, 2, 3, 10000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, [0.1:0.2:20], [18, 5, 3]); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 3]); xlim ([0, 5]); hold on ## Estimate their α and β parameters lambda_c_kA = burrfit (r(:,1)); lambda_c_kB = burrfit (r(:,2)); lambda_c_kC = burrfit (r(:,3)); ## Plot their estimated PDFs x = [0.01:0.15:15]; y = burrpdf (x, lambda_c_kA(1), lambda_c_kA(2), lambda_c_kA(3)); plot (x, y, '-pr'); y = burrpdf (x, lambda_c_kB(1), lambda_c_kB(2), lambda_c_kB(3)); plot (x, y, '-sg'); y = burrpdf (x, lambda_c_kC(1), lambda_c_kC(2), lambda_c_kC(3)); plot (x, y, '-^c'); hold off legend ({'Normalized HIST of sample 1 with λ=3.5, c=2, and k=2.5', ... 'Normalized HIST of sample 2 with λ=1, c=3, and k=1', ... 'Normalized HIST of sample 3 with λ=0.5, c=2, and k=3', ... sprintf("PDF for sample 1 with estimated λ=%0.2f, c=%0.2f, and k=%0.2f", ... lambda_c_kA(1), lambda_c_kA(2), lambda_c_kA(3)), ... sprintf("PDF for sample 2 with estimated λ=%0.2f, c=%0.2f, and k=%0.2f", ... lambda_c_kB(1), lambda_c_kB(2), lambda_c_kB(3)), ... sprintf("PDF for sample 3 with estimated λ=%0.2f, c=%0.2f, and k=%0.2f", ... lambda_c_kC(1), lambda_c_kC(2), lambda_c_kC(3))}) title ('Three population samples from different Burr type XII distributions') hold off ***** test l = 1; c = 2; k = 3; r = burrrnd (l, c, k, 100000, 1); lambda_c_kA = burrfit (r); assert_equal (lambda_c_kA(1), l, 0.2); assert_equal (lambda_c_kA(2), c, 0.2); assert_equal (lambda_c_kA(3), k, 0.3); ***** test l = 0.5; c = 1; k = 3; r = burrrnd (l, c, k, 100000, 1); lambda_c_kA = burrfit (r); assert_equal (lambda_c_kA(1), l, 0.2); assert_equal (lambda_c_kA(2), c, 0.2); assert_equal (lambda_c_kA(3), k, 0.3); ***** test l = 1; c = 3; k = 1; r = burrrnd (l, c, k, 100000, 1); lambda_c_kA = burrfit (r); assert_equal (lambda_c_kA(1), l, 0.2); assert_equal (lambda_c_kA(2), c, 0.2); assert_equal (lambda_c_kA(3), k, 0.3); ***** test l = 3; c = 2; k = 1; r = burrrnd (l, c, k, 100000, 1); lambda_c_kA = burrfit (r); assert_equal (lambda_c_kA(1), l, 0.2); assert_equal (lambda_c_kA(2), c, 0.2); assert_equal (lambda_c_kA(3), k, 0.3); ***** test l = 4; c = 2; k = 4; r = burrrnd (l, c, k, 100000, 1); lambda_c_kA = burrfit (r); assert_equal (lambda_c_kA(1), l, 0.2); assert_equal (lambda_c_kA(2), c, 0.2); assert_equal (lambda_c_kA(3), k, 0.3); ***** error burrfit (ones (2,5)); ***** error burrfit ([-1 2 3 4]); ***** error burrfit ([1, 2, 3, 4, 5], 1.2); ***** error burrfit ([1, 2, 3, 4, 5], 0); ***** error burrfit ([1, 2, 3, 4, 5], 'alpha'); ***** error ... burrfit ([1, 2, 3, 4, 5], 0.05, [1 1 0]); ***** error ... burrfit ([1, 2, 3, 4, 5], [], [1 1 0 1 1]'); ***** error burrfit ([1, 2, 3, 4, 5], 0.05, [], [1, 1, 5]) ***** error burrfit ([1, 2, 3, 4, 5], 0.05, [], [1, 5, 1, 1, -1]) ***** error ... burrfit ([1:10], 0.05, [], [], 5) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/dist_fit/gamfit.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fit/gamfit.m ***** demo ## Sample 3 populations from different Gamma distributions randg ('seed', 5); # for reproducibility r1 = gamrnd (1, 2, 2000, 1); randg ('seed', 2); # for reproducibility r2 = gamrnd (2, 2, 2000, 1); randg ('seed', 7); # for reproducibility r3 = gamrnd (7.5, 1, 2000, 1); r = [r1, r2, r3]; ## Plot them normalized and fix their colors hist (r, 75, 4); h = findobj (gca, 'Type', 'patch'); set (h(1), 'facecolor', 'c'); set (h(2), 'facecolor', 'g'); set (h(3), 'facecolor', 'r'); ylim ([0, 0.62]); xlim ([0, 12]); hold on ## Estimate their α and β parameters a_bA = gamfit (r(:,1)); a_bB = gamfit (r(:,2)); a_bC = gamfit (r(:,3)); ## Plot their estimated PDFs x = [0.01,0.1:0.2:18]; y = gampdf (x, a_bA(1), a_bA(2)); plot (x, y, '-pr'); y = gampdf (x, a_bB(1), a_bB(2)); plot (x, y, '-sg'); y = gampdf (x, a_bC(1), a_bC(2)); plot (x, y, '-^c'); hold off legend ({'Normalized HIST of sample 1 with α=1 and β=2', ... 'Normalized HIST of sample 2 with α=2 and β=2', ... 'Normalized HIST of sample 3 with α=7.5 and β=1', ... sprintf("PDF for sample 1 with estimated α=%0.2f and β=%0.2f", ... a_bA(1), a_bA(2)), ... sprintf("PDF for sample 2 with estimated α=%0.2f and β=%0.2f", ... a_bB(1), a_bB(2)), ... sprintf("PDF for sample 3 with estimated α=%0.2f and β=%0.2f", ... a_bC(1), a_bC(2))}) title ('Three population samples from different Gamma distributions') hold off ***** shared x x = [1.2 1.6 1.7 1.8 1.9 2.0 2.2 2.6 3.0 3.5 4.0 4.8 5.6 6.6 7.6]; ***** test [paramhat, paramci] = gamfit (x); assert_equal (paramhat, [3.4248, 0.9752], 1e-4); assert_equal (paramci, [1.7287, 0.4670; 6.7852, 2.0366], 1e-4); ***** test [paramhat, paramci] = gamfit (x, 0.01); assert_equal (paramhat, [3.4248, 0.9752], 1e-4); assert_equal (paramci, [1.3945, 0.3705; 8.4113, 2.5668], 1e-4); ***** test freq = [1 1 1 1 2 1 1 1 1 2 1 1 1 1 2]; [paramhat, paramci] = gamfit (x, [], [], freq); assert_equal (paramhat, [3.3025, 1.0615], 1e-4); assert_equal (paramci, [1.7710, 0.5415; 6.1584, 2.0806], 1e-4); ***** test [paramhat, paramci] = gamfit (x, [], [], [1:15]); assert_equal (paramhat, [4.4484, 0.9689], 1e-4); assert_equal (paramci, [3.4848, 0.7482; 5.6785, 1.2546], 1e-4); ***** test [paramhat, paramci] = gamfit (x, 0.01, [], [1:15]); assert_equal (paramhat, [4.4484, 0.9689], 1e-4); assert_equal (paramci, [3.2275, 0.6899; 6.1312, 1.3608], 1e-4); ***** test cens = [0 0 0 0 1 0 0 0 0 0 0 0 0 0 0]; [paramhat, paramci] = gamfit (x, [], cens, [1:15]); assert_equal (paramhat, [4.7537, 0.9308], 1e-4); assert_equal (paramci, [3.7123, 0.7162; 6.0872, 1.2097], 1e-4); ***** test cens = [0 0 0 0 1 0 0 0 0 0 0 0 0 0 0]; freq = [1 1 1 1 2 1 1 1 1 2 1 1 1 1 2]; [paramhat, paramci] = gamfit (x, [], cens, freq); assert_equal (paramhat, [3.4736, 1.0847], 1e-4); assert_equal (paramci, [1.8286, 0.5359; 6.5982, 2.1956], 1e-4); ***** test [paramhat, paramci] = gamfit ([1 1 1 1 1 1]); assert_equal (paramhat, [Inf, 0]); assert_equal (paramci, [Inf, 0; Inf, 0]); ***** test [paramhat, paramci] = gamfit ([1 1 1 1 1 1], [], [1 1 1 1 1 1]); assert_equal (paramhat, [NaN, NaN]); assert_equal (paramci, [NaN, NaN; NaN, NaN]); ***** test [paramhat, paramci] = gamfit ([1 1 1 1 1 1], [], [], [1 1 1 1 1 1]); assert_equal (paramhat, [Inf, 0]); assert_equal (paramci, [Inf, 0; Inf, 0]); ***** assert_equal (class (gamfit (single (x))), "single") ***** error gamfit (ones (2)) ***** error gamfit (x, 1) ***** error gamfit (x, -1) ***** error gamfit (x, {0.05}) ***** error gamfit (x, 'a') ***** error gamfit (x, i) ***** error gamfit (x, [0.01 0.02]) ***** error gamfit ([1 2 3], 0.05, [], [1 5]) ***** error gamfit ([1 2 3], 0.05, [], [1 5 -1]) ***** error ... gamfit ([1:10], 0.05, [], [], 5) ***** error gamfit ([1 2 3 -4]) ***** error ... gamfit ([1 2 0], [], [1 0 0]) 23 tests, 23 passed, 0 known failure, 0 skipped [inst/dist_fit/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/makedist.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_wrap/makedist.m ***** test pd = makedist ('beta'); assert_equal (class (pd), "BetaDistribution"); assert_equal (pd.a, 1); assert_equal (pd.b, 1); ***** test pd = makedist ('beta', 'a', 5); assert_equal (pd.a, 5); assert_equal (pd.b, 1); ***** test pd = makedist ('beta', 'b', 5); assert_equal (pd.a, 1); assert_equal (pd.b, 5); ***** test pd = makedist ('beta', 'a', 3, 'b', 5); assert_equal (pd.a, 3); assert_equal (pd.b, 5); ***** test pd = makedist ('binomial'); assert_equal (class (pd), "BinomialDistribution"); assert_equal (pd.N, 1); assert_equal (pd.p, 0.5); ***** test pd = makedist ('binomial', 'N', 5); assert_equal (pd.N, 5); assert_equal (pd.p, 0.5); ***** test pd = makedist ('binomial', 'p', 0.2); assert_equal (pd.N, 1); assert_equal (pd.p, 0.2); ***** test pd = makedist ('binomial', 'N', 3, 'p', 0.3); assert_equal (pd.N, 3); assert_equal (pd.p, 0.3); ***** test pd = makedist ('birnbaumsaunders'); assert_equal (class (pd), "BirnbaumSaundersDistribution"); assert_equal (pd.beta, 1); assert_equal (pd.gamma, 1); ***** test pd = makedist ('birnbaumsaunders', 'beta', 5); assert_equal (pd.beta, 5); assert_equal (pd.gamma, 1); ***** test pd = makedist ('birnbaumsaunders', 'gamma', 5); assert_equal (pd.beta, 1); assert_equal (pd.gamma, 5); ***** test pd = makedist ('birnbaumsaunders', 'beta', 3, 'gamma', 5); assert_equal (pd.beta, 3); assert_equal (pd.gamma, 5); ***** test pd = makedist ('burr'); assert_equal (class (pd), "BurrDistribution"); assert_equal (pd.alpha, 1); assert_equal (pd.c, 1); assert_equal (pd.k, 1); ***** test pd = makedist ('burr', 'k', 5); assert_equal (pd.alpha, 1); assert_equal (pd.c, 1); assert_equal (pd.k, 5); ***** test pd = makedist ('burr', 'c', 5); assert_equal (pd.alpha, 1); assert_equal (pd.c, 5); assert_equal (pd.k, 1); ***** test pd = makedist ('burr', 'alpha', 3, 'c', 5); assert_equal (pd.alpha, 3); assert_equal (pd.c, 5); assert_equal (pd.k, 1); ***** test pd = makedist ('burr', 'k', 3, 'c', 5); assert_equal (pd.alpha, 1); assert_equal (pd.c, 5); assert_equal (pd.k, 3); ***** test pd = makedist ('exponential'); assert_equal (class (pd), "ExponentialDistribution"); assert_equal (pd.mu, 1); ***** test pd = makedist ('exponential', 'mu', 5); assert_equal (pd.mu, 5); ***** test pd = makedist ('extremevalue'); assert_equal (class (pd), "ExtremeValueDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('extremevalue', 'mu', 5); assert_equal (class (pd), "ExtremeValueDistribution"); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('ev', 'sigma', 5); assert_equal (class (pd), "ExtremeValueDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('ev', 'mu', -3, 'sigma', 5); assert_equal (class (pd), "ExtremeValueDistribution"); assert_equal (pd.mu, -3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('gamma'); assert_equal (class (pd), "GammaDistribution"); assert_equal (pd.a, 1); assert_equal (pd.b, 1); ***** test pd = makedist ('gamma', 'a', 5); assert_equal (pd.a, 5); assert_equal (pd.b, 1); ***** test pd = makedist ('gamma', 'b', 5); assert_equal (pd.a, 1); assert_equal (pd.b, 5); ***** test pd = makedist ('gamma', 'a', 3, 'b', 5); assert_equal (pd.a, 3); assert_equal (pd.b, 5); ***** test pd = makedist ('GeneralizedExtremeValue'); assert_equal (class (pd), "GeneralizedExtremeValueDistribution"); assert_equal (pd.k, 0); assert_equal (pd.sigma, 1); assert_equal (pd.mu, 0); ***** test pd = makedist ('GeneralizedExtremeValue', 'k', 5); assert_equal (pd.k, 5); assert_equal (pd.sigma, 1); assert_equal (pd.mu, 0); ***** test pd = makedist ('GeneralizedExtremeValue', 'sigma', 5); assert_equal (pd.k, 0); assert_equal (pd.sigma, 5); assert_equal (pd.mu, 0); ***** test pd = makedist ('GeneralizedExtremeValue', 'k', 3, 'sigma', 5); assert_equal (pd.k, 3); assert_equal (pd.sigma, 5); assert_equal (pd.mu, 0); ***** test pd = makedist ('GeneralizedExtremeValue', 'mu', 3, 'sigma', 5); assert_equal (pd.k, 0); assert_equal (pd.sigma, 5); assert_equal (pd.mu, 3); ***** test pd = makedist ('GeneralizedPareto'); assert_equal (class (pd), "GeneralizedParetoDistribution"); assert_equal (pd.k, 1); assert_equal (pd.sigma, 1); assert_equal (pd.theta, 1); ***** test pd = makedist ('GeneralizedPareto', 'k', 5); assert_equal (pd.k, 5); assert_equal (pd.sigma, 1); assert_equal (pd.theta, 1); ***** test pd = makedist ('GeneralizedPareto', 'sigma', 5); assert_equal (pd.k, 1); assert_equal (pd.sigma, 5); assert_equal (pd.theta, 1); ***** test pd = makedist ('GeneralizedPareto', 'k', 3, 'sigma', 5); assert_equal (pd.k, 3); assert_equal (pd.sigma, 5); assert_equal (pd.theta, 1); ***** test pd = makedist ('GeneralizedPareto', 'theta', 3, 'sigma', 5); assert_equal (pd.k, 1); assert_equal (pd.sigma, 5); assert_equal (pd.theta, 3); ***** test pd = makedist ('HalfNormal'); assert_equal (class (pd), "HalfNormalDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('HalfNormal', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('HalfNormal', 'sigma', 5); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('HalfNormal', 'mu', 3, 'sigma', 5); assert_equal (pd.mu, 3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('InverseGaussian'); assert_equal (class (pd), "InverseGaussianDistribution"); assert_equal (pd.mu, 1); assert_equal (pd.lambda, 1); ***** test pd = makedist ('InverseGaussian', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.lambda, 1); ***** test pd = makedist ('InverseGaussian', 'lambda', 5); assert_equal (pd.mu, 1); assert_equal (pd.lambda, 5); ***** test pd = makedist ('InverseGaussian', 'mu', 3, 'lambda', 5); assert_equal (pd.mu, 3); assert_equal (pd.lambda, 5); ***** test pd = makedist ('logistic'); assert_equal (class (pd), "LogisticDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('logistic', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('logistic', 'sigma', 5); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('logistic', 'mu', 3, 'sigma', 5); assert_equal (pd.mu, 3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('loglogistic'); assert_equal (class (pd), "LoglogisticDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('loglogistic', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('loglogistic', 'sigma', 5); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('loglogistic', 'mu', 3, 'sigma', 5); assert_equal (pd.mu, 3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('Lognormal'); assert_equal (class (pd), "LognormalDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Lognormal', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Lognormal', 'sigma', 5); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('Lognormal', 'mu', -3, 'sigma', 5); assert_equal (pd.mu, -3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('Loguniform'); assert_equal (class (pd), "LoguniformDistribution"); assert_equal (pd.Lower, 1); assert_equal (pd.Upper, 4); ***** test pd = makedist ('Loguniform', 'Lower', 2); assert_equal (pd.Lower, 2); assert_equal (pd.Upper, 4); ***** test pd = makedist ('Loguniform', 'Lower', 1, 'Upper', 3); assert_equal (pd.Lower, 1); assert_equal (pd.Upper, 3); ***** test pd = makedist ('Multinomial'); assert_equal (class (pd), "MultinomialDistribution"); assert_equal (pd.Probabilities, [0.5, 0.5]); ***** test pd = makedist ('Multinomial', 'Probabilities', [0.2, 0.3, 0.1, 0.4]); assert_equal (class (pd), "MultinomialDistribution"); assert_equal (pd.Probabilities, [0.2, 0.3, 0.1, 0.4]); ***** test pd = makedist ('Nakagami'); assert_equal (class (pd), "NakagamiDistribution"); assert_equal (pd.mu, 1); assert_equal (pd.omega, 1); ***** test pd = makedist ('Nakagami', 'mu', 5); assert_equal (class (pd), "NakagamiDistribution"); assert_equal (pd.mu, 5); assert_equal (pd.omega, 1); ***** test pd = makedist ('Nakagami', 'omega', 0.3); assert_equal (class (pd), "NakagamiDistribution"); assert_equal (pd.mu, 1); assert_equal (pd.omega, 0.3); ***** test pd = makedist ('NegativeBinomial'); assert_equal (class (pd), "NegativeBinomialDistribution"); assert_equal (pd.R, 1); assert_equal (pd.P, 0.5); ***** test pd = makedist ('NegativeBinomial', 'R', 5); assert_equal (class (pd), "NegativeBinomialDistribution"); assert_equal (pd.R, 5); assert_equal (pd.P, 0.5); ***** test pd = makedist ('NegativeBinomial', 'p', 0.3); assert_equal (class (pd), "NegativeBinomialDistribution"); assert_equal (pd.R, 1); assert_equal (pd.P, 0.3); ***** test pd = makedist ('Normal'); assert_equal (class (pd), "NormalDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Normal', 'mu', 5); assert_equal (class (pd), "NormalDistribution"); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Normal', 'sigma', 5); assert_equal (class (pd), "NormalDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 5); ***** test pd = makedist ('Normal', 'mu', -3, 'sigma', 5); assert_equal (class (pd), "NormalDistribution"); assert_equal (pd.mu, -3); assert_equal (pd.sigma, 5); ***** test pd = makedist ('PiecewiseLinear'); assert_equal (class (pd), "PiecewiseLinearDistribution"); assert_equal (pd.x, [0; 1]); assert_equal (pd.Fx, [0; 1]); ***** test pd = makedist ('PiecewiseLinear', 'x', [0, 1, 2], 'Fx', [0, 0.5, 1]); assert_equal (pd.x, [0; 1; 2]); assert_equal (pd.Fx, [0; 0.5; 1]); ***** test pd = makedist ('Poisson'); assert_equal (class (pd), "PoissonDistribution"); assert_equal (pd.lambda, 1); ***** test pd = makedist ('Poisson', 'lambda', 5); assert_equal (pd.lambda, 5); ***** test pd = makedist ('Rayleigh'); assert_equal (class (pd), "RayleighDistribution"); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Rayleigh', 'sigma', 5); assert_equal (pd.sigma, 5); ***** test pd = makedist ('Rician'); assert_equal (class (pd), "RicianDistribution"); assert_equal (pd.s, 1); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Rician', 's', 3); assert_equal (pd.s, 3); assert_equal (pd.sigma, 1); ***** test pd = makedist ('Rician', 'sigma', 3); assert_equal (pd.s, 1); assert_equal (pd.sigma, 3); ***** test pd = makedist ('Rician', 's', 2, 'sigma', 3); assert_equal (pd.s, 2); assert_equal (pd.sigma, 3); ***** warning pd = makedist ('stable'); assert_equal (class (pd), "double"); assert_equal (isempty (pd), true); ***** test pd = makedist ('tlocationscale'); assert_equal (class (pd), "tLocationScaleDistribution"); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 1); assert_equal (pd.nu, 5); ***** test pd = makedist ('tlocationscale', 'mu', 5); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 1); assert_equal (pd.nu, 5); ***** test pd = makedist ('tlocationscale', 'sigma', 2); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 2); assert_equal (pd.nu, 5); ***** test pd = makedist ('tlocationscale', 'mu', 5, 'sigma', 2); assert_equal (pd.mu, 5); assert_equal (pd.sigma, 2); assert_equal (pd.nu, 5); ***** test pd = makedist ('tlocationscale', 'nu', 1, 'sigma', 2); assert_equal (pd.mu, 0); assert_equal (pd.sigma, 2); assert_equal (pd.nu, 1); ***** test pd = makedist ('tlocationscale', 'mu', -2, 'sigma', 3, 'nu', 1); assert_equal (pd.mu, -2); assert_equal (pd.sigma, 3); assert_equal (pd.nu, 1); ***** test pd = makedist ('Triangular'); assert_equal (class (pd), "TriangularDistribution"); assert_equal (pd.A, 0); assert_equal (pd.B, 0.5); assert_equal (pd.C, 1); ***** test pd = makedist ('Triangular', 'A', -2); assert_equal (pd.A, -2); assert_equal (pd.B, 0.5); assert_equal (pd.C, 1); ***** test pd = makedist ('Triangular', 'A', 0.5, 'B', 0.9); assert_equal (pd.A, 0.5); assert_equal (pd.B, 0.9); assert_equal (pd.C, 1); ***** test pd = makedist ('Triangular', 'A', 1, 'B', 2, 'C', 5); assert_equal (pd.A, 1); assert_equal (pd.B, 2); assert_equal (pd.C, 5); ***** test pd = makedist ('Uniform'); assert_equal (class (pd), "UniformDistribution"); assert_equal (pd.Lower, 0); assert_equal (pd.Upper, 1); ***** test pd = makedist ('Uniform', 'Lower', -2); assert_equal (pd.Lower, -2); assert_equal (pd.Upper, 1); ***** test pd = makedist ('Uniform', 'Lower', 1, 'Upper', 3); assert_equal (pd.Lower, 1); assert_equal (pd.Upper, 3); ***** test pd = makedist ('Weibull'); assert_equal (class (pd), "WeibullDistribution"); assert_equal (pd.lambda, 1); assert_equal (pd.k, 1); ***** test pd = makedist ('Weibull', 'lambda', 3); assert_equal (pd.lambda, 3); assert_equal (pd.k, 1); ***** test pd = makedist ('Weibull', 'lambda', 3, 'k', 2); assert_equal (pd.lambda, 3); assert_equal (pd.k, 2); ***** error makedist (1) ***** error makedist (['as';'sd']) ***** error makedist ('some') ***** error ... makedist ('Beta', 'a') ***** error ... makedist ('Beta', 'a', 1, 'Q', 23) ***** error ... makedist ('Binomial', 'N', 1, 'Q', 23) ***** error ... makedist ('BirnbaumSaunders', 'N', 1) ***** error ... makedist ('Burr', 'lambda', 1, 'sdfs', 34) ***** error ... makedist ('extremevalue', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('exponential', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Gamma', 'k', 1, 'sdfs', 34) ***** error ... makedist ('GeneralizedExtremeValue', 'k', 1, 'sdfs', 34) ***** error ... makedist ('GeneralizedPareto', 'k', 1, 'sdfs', 34) ***** error ... makedist ('HalfNormal', 'k', 1, 'sdfs', 34) ***** error ... makedist ('InverseGaussian', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Logistic', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Loglogistic', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Lognormal', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Loguniform', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Multinomial', 'k', 1, 'sdfs', 34) ***** error ... makedist ('Nakagami', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('NegativeBinomial', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Normal', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('PiecewiseLinear', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Poisson', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Rayleigh', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Rician', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Stable', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('tLocationScale', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Triangular', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Uniform', 'mu', 1, 'sdfs', 34) ***** error ... makedist ('Weibull', 'mu', 1, 'sdfs', 34) 131 tests, 131 passed, 0 known failure, 0 skipped [inst/dist_wrap/pdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_wrap/pdf.m ***** shared x x = [1:5]; ***** assert_equal (pdf ('Beta', x, 5, 2), betapdf (x, 5, 2)) ***** assert_equal (pdf ('beta', x, 5, 2), betapdf (x, 5, 2)) ***** assert_equal (pdf ('Binomial', x, 5, 2), binopdf (x, 5, 2)) ***** assert_equal (pdf ('bino', x, 5, 2), binopdf (x, 5, 2)) ***** assert_equal (pdf ('Birnbaum-Saunders', x, 5, 2), bisapdf (x, 5, 2)) ***** assert_equal (pdf ('bisa', x, 5, 2), bisapdf (x, 5, 2)) ***** assert_equal (pdf ('Burr', x, 5, 2, 2), burrpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('burr', x, 5, 2, 2), burrpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Cauchy', x, 5, 2), cauchypdf (x, 5, 2)) ***** assert_equal (pdf ('cauchy', x, 5, 2), cauchypdf (x, 5, 2)) ***** assert_equal (pdf ('Chi-squared', x, 5), chi2pdf (x, 5)) ***** assert_equal (pdf ('chi2', x, 5), chi2pdf (x, 5)) ***** assert_equal (pdf ('Extreme Value', x, 5, 2), evpdf (x, 5, 2)) ***** assert_equal (pdf ('ev', x, 5, 2), evpdf (x, 5, 2)) ***** assert_equal (pdf ('Exponential', x, 5), exppdf (x, 5)) ***** assert_equal (pdf ('exp', x, 5), exppdf (x, 5)) ***** assert_equal (pdf ('F-Distribution', x, 5, 2), fpdf (x, 5, 2)) ***** assert_equal (pdf ('f', x, 5, 2), fpdf (x, 5, 2)) ***** assert_equal (pdf ('Gamma', x, 5, 2), gampdf (x, 5, 2)) ***** assert_equal (pdf ('gam', x, 5, 2), gampdf (x, 5, 2)) ***** assert_equal (pdf ('Geometric', x, 5), geopdf (x, 5)) ***** assert_equal (pdf ('geo', x, 5), geopdf (x, 5)) ***** assert_equal (pdf ('Generalized Extreme Value', x, 5, 2, 2), gevpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('gev', x, 5, 2, 2), gevpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Generalized Pareto', x, 5, 2, 2), gppdf (x, 5, 2, 2)) ***** assert_equal (pdf ('gp', x, 5, 2, 2), gppdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Gumbel', x, 5, 2), gumbelpdf (x, 5, 2)) ***** assert_equal (pdf ('gumbel', x, 5, 2), gumbelpdf (x, 5, 2)) ***** assert_equal (pdf ('Half-normal', x, 5, 2), hnpdf (x, 5, 2)) ***** assert_equal (pdf ('hn', x, 5, 2), hnpdf (x, 5, 2)) ***** assert_equal (pdf ('Hypergeometric', x, 5, 2, 2), hygepdf (x, 5, 2, 2)) ***** assert_equal (pdf ('hyge', x, 5, 2, 2), hygepdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Inverse Gaussian', x, 5, 2), invgpdf (x, 5, 2)) ***** assert_equal (pdf ('invg', x, 5, 2), invgpdf (x, 5, 2)) ***** assert_equal (pdf ('Laplace', x, 5, 2), laplacepdf (x, 5, 2)) ***** assert_equal (pdf ('laplace', x, 5, 2), laplacepdf (x, 5, 2)) ***** assert_equal (pdf ('Logistic', x, 5, 2), logipdf (x, 5, 2)) ***** assert_equal (pdf ('logi', x, 5, 2), logipdf (x, 5, 2)) ***** assert_equal (pdf ('Log-Logistic', x, 5, 2), loglpdf (x, 5, 2)) ***** assert_equal (pdf ('logl', x, 5, 2), loglpdf (x, 5, 2)) ***** assert_equal (pdf ('Lognormal', x, 5, 2), lognpdf (x, 5, 2)) ***** assert_equal (pdf ('logn', x, 5, 2), lognpdf (x, 5, 2)) ***** assert_equal (pdf ('Nakagami', x, 5, 2), nakapdf (x, 5, 2)) ***** assert_equal (pdf ('naka', x, 5, 2), nakapdf (x, 5, 2)) ***** assert_equal (pdf ('Negative Binomial', x, 5, 2), nbinpdf (x, 5, 2)) ***** assert_equal (pdf ('nbin', x, 5, 2), nbinpdf (x, 5, 2)) ***** assert_equal (pdf ('Noncentral F-Distribution', x, 5, 2, 2), ncfpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('ncf', x, 5, 2, 2), ncfpdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Noncentral Student T', x, 5, 2), nctpdf (x, 5, 2)) ***** assert_equal (pdf ('nct', x, 5, 2), nctpdf (x, 5, 2)) ***** assert_equal (pdf ('Noncentral Chi-Squared', x, 5, 2), ncx2pdf (x, 5, 2)) ***** assert_equal (pdf ('ncx2', x, 5, 2), ncx2pdf (x, 5, 2)) ***** assert_equal (pdf ('Normal', x, 5, 2), normpdf (x, 5, 2)) ***** assert_equal (pdf ('norm', x, 5, 2), normpdf (x, 5, 2)) ***** assert_equal (pdf ('Poisson', x, 5), poisspdf (x, 5)) ***** assert_equal (pdf ('poiss', x, 5), poisspdf (x, 5)) ***** assert_equal (pdf ('Rayleigh', x, 5), raylpdf (x, 5)) ***** assert_equal (pdf ('rayl', x, 5), raylpdf (x, 5)) ***** assert_equal (pdf ('Rician', x, 5, 1), ricepdf (x, 5, 1)) ***** assert_equal (pdf ('rice', x, 5, 1), ricepdf (x, 5, 1)) ***** assert_equal (pdf ('Student T', x, 5), tpdf (x, 5)) ***** assert_equal (pdf ('t', x, 5), tpdf (x, 5)) ***** assert_equal (pdf ('location-scale T', x, 5, 1, 2), tlspdf (x, 5, 1, 2)) ***** assert_equal (pdf ('tls', x, 5, 1, 2), tlspdf (x, 5, 1, 2)) ***** assert_equal (pdf ('Triangular', x, 5, 2, 2), tripdf (x, 5, 2, 2)) ***** assert_equal (pdf ('tri', x, 5, 2, 2), tripdf (x, 5, 2, 2)) ***** assert_equal (pdf ('Discrete Uniform', x, 5), unidpdf (x, 5)) ***** assert_equal (pdf ('unid', x, 5), unidpdf (x, 5)) ***** assert_equal (pdf ('Uniform', x, 5, 2), unifpdf (x, 5, 2)) ***** assert_equal (pdf ('unif', x, 5, 2), unifpdf (x, 5, 2)) ***** assert_equal (pdf ('Von Mises', x, 5, 2), vmpdf (x, 5, 2)) ***** assert_equal (pdf ('vm', x, 5, 2), vmpdf (x, 5, 2)) ***** assert_equal (pdf ('Weibull', x, 5, 2), wblpdf (x, 5, 2)) ***** assert_equal (pdf ('wbl', x, 5, 2), wblpdf (x, 5, 2)) ***** error pdf (1) ***** error pdf ({'beta'}) ***** error pdf ('beta', {[1 2 3 4 5]}) ***** error pdf ('beta', 'text') ***** error pdf ('beta', 1+i) ***** error ... pdf ('Beta', x, 'a', 2) ***** error ... pdf ('Beta', x, 5, '') ***** error ... pdf ('Beta', x, 5, {2}) ***** error pdf ('chi2', x) ***** error pdf ('Beta', x, 5) ***** error pdf ('Burr', x, 5) ***** error pdf ('Burr', x, 5, 2) 86 tests, 86 passed, 0 known failure, 0 skipped [inst/dist_wrap/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/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/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/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/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/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/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 +|+ | 0.6 +|+ 1 +|+$$$$$$$$ 4$$$$$$$$$$$$ 0.5 @|@@@@ 1@@@@ 2@@@ 3@@@ 4 0.5 +|+$$$$$$$$$$$$$$$$$$$$$$$ 0.4 +|+###*######*#####*#### * #|####################Cook's distanc|####*######*#####*#### * 0 #|######################## 0.3 +|+###*######*#####*#### * -0.5 +|+$$$$$$$$$$$$$$$$$$$$$$$ 0.2 +|+###*######*#####*#### * +|------------------------- 0.1 +|------------------------- -1 +-+$+$$+$$$ 1+$$$+$$+$$$+ 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/normalise_distribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/normalise_distribution.m ***** test v = normalise_distribution ([1 2 3], [], 1); assert_equal (v, [0 0 0]) ***** test v = normalise_distribution ([1 2 3], [], 2); assert_equal (v, norminv ([1 3 5] / 6), 3 * eps) ***** test v = normalise_distribution ([1 2 3]', [], 2); assert_equal (v, [0 0 0]') ***** test v = normalise_distribution ([1 2 3]', [], 1); assert_equal (v, norminv ([1 3 5]' / 6), 3 * eps) ***** test v = normalise_distribution ([1 1 2 2 3 3], [], 2); assert_equal (v, norminv ([3 3 7 7 11 11] / 12), 3 * eps) ***** test v = normalise_distribution ([1 1 2 2 3 3]', [], 1); assert_equal (v, norminv ([3 3 7 7 11 11]' / 12), 3 * eps) ***** test A = randn ( 10 ); N = normalise_distribution (A, @normcdf); assert_equal (A, N, 10000 * eps) ***** test A = exprnd (1, 100); N = normalise_distribution (A, @(x)(expcdf (x, 1))); assert_equal (mean (vec (N)), 0, 0.1) assert_equal (std (vec (N)), 1, 0.1) ***** test A = rand (1000,1); N = normalise_distribution (A, {@(x)(unifcdf (x, 0, 1))}); assert_equal (mean (vec (N)), 0, 0.2) assert_equal (std (vec (N)), 1, 0.1) ***** test A = [rand(1000,1), randn(1000, 1)]; N = normalise_distribution (A, {@(x)(unifcdf (x, 0, 1)), @normcdf}); assert_equal (mean (N), [0, 0], 0.2) assert_equal (std (N), [1, 1], 0.1) ***** test A = [rand(1000,1), randn(1000, 1), exprnd(1, 1000, 1)]'; N = normalise_distribution (A, {@(x)(unifcdf (x, 0, 1)); @normcdf; @(x)(expcdf (x, 1))}, 2); assert_equal (mean (N, 2), [0, 0, 0]', 0.2); assert_equal (std (N, [], 2), [1, 1, 1]', 0.1); ***** xtest A = exprnd (1, 1000, 9); A(300:500, 4:6) = 17; N = normalise_distribution (A); assert_equal (mean (N), [0 0 0 0.38 0.38 0.38 0 0 0], 0.1); assert_equal (var (N), [1 1 1 2.59 2.59 2.59 1 1 1], 0.1); ***** test ***** error normalise_distribution (zeros (3, 4), ... {@(x)(unifcdf (x, 0, 1)); @normcdf; @(x)(expcdf (x,1))}); 14 tests, 14 passed, 0 known failure, 0 skipped [inst/barttest.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/barttest.m ***** error barttest () ***** error barttest ([2,NaN;3,4]) ***** error barttest (ones (30, 4), 'alpha') ***** error barttest (ones (30, 4), 0) ***** error barttest (ones (30, 4), 1.2) ***** error barttest (ones (30, 4), [0.2, 0.05]) ***** error barttest (ones (30, 1)) ***** error barttest (ones (30, 1), 0.05) ***** test x = [2, 3, 4, 5, 6, 7, 8, 9; 1, 2, 3, 4, 5, 6, 7, 8]'; [ndim, pval, chisq] = barttest (x); assert_equal (ndim, 2); assert_equal (pval, 0); ## assert_equal (chisq, 512.0558, 1e-4); Result differs between octave 6 and 7 ? ***** test x = [0.53767, 0.62702, -0.10224, -0.25485, 1.4193, 1.5237 ; ... 1.8339, 1.6452, -0.24145, -0.23444, 0.29158, 0.1634 ; ... -2.2588, -2.1351, 0.31286, 0.39396, 0.19781, 0.20995 ; ... 0.86217, 1.0835, 0.31286, 0.46499, 1.5877, 1.495 ; ... 0.31877, 0.38454, -0.86488, -0.63839, -0.80447, -0.7536 ; ... -1.3077, -1.1487, -0.030051, -0.017629, 0.69662, 0.60497 ; ... -0.43359, -0.32672, -0.16488, -0.37364, 0.83509, 0.89586 ; ... 0.34262, 0.29639, 0.62771, 0.51672, -0.24372, -0.13698 ; ... 3.5784, 3.5841, 1.0933, 0.93258, 0.21567, 0.455 ; ... 2.7694, 2.6307, 1.1093, 1.4298, -1.1658, -1.1816 ; ... -1.3499, -1.2111, -0.86365, -0.94186, -1.148, -1.4381 ; ... 3.0349, 2.8428, 0.077359, 0.18211, 0.10487, -0.014613; ... 0.7254, 0.56737, -1.2141, -1.2291, 0.72225, 0.90612 ; ... -0.063055,-0.17662, -1.1135, -0.97701, 2.5855, 2.4084 ; ... 0.71474, 0.29225, -0.0068493, -0.11468, -0.66689, -0.52466 ; ... -0.20497, -7.8874e-06, 1.5326, 1.3195, 0.18733, 0.20296 ; ... -0.12414, -0.077029, -0.76967, -0.96262, -0.082494, 0.121 ; ... 1.4897, 1.3683, 0.37138, 0.43653, -1.933, -2.1903 ; ... 1.409, 1.5882, -0.22558, -0.24835, -0.43897, -0.46247 ; ... 1.4172, 1.1616, 1.1174, 1.0785, -1.7947, -1.9471 ]; [ndim, pval, chisq] = barttest (x); assert_equal (ndim, 3); assert_equal (pval, [0; 0; 0; 0.52063; 0.34314], 1e-5); chisq_out = [251.6802; 210.2670; 153.1773; 4.2026; 2.1392]; assert_equal (chisq, chisq_out, 1e-4); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/RayleighDistribution.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_obj/RayleighDistribution.m ***** demo ## Generate a data set of 5000 random samples from a Rayleigh distribution with ## parameter sigma = 2. Fit a Rayleigh distribution to this data and plot ## a PDF of the fitted distribution superimposed on a histogram of the data. pd_fixed = makedist ('Rayleigh', 'sigma', 2) rand ('seed', 2); data = random (pd_fixed, 5000, 1); pd_fitted = fitdist (data, 'Rayleigh') plot (pd_fitted) msg = 'Fitted Rayleigh distribution with sigma = %0.2f'; title (sprintf (msg, pd_fitted.sigma)) ***** shared pd, t pd = RayleighDistribution; t = truncate (pd, 2, 4); ***** assert_equal (cdf (pd, [0:5]), [0, 0.3935, 0.8647, 0.9889, 0.9997, 1], 1e-4); ***** assert_equal (cdf (t, [0:5]), [0, 0, 0, 0.9202, 1, 1], 1e-4); ***** assert_equal (cdf (pd, [1.5, 2, 3, 4, NaN]), [0.6753, 0.8647, 0.9889, 0.9997, NaN], 1e-4); ***** assert_equal (cdf (t, [1.5, 2, 3, 4, NaN]), [0, 0, 0.9202, 1, NaN], 1e-4); ***** assert_equal (icdf (pd, [0:0.2:1]), [0, 0.6680, 1.0108, 1.3537, 1.7941, Inf], 1e-4); ***** assert_equal (icdf (t, [0:0.2:1]), [2, 2.1083, 2.2402, 2.4135, 2.6831, 4], 1e-4); ***** assert_equal (icdf (pd, [-1, 0.4:0.2:1, NaN]), [NaN, 1.0108, 1.3537, 1.7941, Inf, NaN], 1e-4); ***** assert_equal (icdf (t, [-1, 0.4:0.2:1, NaN]), [NaN, 2.2402, 2.4135, 2.6831, 4, NaN], 1e-4); ***** assert_equal (iqr (pd), 0.9066, 1e-4); ***** assert_equal (iqr (t), 0.4609, 1e-4); ***** assert_equal (mean (pd), 1.2533, 1e-4); ***** assert_equal (mean (t), 2.4169, 1e-4); ***** assert_equal (median (pd), 1.1774, 1e-4); ***** assert_equal (median (t), 2.3198, 1e-4); ***** assert_equal (pdf (pd, [0:5]), [0, 0.6065, 0.2707, 0.0333, 0.0013, 0], 1e-4); ***** assert_equal (pdf (t, [0:5]), [0, 0, 2.0050, 0.2469, 0.0099, 0], 1e-4); ***** assert_equal (pdf (pd, [-1, 1.5, NaN]), [0, 0.4870, NaN], 1e-4); ***** assert_equal (pdf (t, [-1, 1.5, NaN]), [0, 0, NaN], 1e-4); ***** assert_equal (isequal (size (random (pd, 100, 50)), [100, 50]), true) ***** assert_equal (any (random (t, 1000, 1) < 2), false); ***** assert_equal (any (random (t, 1000, 1) > 4), false); ***** assert_equal (std (pd), 0.6551, 1e-4); ***** assert_equal (std (t), 0.3591, 1e-4); ***** assert_equal (var (pd), 0.4292, 1e-4); ***** assert_equal (var (t), 0.1290, 1e-4); ***** error ... RayleighDistribution (0) ***** error ... RayleighDistribution (-1) ***** error ... RayleighDistribution (Inf) ***** error ... RayleighDistribution (i) ***** error ... RayleighDistribution ('a') ***** error ... RayleighDistribution ([1, 2]) ***** error ... RayleighDistribution (NaN) ***** error ... cdf (RayleighDistribution, 2, 'uper') ***** error ... cdf (RayleighDistribution, 2, 3) ***** shared x x = raylrnd (1, [1, 100]); ***** error ... paramci (RayleighDistribution.fit (x), 'alpha') ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 0) ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 1) ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', [0.5 2]) ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', '') ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', {0.05}) ***** error ... paramci (RayleighDistribution.fit (x), 'parameter', 'sigma', 'alpha', {0.05}) ***** error ... paramci (RayleighDistribution.fit (x), 'parameter', {'sigma', 'param'}) ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 0.01, ... 'parameter', {'sigma', 'param'}) ***** error ... paramci (RayleighDistribution.fit (x), 'parameter', 'param') ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 0.01, 'parameter', 'param') ***** error ... paramci (RayleighDistribution.fit (x), 'NAME', 'value') ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 0.01, 'NAME', 'value') ***** error ... paramci (RayleighDistribution.fit (x), 'alpha', 0.01, ... 'parameter', 'sigma', 'NAME', 'value') ***** error ... plot (RayleighDistribution, 'Parent') ***** error ... plot (RayleighDistribution, 'PlotType', 12) ***** error ... plot (RayleighDistribution, 'PlotType', {'pdf', 'cdf'}) ***** error ... plot (RayleighDistribution, 'PlotType', 'pdfcdf') ***** error ... plot (RayleighDistribution, 'Discrete', 'pdfcdf') ***** error ... plot (RayleighDistribution, 'Discrete', [1, 0]) ***** error ... plot (RayleighDistribution, 'Discrete', {true}) ***** error ... plot (RayleighDistribution, 'Parent', 12) ***** error ... plot (RayleighDistribution, 'Parent', 'hax') ***** error ... plot (RayleighDistribution, 'invalidNAME', 'pdf') ***** error ... plot (RayleighDistribution, 'PlotType', 'probability') ***** error ... proflik (RayleighDistribution, 2) ***** error ... proflik (RayleighDistribution.fit (x), 3) ***** error ... proflik (RayleighDistribution.fit (x), [1, 2]) ***** error ... proflik (RayleighDistribution.fit (x), {1}) ***** error ... proflik (RayleighDistribution.fit (x), 1, ones (2)) ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display') ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display', 1) ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display', {1}) ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display', {'on'}) ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display', ['on'; 'on']) ***** error ... proflik (RayleighDistribution.fit (x), 1, 'Display', 'onnn') ***** error ... proflik (RayleighDistribution.fit (x), 1, 'NAME', 'on') ***** error ... proflik (RayleighDistribution.fit (x), 1, {'NAME'}, 'on') ***** error ... proflik (RayleighDistribution.fit (x), 1, {[1 2 3 4]}, 'Display', 'on') ***** error ... truncate (RayleighDistribution) ***** error ... truncate (RayleighDistribution, 2) ***** error ... truncate (RayleighDistribution, 4, 2) ***** shared pd pd = RayleighDistribution (1); pd(2) = RayleighDistribution (3); ***** error cdf (pd, 1) ***** error icdf (pd, 0.5) ***** error iqr (pd) ***** error mean (pd) ***** error median (pd) ***** error negloglik (pd) ***** error paramci (pd) ***** error pdf (pd, 1) ***** error plot (pd) ***** error proflik (pd, 2) ***** error random (pd) ***** error std (pd) ***** error ... truncate (pd, 2, 4) ***** error var (pd) 90 tests, 90 passed, 0 known failure, 0 skipped [inst/dist_obj/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/ncx2stat.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_stat/ncx2stat.m ***** error ncx2stat () ***** error ncx2stat (1) ***** error ncx2stat ({}, 2) ***** error ncx2stat (1, '') ***** error ncx2stat (i, 2) ***** error ncx2stat (1, i) ***** error ... ncx2stat (ones (3), ones (2)) ***** error ... ncx2stat (ones (2), ones (3)) ***** shared df, d1 df = [2, 0, -1, 1, 4]; d1 = [1, NaN, 3, -1, 2]; ***** assert_equal (ncx2stat (df, d1), [3, NaN, NaN, NaN, 6]); ***** assert_equal (ncx2stat ([df(1:2), df(4:5)], 1), [3, NaN, 2, 5]); ***** assert_equal (ncx2stat ([df(1:2), df(4:5)], 3), [5, NaN, 4, 7]); ***** assert_equal (ncx2stat ([df(1:2), df(4:5)], 2), [4, NaN, 3, 6]); ***** assert_equal (ncx2stat (2, [d1(1), d1(3:5)]), [3, 5, NaN, 4]); ***** assert_equal (ncx2stat (0, [d1(1), d1(3:5)]), [NaN, NaN, NaN, NaN]); ***** assert_equal (ncx2stat (1, [d1(1), d1(3:5)]), [2, 4, NaN, 3]); ***** assert_equal (ncx2stat (4, [d1(1), d1(3:5)]), [5, 7, NaN, 6]); 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_stat/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/ppplot.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/ppplot.m ***** test hf = figure ('visible', 'off'); unwind_protect ppplot ([2 3 3 4 4 5 6 5 6 7 8 9 8 7 8 9 0 8 7 6 5 4 6 13 8 15 9 9]); unwind_protect_cleanup close (hf); end_unwind_protect ***** error ppplot () ***** error ppplot (ones (2,2)) ***** error ppplot (1, 2) ***** error ppplot ([1 2 3 4], 2) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/logicdf.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dist_fun/logicdf.m ***** demo ## Plot various CDFs from the logistic distribution x = -5:0.01:20; p1 = logicdf (x, 5, 2); p2 = logicdf (x, 9, 3); p3 = logicdf (x, 9, 4); p4 = logicdf (x, 6, 2); p5 = logicdf (x, 2, 1); plot (x, p1, '-b', x, p2, '-g', x, p3, '-r', x, p4, '-c', x, p5, '-m') grid on legend ({'μ = 5, σ = 2', 'μ = 9, σ = 3', 'μ = 9, σ = 4', ... 'μ = 6, σ = 2', 'μ = 2, σ = 1'}, 'location', 'southeast') title ('Logistic CDF') xlabel ('values in x') ylabel ('probability') ***** shared x, y x = [-Inf -log(3) 0 log(3) Inf]; y = [0, 1/4, 1/2, 3/4, 1]; ***** assert_equal (logicdf ([x, NaN], 0, 1), [y, NaN], eps) ***** assert_equal (logicdf (x, 0, [-2, -1, 0, 1, 2]), [nan(1, 3), 0.75, 1], eps) ***** assert_equal (logicdf (single ([x, NaN]), 0, 1), single ([y, NaN]), eps ('single')) ***** assert_equal (logicdf ([x, NaN], single (0), 1), single ([y, NaN]), eps ('single')) ***** assert_equal (logicdf ([x, NaN], 0, single (1)), single ([y, NaN]), eps ('single')) ***** error logicdf () ***** error logicdf (1) ***** error ... logicdf (1, 2) ***** error logicdf (1, 2, 3, 'tail') ***** error logicdf (1, 2, 3, 4) ***** error ... logicdf (1, ones (2), ones (3)) ***** error ... logicdf (ones (2), 1, ones (3)) ***** error ... logicdf (ones (2), ones (3), 1) ***** error logicdf (i, 2, 3) ***** error logicdf (1, i, 3) ***** error logicdf (1, 2, i) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/dist_fun/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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.CxedO3yT3P at line 3438 column 2 1 test, 1 passed, 0 known failure, 0 skipped [inst/dendrogram.m] >>>>> /build/reproducible-path/octave-statistics-1.8.4/inst/dendrogram.m ***** demo ## simple dendrogram y = [4, 5; 2, 6; 3, 7; 8, 9; 1, 10]; y(:,3) = 1:5; dendrogram (y); title ('simple dendrogram'); ***** demo ## another simple dendrogram v = 2 * rand (30, 1) - 1; d = abs (bsxfun (@minus, v(:, 1), v(:, 1)')); y = linkage (squareform (d, 'tovector')); dendrogram (y); title ('another simple dendrogram'); ***** demo ## collapsed tree, find all the leaves of node 5 X = randn (60, 2); D = pdist (X); y = linkage (D, 'average'); subplot (2, 1, 1); title ('original tree'); dendrogram (y, 0); subplot (2, 1, 2); title ('collapsed tree'); [~, t] = dendrogram (y, 20); find (t == 5) ***** demo ## optimal leaf order X = randn (30, 2); D = pdist (X); y = linkage (D, 'average'); order = optimalleaforder (y, D); subplot (2, 1, 1); title ('original leaf order'); dendrogram (y); subplot (2, 1, 2); title ('optimal leaf order'); dendrogram (y, 'Reorder', order); ***** demo ## horizontal orientation and labels X = randn (8, 2); D = pdist (X); L = ['Snow White'; 'Doc'; 'Grumpy'; 'Happy'; 'Sleepy'; 'Bashful'; ... 'Sneezy'; 'Dopey']; y = linkage (D, 'average'); dendrogram (y, 'Orientation', 'left', 'Labels', L); title ('horizontal orientation and labels'); ***** shared visibility_setting visibility_setting = get (0, 'DefaultFigureVisible'); ***** test hf = figure ('visible', 'off'); unwind_protect y = [4, 5; 2, 6; 3, 7; 8, 9; 1, 10]; y(:,3) = 1:5; dendrogram (y); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect y = [4, 5; 2, 6; 3, 7; 8, 9; 1, 10]; y(:,3) = 1:5; dendrogram (y); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect v = 2 * rand (30, 1) - 1; d = abs (bsxfun (@minus, v(:, 1), v(:, 1)')); y = linkage (squareform (d, 'tovector')); dendrogram (y); unwind_protect_cleanup close (hf); end_unwind_protect ***** test hf = figure ('visible', 'off'); unwind_protect X = randn (30, 2); D = pdist (X); y = linkage (D, 'average'); order = optimalleaforder (y, D); subplot (2, 1, 1); title ('original leaf order'); dendrogram (y); subplot (2, 1, 2); title ('optimal leaf order'); dendrogram (y, 'Reorder', order); unwind_protect_cleanup close (hf); end_unwind_protect ***** error dendrogram (); ***** error dendrogram (ones (2, 2), 1); ***** error dendrogram ([1 2 1], 1, 'xxx', 'xxx'); ***** error dendrogram ([1 2 1], 'Reorder', 'xxx'); ***** error dendrogram ([1 2 1], 'Reorder', [1 2 3 4]); fail ('dendrogram ([1 2 1], "Orientation", "north")', 'invalid orientation .*') 9 tests, 9 passed, 0 known failure, 0 skipped [inst/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 Checking C++ files ... [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/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/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/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 [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/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 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/loongarch64-linux-gnu/octave/11.3.0 -O--buildsystem=octave dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 from: /lib64/ld-linux-loongarch-lp64d.so.1 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 to: /lib64/ld-linux-loongarch-lp64d.so.1.usr-is-merged 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_loong64.deb'. dpkg-deb: building package 'octave-statistics-dbgsym' in '../octave-statistics-dbgsym_1.8.4-1_loong64.deb'. dpkg-genbuildinfo --build=any -O../octave-statistics_1.8.4-1_loong64.buildinfo dpkg-genchanges --build=any -O../octave-statistics_1.8.4-1_loong64.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-09-06T02:25:27Z Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Changes Sun, 06 Sep 2026 02:25:29 +0000 | +------------------------------------------------------------------------------+ octave-statistics_1.8.4-1_loong64.changes: ------------------------------------------ Format: 1.8 Date: Sun, 12 Jul 2026 09:51:03 +0200 Source: octave-statistics Binary: octave-statistics octave-statistics-dbgsym Architecture: loong64 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: 486182d98b7e694bcffb2464e129b46ccfb76061 5027712 octave-statistics-dbgsym_1.8.4-1_loong64.deb b0baeef85942377f4c0232dbeb1129b2380d590b 22540 octave-statistics_1.8.4-1_loong64.buildinfo 1b92ce666f971f2b303dc229451acfc8b2b271a9 139328 octave-statistics_1.8.4-1_loong64.deb Checksums-Sha256: cfd9aff77a5a08d6c472567dc5f6fa17af43595c8ad2011935064795d9750723 5027712 octave-statistics-dbgsym_1.8.4-1_loong64.deb 366eab3427a9b8c5a92167629514ff51ecd120f60912cfb35b2748a642d1d2ce 22540 octave-statistics_1.8.4-1_loong64.buildinfo 6262d2d6ec75ef3a4fe9ad157469afdcda83d9996ba75ce6fdfebedbd441811d 139328 octave-statistics_1.8.4-1_loong64.deb Files: e26130994c0e95881bb8de328a699b8c 5027712 debug optional octave-statistics-dbgsym_1.8.4-1_loong64.deb be65f230ab541fa7215f08c424d691e8 22540 math optional octave-statistics_1.8.4-1_loong64.buildinfo fa09203f53ad7f0df22fbe8ff4fcd052 139328 math optional octave-statistics_1.8.4-1_loong64.deb +------------------------------------------------------------------------------+ | Buildinfo Sun, 06 Sep 2026 02:25:30 +0000 | +------------------------------------------------------------------------------+ Format: 1.0 Source: octave-statistics Binary: octave-statistics octave-statistics-dbgsym Architecture: loong64 Version: 1.8.4-1 Checksums-Md5: e26130994c0e95881bb8de328a699b8c 5027712 octave-statistics-dbgsym_1.8.4-1_loong64.deb fa09203f53ad7f0df22fbe8ff4fcd052 139328 octave-statistics_1.8.4-1_loong64.deb Checksums-Sha1: 486182d98b7e694bcffb2464e129b46ccfb76061 5027712 octave-statistics-dbgsym_1.8.4-1_loong64.deb 1b92ce666f971f2b303dc229451acfc8b2b271a9 139328 octave-statistics_1.8.4-1_loong64.deb Checksums-Sha256: cfd9aff77a5a08d6c472567dc5f6fa17af43595c8ad2011935064795d9750723 5027712 octave-statistics-dbgsym_1.8.4-1_loong64.deb 6262d2d6ec75ef3a4fe9ad157469afdcda83d9996ba75ce6fdfebedbd441811d 139328 octave-statistics_1.8.4-1_loong64.deb Build-Origin: Debian Build-Architecture: loong64 Build-Date: Sun, 06 Sep 2026 02:25:26 +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+b1), bash (= 5.3-3), binutils (= 2.46.50.20260617-1), binutils-common (= 2.46.50.20260617-1), binutils-loongarch64-linux-gnu (= 2.46.50.20260617-1), bsdextrautils (= 2.42.2-1), build-essential (= 12.12+b1), 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-loongarch64-linux-gnu (= 15.3.0-1), cpp-loongarch64-linux-gnu (= 4:15.2.0-5+b1), dash (= 0.5.12-12+b1), debconf (= 1.5.92), debhelper (= 14.3), debianutils (= 5.23.2+b1), 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+b1), 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-loongarch64-linux-gnu (= 15.3.0-1), g++-loongarch64-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-loongarch64-linux-gnu (= 15.3.0-1), gcc-16-base (= 16.1.0-2), gcc-loongarch64-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-loongarch64-linux-gnu (= 15.3.0-1), gfortran-loongarch64-linux-gnu (= 4:15.2.0-5+b1), gnuplot-data (= 6.0.3+dfsg1-1), gnuplot-nox (= 6.0.3+dfsg1-1+b1), gpg (= 2.4.9-7), gpgconf (= 2.4.9-7), grep (= 3.12-1+b1), groff-base (= 1.24.1-1), gzip (= 1.13-1+b1), hdf5-helpers (= 1.14.6+repack-2+b1), hostname (= 3.25+b1), 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+b1), 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+b1), 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+b1), 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+b1), 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), 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+b1), 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-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+b1), 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), libgraphicsmagick++-q16-12t64 (= 1.4+really1.3.46-2+b1), libgraphicsmagick-q16-3t64 (= 1.4+really1.3.46-2+b1), 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), 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+b1), 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+b1), 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+b1), 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), 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+b1), libperlio-utf8-strict-perl (= 0.010-1+b2), 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), 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), 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+b1), 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+b1), 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+b1), 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+b1), libtext-markdown-discount-perl (= 0.18-1+b1), 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+b1), 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+b1), 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+b1), m4 (= 1.4.21-1), make (= 4.4.1-3+b1), man-db (= 2.13.1-1+b1), 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+b1), patchutils (= 0.4.5-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+b2), sysvinit-utils (= 3.18-1), t1utils (= 1.41-4+b1), 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+b1), 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=8" LANG="C.UTF-8" LC_COLLATE="C.UTF-8" LC_CTYPE="C.UTF-8" SOURCE_DATE_EPOCH="1783842663" +------------------------------------------------------------------------------+ | Package contents Sun, 06 Sep 2026 02:25:30 +0000 | +------------------------------------------------------------------------------+ octave-statistics-dbgsym_1.8.4-1_loong64.deb -------------------------------------------- new Debian package, version 2.0. size 5027712 bytes: control archive=856 bytes. 644 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: loong64 Maintainer: Debian Octave Group Installed-Size: 5056 Depends: octave-statistics (= 1.8.4-1) Section: debug Priority: optional Description: debug symbols for octave-statistics Build-Ids: 00d9eb2c481133848fb46ed89c8afc5d4c06b56d 484a45f58210601bfbd6b13202b6c8d1da9571f4 7ad9aa50f97d72370b30ab1b0ae502d1e86f643e a219fcf2c24a1b25e9f2d5781ab2c61bdc5983c7 ba0b06f521605529b7c335989ef12cca4f03adae bb18deff52ed699772c9fdd8bd5965c300032d09 fa3c35f6bb73ccc1696b4fd016f312061afd71f0 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/00/ -rw-r--r-- root/root 325592 2026-07-12 07:51 ./usr/lib/debug/.build-id/00/d9eb2c481133848fb46ed89c8afc5d4c06b56d.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/48/ -rw-r--r-- root/root 1029080 2026-07-12 07:51 ./usr/lib/debug/.build-id/48/4a45f58210601bfbd6b13202b6c8d1da9571f4.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/7a/ -rw-r--r-- root/root 731456 2026-07-12 07:51 ./usr/lib/debug/.build-id/7a/d9aa50f97d72370b30ab1b0ae502d1e86f643e.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/a2/ -rw-r--r-- root/root 754392 2026-07-12 07:51 ./usr/lib/debug/.build-id/a2/19fcf2c24a1b25e9f2d5781ab2c61bdc5983c7.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/ba/ -rw-r--r-- root/root 967968 2026-07-12 07:51 ./usr/lib/debug/.build-id/ba/0b06f521605529b7c335989ef12cca4f03adae.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/bb/ -rw-r--r-- root/root 1003584 2026-07-12 07:51 ./usr/lib/debug/.build-id/bb/18deff52ed699772c9fdd8bd5965c300032d09.debug drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/debug/.build-id/fa/ -rw-r--r-- root/root 345560 2026-07-12 07:51 ./usr/lib/debug/.build-id/fa/3c35f6bb73ccc1696b4fd016f312061afd71f0.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_loong64.deb ------------------------------------- new Debian package, version 2.0. size 139328 bytes: control archive=1216 bytes. 775 bytes, 16 lines control 2430 bytes, 17 lines md5sums Package: octave-statistics Version: 1.8.4-1 Architecture: loong64 Maintainer: Debian Octave Group Installed-Size: 787 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/loongarch64-linux-gnu/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/ drwxr-xr-x root/root 0 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/ -rw-r--r-- root/root 19767 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/doc-cache -rw-r--r-- root/root 4217 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/editDistance.cc-tst -rw-r--r-- root/root 133432 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/editDistance.oct -rw-r--r-- root/root 2958 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/fcnnpredict.cc-tst -rw-r--r-- root/root 67904 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/fcnnpredict.oct -rw-r--r-- root/root 4428 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/fcnntrain.cc-tst -rw-r--r-- root/root 133560 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/fcnntrain.oct -rw-r--r-- root/root 561 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/libsvmread.cc-tst -rw-r--r-- root/root 67928 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/libsvmread.oct -rw-r--r-- root/root 888 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/libsvmwrite.cc-tst -rw-r--r-- root/root 67768 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/libsvmwrite.oct -rw-r--r-- root/root 2514 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/svmpredict.cc-tst -rw-r--r-- root/root 133728 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/svmpredict.oct -rw-r--r-- root/root 2618 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-linux-gnu-api-v61/svmtrain.cc-tst -rw-r--r-- root/root 133728 2026-07-12 07:51 ./usr/lib/loongarch64-linux-gnu/octave/packages/statistics-1.8.4/loongarch64-unknown-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 Sun, 06 Sep 2026 02:25:33 +0000 | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup Sun, 06 Sep 2026 02:25:33 +0000 | +------------------------------------------------------------------------------+ Purging /build/reproducible-path Not cleaning session: cloned chroot in use +------------------------------------------------------------------------------+ | Summary Sun, 06 Sep 2026 02:25:39 +0000 | +------------------------------------------------------------------------------+ Build Architecture: loong64 Build Type: any Build-Space: 53096 Build-Time: 737 Distribution: unstable Host Architecture: loong64 Install-Time: 19 Job: /srv/rebuilderd/tmp/rebuilderdD0NztJ/inputs/octave-statistics_1.8.4-1.dsc Machine Architecture: loong64 Package: octave-statistics Package-Time: 791 Source-Version: 1.8.4-1 Space: 53096 Status: successful Version: 1.8.4-1 -------------------------------------------------------------------------------- Finished at 2026-09-06T02:25:27Z Build needed 00:13:11, 53096k disk space build artifacts stored in /srv/rebuilderd/tmp/rebuilderdD0NztJ/out checking octave-statistics-dbgsym_1.8.4-1_loong64.deb: size differs for octave-statistics-dbgsym_1.8.4-1_loong64.deb rebuilderd: unexpected error while rebuilding package: Failed to run diffoscope: Permission denied (os error 13)