問題タブ [apache-commons-math]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Commons-Math 3.3 で EmpiricalDistributionImpl は壊れていますか?
私はEmpiricalDistributionImpl
かなり長い間 Apache Commons-Math ライブラリから使用しており、2.x から 3.3 にアップグレードすると、いくつかの問題が発生します。
まず、このバージョンでNaN
は s が問題を引き起こしているようですがload()
、以前は問題がなかったと確信しています。次に、実際の問題は、ロードしたすべての値が厳密に正であるgetNextValue()
にもかかわらず、EDI クラスから負の値を取得していることです。具体的には、私の値は (0, +Inf) 範囲の正の比率であり、それらをプロットするとかなりトップヘビーです (つまり、90-95% の値が上位 3 つのビンに入るなど)。
FWIW、次の 2 つのバグ レポートを見つけましたが、それらが完全に関連しているかどうかはわかりません。
リリース日に ETA がないことを除いて、両方とも修正され、3.4 リリースが予定されているようです。
提案?
java - Apache Math ライブラリ バージョン 3.3 と 2.2 のパフォーマンス
物理モデリングを行い、Apache Math ライブラリ バージョン 2.2 を使用するコードがいくつかあります。数学ライブラリのバージョン 3.3 がバージョン 2.2 に取って代わり、約 3 年が経過したため、ライブラリをアップグレードしたいと考えていました。
ただし、テストでは、新しいライブラリを使用すると、モデルの実行に 20% 長い時間がかかることがわかりました。モデルの実行時間の多くは Math.exp() 関数の実行に費やされます。可能な場合は FastMath.exp() の方がはるかに高速であるため、これを使用します。ただし、Apache math3 では FastMath.exp() も約 20% 遅くなるようです。
Apache math3 には最終的に Erf.erfInv() が含まれているため、これは本当に残念です。これは、エラー関数用に別のライブラリを使用する必要がないことを意味します。ただし、20% の速度を失うわけにはいきません。math3 でのチェックされていない例外の使用も素晴らしいですが、v2 からチェックされた例外をキャッチし、チェックされていないものとして再スローすることで、それをシミュレートできます。
- これらの場所で math3 が遅い理由を知っている人はいますか?
- パフォーマンスへの影響にもかかわらず、アップグレードする必要がある差し迫った理由がある人はいますか?
そうでない場合は、math3 にアップグレードしません :-/
java - Java: Apache Regression で絶対に間違った回帰パラメータが返される
Apache の Commons.Math3 ライブラリと OLSMultipleLinearRegression を使用して、回帰パラメーターを取得したかったのです。回帰は 2 乗の多項式である必要があります。テスト データでは問題なく動作しましたが、この実験データを使用すると、方法は完全に間違った回帰を示します。
この入力データについて、式 y=117.54x²-504.83x+389.088 を取得します。これにより、x=59 の y 値は 379.760.85 になります。入力値をはるかに超えています。そのため、クラスを完全に間違って処理したか、数学的な落とし穴に陥りました。
誰かが私が間違っていた、または誤解していたことを説明していただければ、この問題は私を狂わせます。
java - RealMatrix 再代入なしの乗算
私のJavaソースでは、次の行を頻繁に実行する必要があります:
EigenMat は、N ~ 40 の N x N 行列です。vecX/vecY は、N x 1 ベクトルです (RealMatrix のインターン)
VisualFM の「Sampler」を使用して、コード内のいくつかのホットスポットを見つけ、
非常に高いランタイムを持っています。私は Java の専門家ではありませんが、すべての乗算で新しいベクトルが作成されると思います。古いものを再割り当てできますか?
多分私はそれをスピードアップするためにJBLASに切り替える必要がありますか?
マチロ
編集:シングルコアのみ
java - common-math3-3.3.jar と maven を使用せずに Apache common math から LUDecompsitionTest をコンパイルする
これは私にとってはうまくいきますが、メインにいくつかの変更を加える必要があるためsrc/main/java/org/commons/math3/linear/LUDecomposition.java
、テストを失敗させたいと考えています。したがって、すべてのメインファイルもコンパイルする必要があるため、common-math3-3.3.jar
すべてのファイルを削除して追加しましたsrc/main/java
が、機能しません。
java - QR法を使用して固有値を計算するには?
Apache Commons Math を使用して行列の固有値を取得するにはどうすればよいですか? EigenDecomposition と QRDecomposition の 2 つのクラスがあることは知っていますが、それらを組み合わせて固有値を取得する方法を教えてください。
java - Apache DBSCANClusterer が常に 0 クラスターを返す
apache.commons.math3.ml.clustering から DBSCANClusterer を使用しようとしています。関数 cluster はクラスターのリストを返しますが、私にとってリストのサイズは常に 0 です。何が間違っていますか? 以下は私のテストコードです:
ファイル clust.txt には、X 値と Y 値が tabulator で区切られた 2 つの列が含まれています。いくつかの異なるデータを試してみましたが、常に 0 になります。
java - Apache Commons Math ' SummaryStatistics をタイプに解決できません '
静的データ処理クラスに Apache Commons Math 3.3 を使用しようとしており、Eclipse Mars を使用して作成しています。bin ファイルと src ファイルを正常にダウンロードし、プロジェクトのビルド パスに追加しました。JRE システム ライブラリでそれらを確認できます。また、「Javadoc Location」タブに javadoc URL を追加しました。ライブラリからクラスをインポートすることに成功しました。
しかし、AC-M からオブジェクトをインスタンス化しようとすると、Eclipse はそのオブジェクトをタイプとして解決できません。例えば、
import ステートメントは正常に機能します。ただし、すぐに Eclipse はコードの 4 行目にエラーを読み取ります。
SummaryStatistics をタイプに解決できません
これは、 などの他のすべてのオブジェクトで発生しますPearsonsCorrelation
(すべてのオブジェクトSimpleRegression
のライブラリのそれぞれの部分を正常にインポートします)。ビルドパスを無駄にクリーンアップしました。この問題の解決にご協力いただければ幸いです。
編集: 対象のパッケージを選択し、[プロパティ] > [JRE システム ライブラリ [jre8] 編集...>インストール済みの JRE...>編集...>外部 JAR の追加...] をクリックして、jar ファイルを追加し、commons-math3 を追加します。 -3.3.jar をライブラリに追加します。