2021-04-29

【備忘録】正規性の検定

このところ、データ集団が正規分布になっているかどうかを検定するために、Shapiro-WilkAnderson-Darling 検定を Python で実施する方法を調べていましたが、欲しかった情報がひとまず得られ、その上、信頼区間付きの Q-Q プロットも作成できました [1]。そこで、もともと作りたかった GUI サンプルを作成してみました。

最低限の機能を実装することが目的だったので、正規乱数を発生させてそのデータのプロットと正規性の検定をおこなっています。

以下に、PySide2 のサンプルを示しました(Qt6/PySide6 に Matplotlib のオブジェクトを埋め込むサポートがまだ利用できませんでした)。

qt_matplotlib_normality.py

Fedora 34 の GNOME デスクトップ環境で実行した例を示しました。

qt_matplotlib_normality.py の実行例

データ集団の正規性を調べるのに、検定だけでなく確率プロット、ボックスプロット、そしてヒストグラムを並べて確認したかったので、3つのプロットをひとつのイメージに収めようと四苦八苦しました。結局、グリッドで変態的なレイアウトの設定をしていますが、プロット上下の余白など、レイアウトにはまだ不満が残っています。😅

Qt 側で個々のプロットの比率を自分が望むように自在にコントロールできるのであれば、レイアウトのやり方にはまだまだ改善の余地がありそうです。

雑感

個人用途であれば R でササッと計算するだけですが、他の人と同じツールを共有して同じ目的で使いたい場合に困ってしまいます。統計計算用途で R は十分ポピュラーなツールですが、それでも、統計計算が主たる業務ではないエンジニアが、業務で統計計算をするのに R を使っているケースは稀です。

一方、Minitabjmp といった市販の統計計算用ソフトウェアを企業で導入していれば、業務ではそれを利用することが望ましいです。しかし、使用資格やライセンス制限などの問題で、自分は利用できても相手が利用できない場合があります。さらに企業間でも、となれば、ソフトウェアが違っていたりして、同じやり方を共有することにはなかなか難しい課題があります。

それに、エンジニアリングにおいて汎用用途で統計計算用ソフトウェアを使うニーズはほとんど無く、多くは特定用途です。一部の機能しか使わなければ、汎用用途の統計計算ソフトウェアは(フローティングライセンスとしても)高価です。

いろいろな統計計算モジュールをあらかじめ用意しておいて、用途に併せて必要なモジュールを組み合わせて、必要なカスタマイズをしてパッケージにして、Windows 用のインストーラを作って配布すれば、多くの人と同じ目的のために使うツールを共有できます。Python を使えば、そういった使い方を実現できそうです。

参考サイト

  1. bitWalk's: Pingouin で Q-Q プロット [2021-04-25]

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

2021-04-28

Fedora 34 リリース

Fedora プロジェクトは 4月27日(米国時間⁠)、⁠Fedora 34 をリリースしました [1]。個人的には、最近メジャーバージョンアップされた新しい GNOME 40 がデスクトップ環境に採用されるということで、今回のリリースを昨年末から注目してきました。この機会にちょっと丁寧に今回のリリースを紹介したいと思います。

Fedora の正式エディションは下記の三種類です。

  • Fedora Workstation(デスクトップ向け)
  • Fedora Server(サーバ向け)
  • ⁠Fedora IoT(IoT 向け)

対応しているプロセッサは x86_64 と aarch64 で、Fedora IoT ではさらに armhfp (ARMv7) もサポートしています。

Fedora Workstation は、デフォルトのデスクトップ環境に GNOME を採用していますが、他のデスクトップ環境を利用したいユーザー向けに、インストールしてすぐに好みのデスクトップ環境を使い始められるように、下記のスピン (Spins) が用意されています。

つまり、ディスクトップ環境が違っても Fedora です。例えば Ubuntu のように Xubuntu とかデスクトップ環境に応じた名前があるわけではありません。

各デスクトップ環境は Fedora のレポジトリにあるので、デフォルト (GNOME) のデスクトップ環境でインストールしたあとで、別のデスクトップ環境をグループインストールして切り替えて使用することもできます。

