問題タブ [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.

0 投票する
1 に答える
32 参照

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 リリースが予定されているようです。

提案?

0 投票する
0 に答える
915 参照

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 にアップグレードしません :-/

0 投票する
0 に答える
139 参照

java - Java: Apache Regression で絶対に間違った回帰パラメータが返される

Apache の Commons.Math3 ライブラリと OLSMultipleLinearRegression を使用して、回帰パラメーターを取得したかったのです。回帰は 2 乗の多項式である必要があります。テスト データでは問題なく動作しましたが、この実験データを使用すると、方法は完全に間違った回帰を示します。

この入力データについて、式 y=117.54x²-504.83x+389.088 を取得します。これにより、x=59 の y 値は 379.760.85 になります。入力値をはるかに超えています。そのため、クラスを完全に間違って処理したか、数学的な落とし穴に陥りました。

誰かが私が間違っていた、または誤解していたことを説明していただければ、この問題は私を狂わせます。

0 投票する
1 に答える
240 参照

java - RealMatrix 再代入なしの乗算

私のJavaソースでは、次の行を頻繁に実行する必要があります:

EigenMat は、N ~ 40 の N x N 行列です。vecX/vecY は、N x 1 ベクトルです (RealMatrix のインターン)

VisualFM の「Sampler」を使用して、コード内のいくつかのホットスポットを見つけ、

非常に高いランタイムを持っています。私は Java の専門家ではありませんが、すべての乗算で新しいベクトルが作成されると思います。古いものを再割り当てできますか?

多分私はそれをスピードアップするためにJBLASに切り替える必要がありますか?

マチロ

編集:シングルコアのみ

ホットスポット2 ホットスポット1

0 投票する
1 に答える
62 参照

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が、機能しません。

0 投票する
2 に答える
712 参照

java - QR法を使用して固有値を計算するには?

Apache Commons Math を使用して行列の固有値を取得するにはどうすればよいですか? EigenDecomposition と QRDecomposition の 2 つのクラスがあることは知っていますが、それらを組み合わせて固有値を取得する方法を教えてください。

0 投票する
1 に答える
1028 参照

java - Apache DBSCANClusterer が常に 0 クラスターを返す

apache.commons.math3.ml.clustering から DBSCANClusterer を使用しようとしています。関数 cluster はクラスターのリストを返しますが、私にとってリストのサイズは常に 0 です。何が間違っていますか? 以下は私のテストコードです:

ファイル clust.txt には、X 値と Y 値が tabulator で区切られた 2 つの列が含まれています。いくつかの異なるデータを試してみましたが、常に 0 になります。

0 投票する
2 に答える
1487 参照

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 をライブラリに追加します。