タグ

ブックマーク / qiita.com/damyarou (4)

  • Python:統計量の母数推定(非線形回帰の応用) - Qiita

    2018.10.25 プログラムを母数推定部(計算のみ)と作図部の2部に書き換え はじめに 2018年10月10日に海外での業務完了につき帰国した.現在は休暇中であり,のんびりしているが,全く何もやらないのもちょっと気が引けたので,仕事の練習として,Pythonを使った非線形回帰のプログラムを作ってみた.昔は同じことをFortranプログラムでやっていたが,scipyの統計関数や,非線形回帰機能を使うことにより,非常にシンプルにやりたいことを実現できることを確認した. やっていることは,観測値を,仮定した確率分布関数に回帰し,母数(確率分布関数における係数)を推定するというものである.母数推定の方法は,これまでに積率法(モーメント法)などが研究されてきたが,ここでは Python:scipy の optimize.leastsq を用いる方法をとっている. 例として用いる観測値は,筆者の自

    Python:統計量の母数推定(非線形回帰の応用) - Qiita
  • Python matplotlibで棒グラフ(ハッチングと2軸グラフの凡例) - Qiita

    はじめに この記事を紹介しようと思ったきっかけは以下の通りです. データ比較用の棒グラフを白黒で作成したかったので,ハッチングにより対応することにしました.色とりどりのグラフはよく見かけますが,今の時代に白黒グラフは以外に少ない? 2軸グラフを作成する時,凡例部をうまくプログラムできないかと考えていたのですが,気に入った方法が見つかったので,実践してみることにしました. 棒グラフのプログラムは,こちらのサイト を参考に,自前のものを書き換えています. なお,当方の環境は以下のとおりです. MacBook Pro (Retina, 13-inch, Mid 2014) macOS High Sierra Python 3.7.0 matplotlib 2.2.2 ハッチングパターン 下の図は,棒グラフ体は描画せずに,凡例だけを描画し,余白削除をしたものです. 上の図を描くコードは以下の通り

    Python matplotlibで棒グラフ(ハッチングと2軸グラフの凡例) - Qiita
  • Python:FEMでの疎行列計算利用による高速化(3次元骨組構造解析での事例) - Qiita

    1.はじめに 最近,自作の3次元骨組構造解析プログラムで計算を行っているが,自由度が大きくなると計算に時間がかかるのが気になりだしました. 6000自由度(行列サイズは 6000 x 6000)となると,numpy.linalg.solve では計算時間は10秒近くかかります.これを何十ケースもやるとなると,コンピュータの前で待っているのは手持ち無沙汰です.そこで何か早くする方法はないものかと探っていて見つけた方法が,scipyの疎行列計算の活用です. 結果からいうと,下表の通り,疎行列処理の導入により,十分に早くなります.自由度が小さく1秒以下の計算での違いなどは気になりませんが,自由度が大きい場合に1ケース9秒が3秒になる時間短縮は大きい!そこで,この記事では,疎行列計算ライブラリを用いた連立一次方程式解法の簡単な例と,実際のFEMプログラムへの実装を説明します.実装と行っても,プログ

    Python:FEMでの疎行列計算利用による高速化(3次元骨組構造解析での事例) - Qiita
  • Python, matplotlibでフローチャートのようなものを強引に描く - Qiita

    はじめに 仕事である数値計算をした.プログラムは以前から持っていたPythonのものを改良したものだが,収束計算を伴うものであり,以前から計算手順を示すための簡単なフローチャートのようなものを作りたいと思っていた.そこで,Pythonで「フローチャートのようなもの」を作るプログラムを作ってみた. 色々考えてみたが,結局は妙案は生まれず,グラフ用紙に定規と鉛筆で手書きするものを,Polygonとtextをコードに埋め込んで手書きと同じことをコンピュータにやらせるだけの内容となった. はじめはフローチャートだけのつもりだったが,変数説明など関連事項も同じトーンのほうがかっこいいので,ついでに表を作るプログラムも作ってみた.質的にはフローチャート用プログラムと何ら変わりはない.プログラムの内容は超原始的であるが,出力は白黒ながら結構かっこいいかも(自己満足です). プログラミング環境は,コンピ

    Python, matplotlibでフローチャートのようなものを強引に描く - Qiita
  • 1