さらに Labs という特定用途向けにカスタマイズされたインストーラ(下記)を利用することもできます。

  • Astronomy(天文学)
  • Comp Neuro(ニューロコンピューティング)
  • Design Suite(グラフィックデザイン)
  • Games(ゲーム)
  • JAM(オーディオ)
  • Python Classroom(Python 学習)を選択できます。

デスクトップ環境に GNOME 40 採用

3 月 24 日に正式リリースされたばかりの GNOME 40 が [2]、デフォルトのデスクトップ環境に採用されています。GNOME 3.x を使ってきたデスクトップユーザにとっては操作性が変わります。と言っても、基本的な操作は GNOME 3.x から大きくは変わっていません。

Fedora 34 Workstation デスクトップ画面

画面左上の「アクティビティ」をクリックするとアクティビティ画面に変わり、ダッシュ (Dash) が画面下に横向きに表示されるようになりました。

画面の切り替え(ショートカットキー)
⊞ Win または Alt + F1
デスクトップ画面とアクティビティ画面を切り替えます。
Fedora 34 Workstation アクティビティ画面

ダッシュの右端にある( 3 x 3 点 アイコン)をクリックすると、デスクトップアプリケーションの一覧が表示されます。

アプリ一覧表示(ショートカットキー)
⊞ Win + A
アプリケーション一覧の表示
Fedora 34 Workstation アプリケーション一覧の表示

Fedora 34 の新機能

Fedora 34 ChangeSet から引用して :[3]、ざっと日本語にしました。

1. システム全体に影響する変更

1.1 Binutils 2.35 binutils パッケージをバージョン 2.34 から 2.35 へ更新。
1.2 Enable btrfs transparent
zstd compression by default
btrfs をデフォルトのファイルシステムに使用する場合、zstd による透過的な圧縮が有効になりました。圧縮でスペースを節約し、書き込み量を抑えることでフラッシュベースのメディアの寿命を大幅に延ばすことができます。また、読み取りと書き込みのパフォーマンスも向上します。
1.3 Route all Audio to PipeWire PulseAudio と JACK からのすべてのオーディオを、デフォルトで PipeWire Audio デーモンにルーティングします。
1.4 Enable systemd-oomd
by default for all variants
デフォルトで systemd-oomd を有効にすることで、out-of-memory (OOM) になった時の状況を改善します。
1.5 Boost 1.75 upgrade Boost 1.75 に更新。
1.6 Changes/MinGW environment
and toolchain update
MinGW ツールチェーンを最新のアップストリーム安定版リリースに更新。
1.7 GNU Toolchain update
(gcc 11, glibc 2.33)
GNU Toolchain を gcc 11, binutils 2.35, glibc 2.33 に切り替えます。
1.8 Golang 1.16 Go コンパイラを 1.16 に更新し、すべての golang パッケージをリビルドしました。
1.9 IBus 1.5.24 IBus は GTK4 IM モジュールを提供し、入力メソッド名をより簡単に検索できるように ibus-setup を強化。
1.10 ibus-anthy
for default Japanese IME
デフォルトの日本語 IME(入力メソッドエンジン)を ibus-kkc から ibus-anthy へ変更。
1.11 Use ibus-m17n as the default IME
for Sinhala
デフォルトのシンハラ語 IME を ibus-sayura から ibus-m17n の入力メソッド "m17n:si:sayura - sayura (m17n)" へ変更。
1.12 Use ibus-unikey as the default IME
for Vietnamese
デフォルトのベトナム語 IME を ibus-bogo から ibus-unikey へ変更。
1.13 Ignore Anaconda kernel boot parameters
without 'inst.' prefix
Anaconda は 'inst' prefix (inst.stage2=) を持つブートオプションと、持たないブートオプション (stage2=) 両方の使用できますが、inst.プレフィックスを含まない Anaconda カーネルブートパラメータを無視するようになります。
1.14 LLVM 12 llvm サブプロジェクトをバージョン 12 に更新。
1.15 NSS CK_GCM_PARAMS change PKCS #11 v3.0 で PKCS #11 の仕様が変更されたため、NSS は CK_GCM_PARAMS 構造体の定義をソース互換性のない方法で変更する必要があります。NSS 3.52 でこの変更を行いました。この変更は ABI には影響しません。古いバージョンの NSS でコンパイルされた古いプログラムはまだ動作します。NSS を使用して AES GCM を直接呼び出すパッケージのみが影響を受けます。
1.16 OpenLDAP without
Non-threaded Libraries
OpenLDAP はスレッド化されていないバージョンの libldap を使用しません。代わりに、ランタイムライブラリが動作し続けるためのシンボリックリンクが提供され、libldap で構築されたソフトウェアはすべて実質的に libldap_r で構築されます。
1.17 Remove make from BuildRoot この変更により、Kojimock のデフォルトのビルドルートから make が削除されます。
1.18 Remove support for
SELinux runtime disable
SELinux ランタイムのサポートを無効にして、初期化後の読み込みのみの保護で LSM フックを強化できるようにしました。
1.19 Restart services
at end of rpm transaction
各 rpm パッケージで再起動すべき各サービスを再起動するためのスクリプトレットは、ユニットファイル内の宣言と、最後に発生する rpm トランザクショントリガーに置き換えられ、すべてのサービスが再起動されます。
1.20 Ruby 3.0 最新安定版 Ruby 3.0 に更新。
1.21 Rust Crate Packages
For Release Branches
Rust の Crate パッケージは、現在 Fedora Rawhide(Fedora の開発ツリーで、ローリングリリースモデルを採用)でしか利用できないので、Fedora リリースブランチ用に Rust アプリケーションをパッケージ化するのが難しく、通常よりも多くのステップを必要とします。この変更は、Rust のパッケージングを Fedora の通常のパッケージングワークフローと一致させます。
1.22 Unify the GRUB configuration
files location across all
supported architectures
この変更により、GRUB 設定ファイルのレイアウトがサポートされているすべてのアーキテクチャで一貫したものになりました。現在 EFI は特殊なケースで、GRUB 設定ファイルと環境変数ブロックはブートパーティション (ブートパーティションが使用されていない場合は /boot ディレクトリ) の代わりに EFI システムパーティション (ESP) に格納されています。
1.23 Wayland by Default
for KDE Plasma Desktop
SDDM のデフォルトのセッションで、X11 ベースより Wayland ベースの KDE Plasma Desktop セッションを優先するように変更しました。
1.24 Xwayland as a standalone package Xwayland を安定版ブランチではなく、現在のコードから構築されたスタンドアロンパッケージに移動。

