タグ付けされた質問 「data-management」

14
科学データとグラフの公開に推奨されるソフトウェアとワークフローはどれですか?
いくつかのデータポイントの単純なプロットから、詳細なスタイル、数学的な組版、「プロ品質」を備えた出版物レベルのグラフィックの作成まで、どのソフトウェアが優れたワークフローを提供しますか? これは、Davidの質問に関連しています(どの属性がフィギュアをプロフェッショナルな品質にしますか?)。しかし、焦点は属性ではなく、そこに到達するためのソフトウェアまたは一般的なワークフローです。Gnuplot、Origin、Matplotlib、TikZ / PGFplot、Qtiplotなどのプログラムで表面的な経験がありますが、データ分析と素敵な数値を同時に行うのはかなり難しいようです。 これを可能にするソフトウェアはありますか、それともパッケージの1つをさらに掘り下げる必要がありますか? 編集:私の現在のワークフローはさまざまなコンポーネントを組み合わせたものであり、多少なりとも連携しますが、全体としてはあまり効率的ではなく、これは大学の研究室の多くの科学者にとって典型的だと思います。通常、実験から出版物までのチェーンは次のとおりです。 実験データを取得します(通常はASCII形式ですが、ヘッダー、コメント、列数などのレイアウトが異なります) Origin、Gnuplot、または20年前に書かれた難解なプロットプログラムで何も問題がなかったかどうかを確認するためのデータのクイックプロット。 データのより詳細な分析:バックグラウンドの寄与の減算、依存関係と相関の分析、理論モデルとの適合。多くの科学者がこのタスクにOriginを使用していますが、MatlabやPython / Scipy / Numpyの使用が増えています。 専門的な人物を作成するには、ジャーナルのガイドラインに合わせて調整し、数学的な組版と一般的な編集を行います。現時点ではOriginを使用していますが、いくつかの欠点があります(ちょうど0.5ptの線幅を取得しようとすると、不可能です)。図の結合/研磨には、主にAdobe Illustratorを使用します。これは、PDFドキュメントのim- /エクスポートを適切に処理できるためです。ただし、図ごとに2つのステップを実行する必要はありません。 最後にどのように見えるかの例を追加しました(これはほとんど手作業で変更することによって作成されているため、すべてが苦痛であり、すべての要素の線幅を設定するためのインターフェースを提供するものは素晴らしいでしょう):

4
大量のデータを処理する方法は?
プラズマダイナミクスのシミュレーションでは、多くの場合、大量の情報が生成されます。シミュレーション中に、少なくとも10個のプロパティについて、(8192x1024x1024x1500)と同じ大きさのグリッド(x、y、z、t)にさまざまな物理的プロパティを記録します。この情報は、シミュレーションの完了後に処理されます。それで私たち プロパティのムービーを作成し、 フーリエ解析を実行し、 平均プロパティを計算します。 できるだけ多くの情報をこのように単純にダンプすることは、小規模なシステムを調査したときにうまく機能しました。これにより、結果とやり取りし、後でそれをどうするかを決定する柔軟性が得られました。また、単純にシミュレーションを実行するために計算リソース(CPU時間)を割り当てることもできました。 フーリエ解析をオンザフライで実行し、長さスケールの選択範囲のみをフィルタリングするプロセスを開始しました。数値的な理由から、実際に必要な長さよりも小さい長さスケールを解決する必要がある場合があります。そのような場合、このフィルターは非常に役立ちます。また、パラレルI / Oオプション、特にパラレルHDF5など、さまざまなパラレルIOライブラリも検討しています。 データ処理の効率を最大化するための戦略は何ですか? その場ですべての分析(映画やプロットなどの後処理を含まない)を実行することに利点はありますか? 私はこの問題が他の研究分野で起こることを想像できます。たとえば、長い間進化する必要がある分子動力学シミュレーションがあるかもしれませんが、興味深いことが起こっている短い瞬間に興味があります。またはCFDでは、初期の開発は遅いかもしれませんが、乱流が始まると、ダイナミクスを監視するためにより高い時間分解能が必要になる場合があります。 シミュレーションから洗練された結果収集の自由に利用可能な例はありますか?

