とくに何も設定しなくても、値が複数ある場合は、信頼区間つき線グラフとなると考えられる。
参考にされたサイトにも上のように書いてあるとおり、同じタイミング(時間)に複数のデータがあれば信頼区間がつきます。
これは信頼区間の定義からして当然で、信頼区間とは「母集団の真の値が含まれることが信頼できる区間」です。同じタイミングにデータが複数あればその平均や分散から信頼区間を計算できますが、1個ずつしかないのであればそもそも信頼区間という考え方をしません。
信頼区間についてはググれば親切なサイトがたくさんあるので、探してみてください。
貼られたデータを元に、乱数でデータを増やしてみました。このように同時刻に複数のデータがあれば信頼区間が描画されます。
python3
1import numpy as np
2import pandas as pd
3import matplotlib.pyplot as plt
4import seaborn as sns
5import random
6sns.set(style="darkgrid")
7sns.set_context('talk')
8
9data = [26.037666140460175, 26.035329693820763, 26.03250951997295, 26.034479896627285, 26.03071502375869, 25.8991498669353]
10
11data1 = [d+random.random() for d in data]
12data2 = [d+random.random() for d in data]
13df0 = pd.DataFrame(data)
14df1 = pd.DataFrame(data1)
15df2 = pd.DataFrame(data2)
16df = pd.concat([df0,df1,df2])
17print(df)
18# 0
19#0 26.037666
20#1 26.035330
21#2 26.032510
22#3 26.034480
23#4 26.030715
24#5 25.899150
25#0 26.532991
26#1 26.491302
27#2 27.010589
28#3 26.629951
29#4 26.587699
30#5 26.274255
31#0 26.497066
32#1 26.739554
33#2 26.271185
34#3 26.832916
35#4 26.717563
36#5 26.803914
37#default 95%信頼区間
38sns.relplot(kind="line", data=df,aspect=1.5)
39plt.savefig("test.png",dpi=100)
あ、もしかして単にデータ全体の信頼区間を求めたいということであれば下記のようにもできます。
python3
1from scipy import stats
2import math
3import statistics
4
5data = [26.037666140460175, 26.035329693820763, 26.03250951997295, 26.034479896627285, 26.03071502375869, 25.8991498669353]
6n = len(data) #サンプルサイズ
7mean = statistics.mean(data)
8variance = statistics.variance(data)
9se = math.sqrt(variance/n) #標準誤差
10
11bottom, up = stats.norm.interval(alpha=0.95, loc=mean, scale=se)
12print('{:.2f} < x < {:.2f}'.format(bottom, up))
13# 25.97 < x < 26.06
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/14 05:56 編集