2. 自己完結型の変更

2.1 AArch64 KDE Plasma Desktop imageFedora 34 の配布セットに AArch64 KDE Plasma Desktop のスピンイメージを追加。
2.2 uEFI for ARMv7ARMv7 で armhfp で生成されたすべてのイメージに UEFI をデフォルトで使用。
2.3 BIND 9.16 BIND 9 は次期安定版 BIND 9.16 に更新。
2.4 Move deprecated bluetooth
utilities to subpackage
非推奨の bluez bluetooth ユーティリティをサブパッケージに移動。
2.5 Comp Neuro Container Image CompNeuro Lab イメージと同じニューロ・コンピューティング用ソフトウェアを含む Comp Neuro コンテナイメージを提供。
2.6 Compress Kernel Firmware カーネルファームウエアを圧縮して使用するディスクサイズを節約します。
2.7 Deprecate xemacs,
xemacs-packages-base,
xemacs-packages-extra, and neXtaw
xemacs, xemacs-packages-base, xemacs-packages-extra, neXtaw パッケージは非推奨になります。
2.8 Deprecate nscd 名前付きサービスのための nscd キャッシュを廃止。
2.9 Deprecate python-mock python-mock (python3-mock) パッケージは Fedora 34 で非推奨になります。
2.10 Disable Python 2 Dist RPM Generators
and Freeze Python 2 Macros
python2.7dist() と python2dist() の自動生成された Python-rpm-generators の provides/require は自動生成されなくなり、Fedora で動作するパッケージでは使用されなくなります。python(abi) = 2.7 の自動提供/要求は維持されます。
2.11 Enable HarfBuzz in FreeType FreeType で HarfBuzz を使用して、より複雑なテキスト整形を必要とする言語のグリフのヒントを改善します。
2.12 fbrnch Fedora に fbrnch パッケージャーツールを追加します。
2.13 i3 Spin 人気の i3 ウィンドウマネージャを搭載した公式の Fedora Spin をリリースします。
2.14 GitRepos-master-to-main Fedora の git リポジトリが "master" ではなく "main" をデフォルトの git ブランチとして使用するようになります。
2.15 GNOME 40 最新の GNOME リリースである GNOME 40 を採用しました。
2.16 kasumi-unicode kasumi-unicode は、kasumi プロジェクト内の kasumi.spec で新たに生成されます。
2.17Localization measurement
and tooling
エンドユーザーや貢献者のために、Fedora Workstation の翻訳の進捗状況や翻訳者のための便利なファイル(例: 翻訳記録)を含む公開のウェブサイトを提供します。
2.18 LXQt 0.16.0 LXQt を 0.16.0 にアップデート。
2.19 Make selinux-policy up-to-date
with the latest kernel
新しいパーミッション、クラス、および機能を selinux ポリシーに追加し、システムがそれらを認識し、エラーメッセージなしで起動できるようにし、制限されたサービスのための実際のポリシーでそれらを使用できるようにします。
2.20 MariaDB 10.5 MariaDB('mariadb' パッケージ)を 10.4 から 10.5 へ更新。
2.21 Policy for Modules
in Fedora and Fedora ELN
ユーザーとパッケージャーの最適な体験を保証するために、Fedora の Modular コンテンツのためのルールを確立します。現在のところ、これらのルールは Fedora ELN にのみ適用されますが、将来、別の変更提案を通して Fedora と EPEL で再利用できるように作成します。
2.22 Stop Shipping
Individual Nodejs Library Packages
Nodejs パッケージは下記のみになります。
  • インタプリタ、開発用ヘッダ/ライブラリ、プロジェクトレベルのインストールを管理するツール(NPM, yarn など)。
  • ユーザーがシェルで使いたいと思うようなバイナリを提供するパッケージ。
  • コンパイル済み/バイナリの nodejs モジュール
