« 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース2023年11月19日 IEEE Microwave MagazineでSDGs(高効率PAにAI、列車の速度計測),Microwave Journalでbeyond 6Gのテラビット通信、Akousticの18GHz BAW, Qualcomm Snapdragon 7 Gen3,量子センサと量子コンピュータ、など | トップページ | Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(9)多変量解析(重回帰分析)を計算。しかしC#とVBの配列の宣言のサイズでハマってエラーが出まくった。C#でdouble a[5]なら0,1,2,3,4までの5個の配列だが、BasicでDim a(5) as Doubleなら0,1,2,3,4,5の6個! »

2023年11月20日 (月)

Visual C# (C_sharp)の数値計算ライブラリ MathNET Numericsを使う(11) 多変量解析(重回帰分析)は1行で計算できるし、Normal Equation,QR,SVDなど複数の方法が使える。 

久しぶりのC#のMath.NET numericsシリーズ。今回は重回帰分析。

https://numerics.mathdotnet.com/api/MathNet.Numerics.LinearRegression/MultipleRegression.htm

Direct Method, Normal Equation, QR, Svdといろんな方法で計算できる。とりあえずQRかな。

例題は

Python in Excel(PY関数を使うとExcelのセル内にPythonがかける)を使う(その7) データをcsvでExcelで読んで重回帰分析をstatsmodelsのOLSで行う。が、summaryがExcelのセル内でうまく表示できなくてハマる…summary().as_text()として、セルの書式を折り返して全体を表示を選ぶ。 

と同じものを使う。早速ですが、コードはこちら。計算は一行。あとはCSVファイルを読んだりするのに手間がかかる。

Multireg_c_sharp1

結果はこちら。Pythonで計算したものと一致している。

Multireg_c_sharp2

 

過去のもの:

Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(1) 複素行列を定義して一次方程式や逆行列、行列式などを計算する。

Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(2) 補間を行う(Interpolate) リニア、3次スプライン、有理関数などいろいろ使える。

Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(3) 高速フーリエ変換(FFT)を実行する。FourierOptionsにMatlabとNumerical Recipesがあるのが意外。

Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(4) 多項式フィッティングをして、Array.ConvertAllで一括でフィッティングデータを得る。

Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(5) 常微分方程式の数値解法、4段4次のルンゲクッタ法がRungeKutta.FourthOrderの一文でできる。ローレンツ方程式を例としてやってみる

Visual C# (C_sharp)の数値計算ライブラリ MathNET Numericsを使う(6) OptimizationのNelder-Mead SimplexでRosenbrock関数(5パラメータ)を最小になる点を探す。

Visual C# (C_sharp)の数値計算ライブラリ MathNET Numericsを使う(7) OptimizationのLevenberg-Marquardt法(LevenbergMarquardtMinimizer)で非線形最小二乗法(回帰)でNISTの例題Rat43を計算する。

Visual C# (C_sharp)の数値計算ライブラリ MathNET Numericsを使う(8) 特異値分解(SVD)、主成分分析(PCA)を計算してみる(ちょうど奥村先生が記事を出されてたので)

Visual C# (C_sharp)の数値計算ライブラリ MathNET Numericsを使う(9) いろんな確率分布の乱数(メルセンヌツイスタがベース)をヒストグラムにして描く。とりあえず正規分布とガンマ分布で。

Visual C# (C_sharp)の数値計算ライブラリ MathNET Numericsを使う(10) 数値積分としてガウス・クロンロッド積分公式と二重指数関数型積分公式を試す。 

« 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース2023年11月19日 IEEE Microwave MagazineでSDGs(高効率PAにAI、列車の速度計測),Microwave Journalでbeyond 6Gのテラビット通信、Akousticの18GHz BAW, Qualcomm Snapdragon 7 Gen3,量子センサと量子コンピュータ、など | トップページ | Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(9)多変量解析(重回帰分析)を計算。しかしC#とVBの配列の宣言のサイズでハマってエラーが出まくった。C#でdouble a[5]なら0,1,2,3,4までの5個の配列だが、BasicでDim a(5) as Doubleなら0,1,2,3,4,5の6個! »

パソコン・インターネット」カテゴリの記事

学問・資格」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース2023年11月19日 IEEE Microwave MagazineでSDGs(高効率PAにAI、列車の速度計測),Microwave Journalでbeyond 6Gのテラビット通信、Akousticの18GHz BAW, Qualcomm Snapdragon 7 Gen3,量子センサと量子コンピュータ、など | トップページ | Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(9)多変量解析(重回帰分析)を計算。しかしC#とVBの配列の宣言のサイズでハマってエラーが出まくった。C#でdouble a[5]なら0,1,2,3,4までの5個の配列だが、BasicでDim a(5) as Doubleなら0,1,2,3,4,5の6個! »

最近の記事

最近のコメント

2024年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
フォト
無料ブログはココログ