質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

For文を使ったグラフの書き方

yesman-0303
yesman-0303

総合スコア3

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1回答

0グッド

0クリップ

187閲覧

投稿2022/11/17 03:34

前提

for文を使って統計量G1を計算したのですが、サンプルサイズn=10とn=500の時のグラフだけ表記させたいのですが、自分で書いたコードだとfor文を使った意味がないと思います
正規分布に従うことを示すために正規分布のグラフも追加しています

実現したいこと

for文を使ってn=10とn=500のグラフだけを作成したいです.

該当のソースコード

python

1from scipy.stats import norm, skew 2import numpy as np 3import matplotlib.pyplot as plt 4 5n = [10, 20, 30, 50, 100, 300, 500, 1000] #samplesize 6N =10000 7alfa = 0.05 8for i in range(len(n)): 9 X1 = norm.rvs(loc = 0, scale =1, size=(n[i],N)) 10 G1 = np.sqrt(n[i] / 6) * skew(X1) 11n1=10 12X1 = norm.rvs(loc = 0, scale =1, size=(n1,N)) 13G1 = np.sqrt(n1 / 6) * skew(X1) 14# histogram 15plt.hist(G1, bins=100, edgecolor = 'black',density=True) 16x = np.linspace(-3, 3, 100) 17norm_pdf = norm.pdf(x) 18plt.plot(x, norm_pdf, lw = 3, color='r') 19plt.show() 20n2=500 21X1 = norm.rvs(loc = 0, scale =1, size=(n2,N)) 22G1 = np.sqrt(n2 / 6) * skew(X1) 23plt.hist(G1, bins=100,edgecolor = 'black', density=True) 24x = np.linspace(-4, 4, 100) 25norm_pdf = norm.pdf(x) 26plt.plot(x, norm_pdf, lw = 3, color='r') 27plt.show() 28

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

ベストアンサー

一例。

python

1from scipy.stats import norm, skew 2import numpy as np 3import matplotlib.pyplot as plt 4 5N = 10000 6n = [(10, 3), (500, 4)] 7for i, j in n: 8 X1 = norm.rvs(loc=0, scale=1, size=(i, N)) 9 G1 = np.sqrt(i/6) * skew(X1) 10 # histogram 11 plt.hist(G1, bins=100, edgecolor = 'black',density=True) 12 x = np.linspace(-j, j, 100) 13 norm_pdf = norm.pdf(x) 14 plt.plot(x, norm_pdf, lw = 3, color='r') 15 plt.show()

投稿2022/11/17 03:56

melian

総合スコア16188

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。