2.23 ntp replacement ntp パッケージが ntpsec に置き換えられます。
2.24 Reduce installation media size
by eliminating the intermediate
EXT4 filesystem in the SquashFS
インストールイメージの構築プロセスを変更し、ネットインストールや DVD ISO イメージに存在する Squash ファイルシステムイメージに EXT4 ファイルシステムイメージを含まないようにします。
2.25 PostgreSQL 13 PostgreSQL (postgresql と libpq コンポーネント) をバージョン 12 からバージョン 13 に更新。
2.26 Python Upstream Architecture Names Fedora の Python エコシステムでは、以前にパッチが適用された Fedora の名前ではなく、(主にファイル名で)CPython のアップストリームアーキテクチャの名前を使用してください。例えば、/usr/lib64/python3.9/lib-dynload/array.cpython-39-powerpc64le-linux-gnu.so の代わりに /usr/lib64/python3.9/lib-dynload/array.cpython-39-ppc64le-linux-gnu.so とします。これにより、Python 自体のパッケージ化は少し厄介になりますが、Fedora の Python をアップストリームに近づけ、ppc64le manylinux wheels との相互運用性の問題を解決しました。この変更は ppc64le と armv7hl にのみ影響します(koji.feedoraproject.org で構築されたアーキテクチャを考慮しています)。ファイル名に常に %{_arch}-linux%{_gnu} が含まれていると仮定しているパッケージに適応させる必要があります。
2.27 Ruby on Rails 6.1 Ruby on Rails 6.1 は Ruby で書かれた有名な Web フレームワークの最新版です。
2.28 Scale ZRAM to Full Memory Size Fedora 33 ではデフォルトで zram を有効にしました。仮想スワップデバイスのサイズは、圧縮スワップページに使用されるメモリ量が典型的なシナリオでは物理メモリの 4 分の 1 に制限されるように設定されていました。このサイズは現在、物理メモリの半分に増加しています(zram-fraction は 1.0 になり、max-zram-size は 8 GiB になります)。これにより、小容量のシステムでも Anaconda インストーラや他のプログラムを正常に起動できるようになりました。
2.29 Stratis 2.3.0 このリリースでは、プールロック解除コマンドが拡張され、pool bind と pool unbind という2つの新しいコマンドが追加されました。
2.30 Xfce-4.16 Xfce 4.16 安定版リリースへアップデート。
2.31 X.org Utility Deaggregation コレクションパッケージ xorg-x11-{apps,font-utils,res-utils,server-utils,utils,xkb-utils} は破棄され、その中のユーティリティは個別にパッケージ化されます。

