餡子付゛録゛

ソフトウェア開発ツールの便利な使い方を紹介。

2025-01-01から1年間の記事一覧

固定効果モデル×一般化最小二乗法

パネルデータで固定効果モデルを推定をするときは、クラスター頑強標準誤差を求めるのがすっかり一般的になっているのですが、色々と困難を抱えた規範です。まず、クラスター頑強標準誤差は様々な手法が提案されていて、どれを使えば良いのかわかりません*1…

Ubuntu Linux (or Mint)のVS CodeでのGo言語のデバッグの設定

統合開発環境Visual Studio Code(以下VSC)でのGo Team at GoogleによるGo拡張の利用のための設定のメモを残しておきます。5年間ぐらい前に人気のGo用の拡張がMicrosoftのものからGo Team at Googleのものに変わったためか、検索される説明の多くが十分でな…

ブートストラッピングによる信頼区間と予測区間の計算

bootパッケージを軽く触ってみたので、コードを残してみます。 ポアソン分布 パラメーター推定 一標本ノンパラメトリック検定 二標本ノンパラメトリック検定 線形回帰 信頼区間 Pairs Bootstrapping Wild Bootstrapping 予測区間 ポアソン分布 パラメーター…

ファイル喪失で半泣きにならないためのrsyncの練習

ネットワーク越しでもsshを通して更新ファイルだけ転送してくれるのでファイル単位のミラーリングが容易にとれるrsyncは何かと便利な一方、山のようにオプションがある上にオペレーションミスで即死するときがあるツールです。同一ホスト内で、挙動を確認し…

RによるMP3のID3タグの文字コード変換

最近の若者はストリーミング世代なのでMP3ファイルなど持っておらず、青年はAACで配信サイトからダウンロードしているのでID3タグの編集などする必要はないので、MP3ファイルをしこたま溜め込んでいるのは中年以降の時代ですが、高齢者が昔、Windows環境で作…

PodmanとRで無料のテキスト読み上げ・歌声合成ソフトウェアVOICEVOXを動かそう

LinuxでVOICEVOXを動かすときは、Docker(もしくは非コンテナでの利用)とPythonの組み合わせが標準的になると思いますが、PodmanとRで動かしてみます。 Podmanのインストール VOICEVOXのインストール VOICEVOXの起動と終了 起動 停止と終了と削除 VOICEVOX…

文字コードの一括変換

バージョン管理が一般化した今の時代にやると問題が多発するのですが、まれに文字コードがShiftJS/CP932で改行コードがCRLFの複数のテキストファイルを一括置換したいときがあります。nkfとfindを組み合わせて片付けましょう。sjis2utf8.sh #!/bin/sh tmp=ch…

覚えておくと安心が得られるGitの操作の取り消しや履歴改編

主流の分散バージョン管理システムのGitはチュートリアル本が公開されていて、それを読みながら使い始める事は難しくありませんが、人は過ちを犯すものなので、操作の取り消しや履歴改編についてメモを用意して置いたほうが、利用において心理的な障壁は低く…

ブラウザー自動化ツールSeleniumをJavaから使ってみる

テスト自動化の話でSeleniumが出てきたので、Javaでのコンパイルと実行方法を紹介します。Seleniumはフレームワークと言うかブラウザー制御ライブラリで、必要なJARファイルをダウンロードしてきてclassspathを通して、あとはソースコードから呼び出してコン…

Mint LinuxにdebファイルでVS Codeをインストールしたら出てきた公開鍵がありません警告の消し方

Mint LinuxにVisual Studio Code公式からダウンロードしたdebファイルをインストールしたら、VS Code自体は動くのですが、以下のように警告とエラーが出ました。 W: GPG エラー: https://packages.microsoft.com/repos/code stable InRelease: 公開鍵を利用…

Ubuntu 24.04でOneDriveを使う

「Ubuntu 22.04 でOneDriveを使う」とほぼ同様の手順で、Ubuntu LinuxにOneDriveのインスールをしたので、記事にリンクを貼るためにメモをしておきます。Ubuntuの標準パッケージにOneDriveクライアントもあるのですが、どうもバージョンが古いためにサービス…

Graphvizで因果ダイアグラム(DAG)をちゃちゃっと描く

計量分析で使ったモデルの説明用に因果ダイアグラム(DAG)をGraphvizで描いてみましょう。LibreOfficeのDrawを使うほうが手っ取り早い気もしますが、TeXやMarkdown記法を使っていて、DVCで管理している場合は差分が分かりやすいこちらの方が良いかも知れま…

アンケート調査結果によくある、まったくない、たまにある、よくある…と言った、ざっくり頻度の比率をあらわす棒グラフからの順序ロジット回帰

題名そのままなんですが、アンケート調査結果によくあるざっくり頻度(e.g. まったくない/たまにある/よくある/常にある)の比率をあらわす棒グラフからの順序ロジット回帰を行いたいと思います。「多様な選択を可能にする学びに関する調査報告書」の図表21…

Rのgraphics::pairsを、散布図と同時にヒストグラムと相関係数が出て、目盛りが左下側のパネルにつくように書き換える

論文などではggplot2のggpairsを使うことの方が多い昨今ですが、Rには標準で複数の系列のすべての組み合わせの散布図を描いてくれるpairsがあります。便利そうではあるのですが、無理もあれば無駄も多く、そのままでやや扱いづらいプロットです。無理と言う…

固有値問題版フィッシャーの線形判別分析