3
階層シミュレーションデータを保存するためのベストプラクティス
TL、DR 大量の階層構造データを保存するための科学コンピューティング界で受け入れられているベストプラクティスは何ですか?たとえば、SQLは大きなスパース行列ではうまく機能しません。この種のデータを構造化し、保管し、分析するための優れたツールはありますか?LHCのスタッフは何を使用していますか? ユースケースの詳細 次の階層に従ってタンパク質シミュレーションのデータを保存します。 protein |__simulation conditions |____|__residues |____|____|__conformers |____|____|____|__atoms すべてのタンパク質はその各残基を認識している必要があり、すべての原子はそのシミュレーションなどに使用される条件を知っている必要があります。 もともと、このアプリケーションにはリレーショナルデータベースが最適であると考えたため、pythonとsqlalchemeyを使用して、SQLデータベースにデータを保存するプログラムを作成しました。ただし、実際には、このプログラムはあまりうまく機能していません。 最大の問題は、配座異性体データレベルにN x N行列があり、配座異性体のすべての可能なペア間のペアワイズ相互作用によるポテンシャルエネルギーを格納するという事実に関連しています。マトリックス内のエントリのほとんどはゼロです。そのため、データベース内の別のテーブルに、エントリごとに1行、一種のスパース形式でマトリックスを格納しています。残念ながら、数千の配座異性体を含むシミュレーションの場合、ペアワイズテーブルは依然として数十万行になり、次のようになります。 a)構築とクエリが非常に遅い(時間) b)非スパースマトリックスとしてのデータの同等のプレーンテキスト表現よりもハードドライブ上のスペースを1桁多く 消費するc)10ギガバイト以上のメモリを消費するテーブルはメモリに読み込まれます 私の最終的な目標は、データベースに数万の実行(数十のシミュレーション条件下での数千のタンパク質から派生)を保存して、それらをすべて一緒に分析できるようにすることです。これは、ペアワイズ行列を表すテーブルが約10億行になる可能性が高いことを意味します。現在、このデータベースで単一のクエリを実行するためにも、Crayまたはその他の共有メモリモンスターが必要になるようです。 ここにはより良いオプションがありますか?LHCのスタッフは何を使用していますか?

3
HDF5ファイルはgitリビジョン管理に適していますか?
私はHDF5で使用されているファイル形式に精通していませんが、HDF5ファイルがgit(またはMercurialやSubversionなど)のリビジョン管理に適しているかどうか疑問に思っていますか?つまり、HDF5ファイルは行ベースの差分に適していますか、またはgitはHDF5を1つの大きなバイナリとして扱い、各リビジョンのコピー全体を保存する必要がありますか?

2
Pandasの制限とPythonでの代替
Pandasが最初に金融の世界、特に自然科学(物理学、生物学など)向けに開発されなかったことをどこかで読んだことがあります。同様のデータ分析Pythonパッケージがより「自然科学指向」なものはありますか? 私はパンダの使用を開始したばかりで、他のパッケージまたは自家製のソリューションを使用しないと解決できない2つの問題がすでに発生しています。 不確実性を管理する方法は? データの単位を簡単に定義するにはどうすればよいですか? おそらく他の問題があるかもしれませんが、もっと正確には経験がありません。現時点では、最初の点を解決するための不確実性パッケージについて考えていますが、パンダで正常に動作し、計算速度が低下しないかどうかはわかりません。実際、私は不確実性を伴う計算方法を探しているのではなく、インポートしたデータと共に不確実性を保存する単純な方法を探しています。2番目の点については、DataFrameとは別に辞書を作成して、各データに関連付けられた単位を管理するよりも優れた解決策を見つけることができませんでした。 同じ問題を経験したことがある場合、どのようにそれを解決しましたか、または自然科学のPythonでのデータ操作/保存/分析にどのパッケージを使用しましたか?