参考サイト

  1. Fedora Linux 34 is officially here! - Fedora Magazine [2021-04-27]
  2. GNOME 40 Release – The GNOME Foundation [2021-03-24]
  3. Releases/34/ChangeSet - Fedora Project Wiki

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

2021-04-25

ドンキの NANOTE P8 を衝動買い

ドン・キホーテは 4 月 20 日、プライベートブランド「情熱価格」の新製品として、7 インチの UMPC, NANOTE P8 を発表しました。価格は 32,780 円(税込み)で、全国のドン・キホーテ系列店舗が販売するということです。

UMPC とは、超小型ノートパソコンのことです。一時期、GPD Pocket に Linux をインストールして愛用していました [3]。残念ながらバッテリーがヘタってきて、しかも膨らんできたので使わなくなってしまいました。

その後、高性能な UMPC が次々と発売されましたが、10万円を越える値段で、おいそれと買い換えられなかったので、初代 GPD Pocket だけでマイブームは終わってしまいました。😭

今回ドンキから発売された NONOTE 第2弾は、そこそこの性能に手頃な価格、これなら買いたいという商品です。

それでも、急いでドンキに買い求めに繰り出すほどのことはないと思い、ドンキの楽天市場店で取り扱うようになるまで待つつもりでした。

用事で二俣川(横浜市旭区)へ行って、駅前にドン・キホーテ二俣川店があったので、NANOTE P8 が並んでいるかみてみたくなり入ってみました。電化製品が並んでいる辺りで NANOTE P8 が見当たらなかったのでお店の人に尋ねたら、店の奥から出してきてくれました。😍

もともとドンキの楽天市場店に掲載されたら買おうと思っていたので、即断で買ってしまいました。

NANOTE P8 の仕様概要は以下のとおりです。

型番UMPC-02-SR [SILVER]
CPUintel® Pentium N4200 1.1GHz (最大2.4GHz) クアッドコア
GPUintel® HD Graphics 505
液晶ディスプレイ画面サイズ 7 インチ / 画面解像度 1920×1200 IPS
タッチパネル10ポイントマルチタッチ 静電式
メモリ8GB LPDDR4
ストレージ64GB eMMC
WiFi802.11b/g/n
Bluetooth®ver.4.0
カメラ前面0.3MP
サイズ / 重さ(約)181×113.6×19.6(mm) / 約 560g
バッテリー容量7.6V / 2050mAh 連続使用時間 : 約7時間
インターフェイスType-C 端子 (充電用) / USB3.0端子 / microHDMI 端子 / 3.5㎜イヤホン端子 / スピーカー (x2) / マイク / microSD カードスロット(256GBまで対応)
OSWindows10 Home
OfficeOffice Mobile 内蔵
付属品ACアダプタ(約1.6mヘッド含む) / microHDMI-HDMI変換コネクタ(約165mm) / 取扱説明書 / 保証書
生産国中国

最初の起動

開梱すると、本体、ACアダプタ(約1.6mヘッド含む) / microHDMI-HDMI変換コネクタ(約165mm) / 取扱説明書 / 保証書の他に、

7インチUMPC『ナノート P8』(品番:UMPC-02-SR)ご案内

と書かれた A4 の紙二枚が入っていました。

これによると、

本製品につきましては初期設定後、Windows 画面に「Windows のライセンス認証」(下記イメージをご参照)とご案内が表示される場合がございます。

云々、とあります。

本体裏面に Windows 10 のプロダクトキーのシールが貼られているので、まあなんとかなるだろうとは考えましたが、プレインストールの Winodws を最初に起動する際に不安を覚えたのは初めてです。😅

最初は、何回も Windows の更新と再起動を繰り替えさなかればならないので、少しでも通信速度を稼ぐため、右上のような LAN アダプタを使って、USB 経由で有線ネットワークに接続できるようにしてから起動しました。

有線のネットワークに繋げていたためかどうかは定かではありませんが、Winodws のライセンス認証を求められることなく最初の起動を済ませ、拷問のような長い Windows Update を無事済ませました。

UMPC の使い道