機械学習の分類アルゴリズムとして先駆的な手法であり*1、例として用いたirisデータセットを世に広めたフィッシャー御大の線形判別分析(LDA)の説明用のコード*2を探したのですが、教科書の説明と対応のよい固有値の計算をしていたのが見つからなかったので…

Rで加重最小二乗法(と言うかlmのweights)

学部向けのレクチャーノートを見ていると言及されていることが多い一方、使いどころがあるようでないのが加重最小二乗法(WLS)です。連立方程式モデルやパネルデータ分析のランダム効果モデルで拡張的な手法は使うわけですが、WLS自体は使い道が無いと言う…

Rのgraphics::heatmapのクラスター分析(樹形図)には罠がある

Rのgraphics::heatmapには予想し難い挙動があります。ヘルプや解説ページでも言及されていないようなので指摘しておきたいと思います。観測数を集計した、行で標本、列で属性を表す行列を用意します。 M <- matrix(c(1,6,4,2,5,8,1,6,4), 3) rownames(M) <- …

絵師が喜ぶかも知れないgraphics::xspline

Rではsmooth.spline,splinefun,pracma::pchipなどでスプライン補間を行うことができるのですが、予測値自体にさほど興味は無く、標準graphicsで図に線が描ければ十分なときは、低水準描画関数xsplineを使うことができます。 線を描く x <- -2:2 y <- c(2.5…

Rの等高線プロットで花びらを描く

極座標とポリゴンで花びらを描く方法は紹介したのですが、数式が不等式であったため、数式のプロットとしてはよくない部分がありました。この手の図を等高線をつかってプロットしている例を見かけます。等高線のプロットを使って、作画しなおしてみましょう…

Rで中途半端に星型プロットを描く

方程式で絵を描いている人がいたので、式を拝借して、中途半端にプロットするコードを描いて見ました。よく考えると式とプロットが対応していませんが、気にしないでください。 expr <- expression(x^6 + y^6 + 3*x^4*y^2 + 3*x^2*y^4 - 5*x^4*y + 10*x^2*y^…

Apache OzoneでKerberos認証を使う方法

前回の「Apache OzoneをSingle Node ClusterのAWS S3互換の分散ストレージとして扱う方法」の設定では認証なく使えるため、運用では問題がありました。Apache OzoneではKerberos認証を扱うことができ、さらにS3互換オブジェクトストレージではawsAccessKeyと…

Apache OzoneをSingle Node ClusterのAWS S3互換の分散ストレージとして扱う方法

Hadoop用の新しい分散ファイル・システムだったApache Ozoneは、Hadoopと独立して運用ができ、かつAWS S3互換オブジェクトストレージとしても使えます。また、ペタバイト単位のクラスターを構成している人もいて頑強のようです。Dockerを使うと、docker imag…

Cの中でRを動かす

検索するとCからRを呼ぶコード例は色々とあるのですが、本家Writing R Extensionsを含めて、CでRの対話実行を制御するコードが多いので、もっと単純にRの関数を呼ぶコードを書いてみました。 Cのコード コンパイルと実行 Cのコード 初期化の後は.Callや.Exte…

Javaの中でRを動かす

RはCの関数を呼ぶことが出来るだけではなく、Cの中に組み込むこともできます(Embedding R)。JavaもJNIで、C++のオブジェクトを呼ぶことも、Cのオブジェクトとして呼ばれることもできます。よって、RとJavaは相互に利用できます。実際に使おうとするとC/C++…

Rからメッセージキュー(RabbitMQ)を扱う

応答速度が重要なオンライントランザクションから、時間がかかるバッチ処理を呼び出す方法として、メッセージキューを使う方法が気づくと一般化していました。また、メッセージキューを実現するオープンソースのミドルウェア製品は、RabbitMQが人気なようで…

名前付きパイプによるシェルスクリプトの待機と発進

ウェブアプリケーションなどのオンライントランザクションの処理において、時間のかかるタスクを並行処理でオンライントランザクションから分離したいときがあります。方法はfork, thread, MQなど色々とあるのですが、手軽に扱いやすいのは名前付きパイプ(F…

htmlのtableを入力フォームのように使うJavaScript

表計算のような入力画面を作ってくれと言われたことはありませんか? — 一覧と編集の画面を分ける構造のフレームワークが多いのですが、一覧画面で編集もできたほうが利用者は快適です。技術的にはほいほい書きたくない仕様なのですが*1、やっている人もたく…

Ubuntu Linux/Apache/PHP 8.3/PostgreSQL/Joomlaのインストール

PHPのCMSでJoomlaが人気だと聞いてインストールしてみたので、メモ書きを残しておきたいと思います。Joomlaの利用方法などは良くわかっていませんが、操作感は良さそうです。PHP 8.3は、PHP 5.3よりも2倍速くなったphp 7.xよりさらに2割速くなったそうですし…

AppArmorの説明用の実行ファイルと設定

バッファーオーバーラン攻撃でDNSのbindがcore*1を吐いて落ちていたのだが、権限昇格攻撃でサーバー全体が乗っ取られた後であった…と言う前世紀の思い出を聞いた人は多いと思いますが、最近のLinuxには脆弱なサーバーが攻撃されても被害を限定する仕組みLSM…

Rによる地理空間データのプロットと地域空間計量モデルの推定

ここ20年間ぐらいで地理情報システム(GIS)が一般化し、地理空間データの統計処理も広範囲に行われるようになっており、Rでも地図の表示から(代表的な)地域空間計量モデル(i.e. SLM,SEM,GWR*1))の推定まで簡単に行えるようになりました。10年ぐらい…