2
シミュレーション実行を管理するための提案?
この質問はcomp-sciのトピックから少し外れるかもしれません。必要な場合は、どこに適合するか提案してください。 問題は、すべてのシミュレーション実行を効率的に管理する方法に関するものです。 たとえば、シミュレーションで、特定の推奨値の範囲で定義する必要がある2つのパラメーターを修正する必要があるとします。 (シミュレーション結果を実験データと比較するなどして)2つのパラメーターのペアによって生成されるより良い結果を見つけるには、各パラメーターに3つの値を定義し、9回の実行を公式化することにより、感度分析を実行できます。 以前は、sedを使用して各実行の入力を変更し、この実行の入力と結果を格納するフォルダーに値とパラメーター名を書き込むことで、各実行にタグを付けていました。しかし、パラメーターの数が増えると、これは非常に非効率的であることがわかりました(たとえば、プロット用のスクリプトでフォルダーの名前にアクセスします)。 その後、フォルダ名として単純な数字を使用し、他のいくつかのスプレッドシートで詳細を保存することにしました。この方法は今のところ問題ありませんが、いくつかの面倒な作業が必要です。また、ランの成長に伴い、数日前にすでに実行されている別のランを実行するなど、ミスを犯すこともよくあります。 これらの実行の管理について何か良いアイデアはありますか?モンテカルロ分析をする人にとってそれは非常に重要だと思いますか? 前もって感謝します!

2
データセットをフィルタリングして、ニューラルネットワークトレーニングのより均一な分布を取得する
スティッフODEの完全なシステムを解くのではなく、人工ニューラルネットワーク(ANN)を使用して流体の反応率を予測することを検討しています。私の研究室の何人かの人はすでにそれにいくつかの仕事をしていたので、私はゼロから始めませんが、私のアプリケーションに問題があります。そのうちの1つは、トレーニング用のデータセットの品質に関連していると思います。通常、1D / 2D / 3DのCFDシミュレーションからトレーニングデータを抽出します。とにかく、ニューラルネットワークに送るデータの多次元配列ができあがります。問題の大きさを理解するために、8つのネットをそれぞれ10の入力と1つの出力でトレーニングすることを検討しています。約100,000ポイントのトレーニングセットは妥当だと思いますが、問題は、これらの100,000ポイントが私の多次元空間の特定の領域をカバーする必要があることです。 スナップショットごとに、トレーニングが正確であることを確認するために高いサンプリングが必要な領域には、ポイントのごく一部しかありません スナップショットをまとめてコンパイルすると、多くのほぼ重複するポイントができます。これは、a)これらの領域に重点を置いてトレーニングにバイアスをかけることにより、b)不要なポイントを追加することにより、ANNトレーニングに悪影響を及ぼします。 そのため、トレーニングセットに含める前に、記録したポイントをフィルタリングしようとしています。私が見ると、新しいポイントがデータセットのすべてのポイントの特定のn次元の半径内にあるかどうかを確認する必要があります。このブルートフォースアプローチは、n ^ 2のようないくつかのトリックスケールを除外し、100,000から10,000ポイントを抽出するのにまあまあ機能します(30分かかります)が、スナップショットのサイズと数を増やすとうまくいきません...明らかに、これを行うためのより賢い方法があるはずですが、私はどちらの方向から探し始めるのかわかりません。私は最初にpythonを試してみましたが、FORTRANに移動してスピードを上げることができましたが、まずはより良い戦略を探すべきだと思います。私の唯一の希望はある種のkdツリーですか?私はそれらについてほとんどまたはまったく経験がなく、私が見る問題は、データセットを構築するとツリーが成長することであり、これは複雑さを増すだけです。Python kdツリーライブラリは私のニーズに合っていますか?問題の規模を考えると、FORTRANに移行する必要がありますか?何かアドバイスをいただければ幸いです、ありがとう!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.