最近のスマートフォンは実に高機能になりました。主流の ARM プロセッサの性能はフツーのパソコンのプロセッサの性能を越えてしまっています。ですので、いまどきのスマートフォンが一台あれば、モバイルライフを満喫できるはずです。ですが、なぜか満たされません。

思うに、自分がかつてのポケコンブームを経験した古い世代だからなのでしょう。UMPC のようなちっちゃい PC を見るととてもワクワクします。高性能であればなおさらですが、あいにく 10 万円を越えるような価格だと、そうそう手が出ません。それに、そのぐらいの価格帯であれば、もっと実用的な PC を買ってしまいます。

そういう意味で、ドンキの NANOTE P8 は、まさに自分にとって価格と魅力が釣り合っている商品と言えます。ぶっちゃけ、魅力はあるが実用性に乏しい PC であることをよく判って買ったつもりです。さて、何に使おうかな。🤔

Linux のインストールは、タッチパネル対応に確信が持ててからトライすることにして、しばらく Windows で遊びます。いいおもちゃになりそうです。

内臓バッテリーは消耗品

赤枠の「警告 注意」と書かれた厚紙が梱包された中にありました(右図)。

そうですか、内臓バッテリーに負担をかけないためには、充電が 100% になったらケーブルを抜くんですね、気をつけないと…。ケーブルをつなげていると、充電器からバッテリーに常に 12V が掛かっているということです。それにしても、バッテリー側で過充電を保護するようなしくみになっていないのでしょうか?いままで気にしたことがなかったので不思議です。

ところで、バッテリーが消耗品であることはもちろん判っているつもりですが、内臓バッテリーがヘタったら、製造元に交換をしてもらう、ということをドンキブランドで期待したことがありませんでした。😅

どうやら製造元である株式会社アール・ダブリュー・シーで、有償でバッテリー交換をしてくれるようです。

ドンキブランドの PC を何台も買っていますが、今までは(日本での)製造元が恵安株式会社になっているものばかりでした。記憶が定かではないのですが、こういう注意書きはいままでなかったように思います。

2019 年末、長野駅前のドンキで売れ残っていた MUGA ストイック PC2(恵安)を買って [4]、Linux のインストールテストに使っていましたが、バッテリーが膨らんできたので使うのを止めてしまいました。

NANOTE P8 でも、もしバッテリーが膨らんできたら、右の株式会社アール・ダブリュー・シー、カスタマーサポートに相談してみます。有償でも交換してもらえるのであれば、なんとなく安心します。

参考になったレビュー記事

インターネット上で「NANOTE P8」をキーワードで検索しただけでは、それが商品の紹介記事なのか、それとも実機を使って確認したレビュー記事なのかの区別が付きにくいですよね。参考になった NANOTE P8 のレビュー記事を下記に紹介します。

Fedora 34 Workstation Live (beta) を試す

Linux を実際にインストールしなくとも、USB メモリからライブ起動してどんな感じなのかを確認することができます。試しに Fedora 34 Workstation Live (beta) を起動してみました。Linux の Live イメージを書き込んだ USB メモリを挿しこんで起動したら、BIOS 側でなにもしなくとも Linux 側が起動しました。😮

ライブ起動した Fedora 34 Worksation (beta) のデスクトップ画面

タッチスクリーンのデバイスは予想通り認識されていません。カメラのデバイスも同様に認識されていませんでしたが、WiFi と Bluetooth は大丈夫そうでした。

参考サイト

  1. Nanote P8|家電|商品紹介|ドン・キホーテのプライベートブランド(PB)「情熱価格」|驚安の殿堂 ドン・キホーテ
  2. 【楽天市場】ドンキ限定商品 > 美容・ヘアケア家電/一般家電:ドン・キホーテ 楽天市場店
  3. bitWalk's: GPD Pocketを買ってしまいました [2018-02-17]
  4. bitWalk's: 衝動買いの MUGA ストイック PC2 [2019-12-06]

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

Pingouin で Q-Q プロット

Pingouin /pɛ̃.ɡwɛ̃/(フランス語でペンギンの意味)は、Python 3 で記述されたオープンソースの統計用パッケージで、主に Pandas と NumPy をベースにしています。分散分析、検定、相関、線形/ロジスティック回帰、ベイズ因子、多変量解析などなど、数多くの API が用意されています。

今回は、Q-Q プロットを作成するためにこのパッケージを利用します。

信頼区間付きの Q-Q プロット

Q-Q プロットを作成するだけならば、SciPy の probplot [1] で十分です。しかし、諸事情から信頼区間を表示されている Q-Q プロットを作成したかったので、対応しているパッケージを探したところ、Pingouin [2] を見つけたので、早速使ってみました。

下記の CSV ファイルのデータを読み込んでプロットしました。

データファイル data_norm.csv

以下に、PySide2 のサンプルを示しました(Qt6/PySide6 に Matplotlib のオブジェクトを埋め込むサポートがまだ利用できませんでした)。

qt_matplotlib_qqplot.py
Q-Q プロットの作成例

参考サイト

  1. scipy.stats.probplot — SciPy v1.6.2 Reference Guide
  2. Installation — pingouin 0.3.11 documentation
  3. Decide how to support qt6/gtk4 · Issue #19226 · matplotlib/matplotlib

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

2021-04-24

正規性の検定 (SciPy) その2

SciPy は Python のための科学的ツールのオープンソース・ライブラリとして開発されています。SciPyは、NumPy をベースにしていて、統計、最適化、積分、線形代数、フーリエ変換、信号・イメージ処理、遺伝的アルゴリズム、ODE (常微分方程式) ソルバ、特殊関数、その他のモジュールを提供しています。

Wikipedia より引用、編集

本ブログの過去記事で、SciPy を利用して、データ集合の正規性を Shapiro-WilkAnderson-Darling の方法で検定しました [1]。やり方は判りましたが、Shapiro-Wilk 検定では p値が得られるのに対して、Anderson-Darling 検定では有意水準毎に判定するやり方で p値は算出されません。一方、R で同じ検定をしてみると、どちらの検定方法でも p値が得られます [2]

Python/SciPy の Anderson-Darling 検定でも p値を算出できれば、運用上、Shapiro-Wilk 検定の出力と揃えられて便利です。そこでインターネット上で調べてみたところ、p値の算出方法が判りましたので、試してみました。

Anderson-Darling 検定で p値を計算

Anderson-Darling 検定で p値を計算する方法を調べてみると、下記の文献で紹介されている方法が広く使われているようです。

R.B. D'Augostino and M.A. Stephens, Eds., 1986, Goodness-of-Fit Techniques, Marcel Dekker

参考サイト [3] に、英文ですが、読みやすくまとめられてあります。ここで説明されている内容を参考にして、p値を計算しました。

今回は、R で検証する際に同じデータを扱えるように、下記の CSV ファイルのデータを読み込んで検定しました。

データファイル data_norm.csv

Python のサンプルは下記のとおりです。上記データを読み込んで、Shapiro-Wilk と Anderson-Darling 検定をします。

normality_test_2.py

以下に実行例を示しました。

[16.90967902 11.31394259 23.99799686 23.22058017 19.22506252 14.39123608
 23.66679924 18.0984158  15.13635741 14.06169534 25.50485539 21.30470429
 ...
 ...
 24.26806053 10.95348313 19.03384963 25.13764684 16.56651357 18.62142404
 35.02739838 11.8489582  17.36250313 26.87388481 21.2282162  23.02356501]

> Shapiro-Wilk test
W = 0.98509, p-value = 0.1058

> Anderson-Darling test
A = 0.36927, p-value = 0.4229

R で検証

同じ CSV ファイルを読み込んで、検定の結果が同じになることを確認しました。

normality_test_2.R

以下に実行例を示しました。

> library(nortest)
> 
> # sample dataset
> name.file <- "data_norm.csv"
> data <- read.csv(name.file)$x
> print(data)
  [1] 16.909679 11.313943 23.997997 23.220580 19.225063
  [6] 14.391236 23.666799 18.098416 15.136357 14.061695
 [11] 25.504855 21.304704 24.104321 18.417510 24.777343
...
...
[141] 19.033850 25.137647 16.566514 18.621424 35.027398
[146] 11.848958 17.362503 26.873885 21.228216 23.023565
> 
> # Shapiro-Wilk test
> result.shapiro <- shapiro.test(data)
> print(result.shapiro)

	Shapiro-Wilk normality test

data:  data
W = 0.98509, p-value = 0.1058

> 
> # Anderson-Darling test
> result.anderson <- ad.test(data)
> print(result.anderson)

	Anderson-Darling normality test

data:  data
A = 0.36927, p-value = 0.4229

> 

次こそは GUI を利用して、Q-Q プロットヒストグラムと一緒にしたサンプルを作成したいと考えています。

参考サイト

  1. bitWalk's: 正規性の検定 (SciPy) [2021-04-21]
  2. bitWalk's: 正規性の検定 (R) [2021-04-22]
  3. Anderson-Darling Test for Normality | BPI Consulting [June 2011]

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

2021-04-23

ドンキの Nanote P8

ドン・キホーテは 4 月 20 日、プライベートブランド「情熱価格」の新製品として、7 インチの UMPC, NANOTE P8 を発表しました。価格は 32,780 円(税込み)で、全国のドン・キホーテ系列店舗が販売するということです。全然アンテナを張っていなくて、偶然このニュースを知りました。

税込価格が義務化された今、税抜き 19,800 円の戦略使えなくなり、性能引き上げの方を優先したのでしょうか。それでも 3 万円ちょっとで 8GB RAM / 64GB eMMC のストレージは魅力です。なお、CPU は Intel® Pentium N4200 です。

ドンキの楽天市場店ではまだ買えないようですが、買えるようになればすぐ注文してしまいそうです。

しばらくは、情報収集に努めます。

参考サイト

  1. Nanote P8|家電|商品紹介|ドン・キホーテのプライベートブランド(PB)「情熱価格」|驚安の殿堂 ドン・キホーテ
  2. 【楽天市場】ドンキ限定商品 > 美容・ヘアケア家電/一般家電:ドン・キホーテ 楽天市場店

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

Ubuntu 21.04 (Hirsute Hippo) リリース

Ubuntu (/ˈʊbʊntuː/) は、Canonical 社から支援を受けて開発されている Debian をベースにした Linux ディストリビューションです。Ubuntu は半年ごと(通常 4 月と 10 月)にリリースされます。リリースの番号は、西暦の下二桁とリリース月を合わせて 21.04 のように表示されます。Ubuntu は Desktop, Server および Core(IoT 向け)の 3 つのエディションをリリースしています。

リリースの種類には通常版と、長期サポート版(LTS、Long Term Support)があります。通常版のサポート期間はリリースから 9ヶ月です。長期サポート版は 2 年毎(8.04 LTS から、西暦偶数年の 4 月)にリリースされ、サポート期間は公開から 5 年です。さらに ESM (Extended Security Maintenance) プログラムを利用すると、最長10年のサポートが受けられます。

Wikipedia より引用・翻訳、編集

Ubuntu 21.04 Hirsute Hippo が予定通り 4 月 22 日(現地時間)にリリースされました。Ubuntu 21.04 は通常版で、サポート期間は 2022 年 1 月までの 9ヶ月間です。

Ubuntu 21.04 のデスクトップ画面 (GNOME 3.38.4)

下記のサイトの情報を元に、Ubuntu 21.04 に関する情報をまとめました。

Ubuntu 21.04 の入手

下記サイトから、Ubuntu および公式フレーバーのイメージファイルを入手できます。

国内ミラーサイトをいくつか紹介します。

21.04 の新機能

更新されたパッケージや新機能など主な内容をまとめました。

ホームディレクトリのパーミッション変更

リリースノートには明記されていませんでしたが、Ubuntu 21.04 を新規にインストールすると、ホームディレクトリのパーミッションは、従来の 755 ではなく 750 になります。

/home のユーザーアカウントディレクトリのパーミッション

参考サイト

  1. Get Ubuntu | Download | Ubuntu
  2. Nautilus/Gnome Desktop: Drag n drop file in Ubuntu 20.10 (#1698) · Issues · GNOME / Files · GitLab [2020-12-11]
  3. PulseAudioに取って代わることを目的としたマルチメディアフレームワークであるPipeWireがバージョン0.3.0に到達| Ubunlog [???]
  4. 2021年4月23日号 Ubuntu 21.04 “Hirsute Hippo”のリリース,WSLgのプレビュー:Ubuntu Weekly Topics|gihyo.jp … 技術評論社 [2021-04-23]

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村