기초통계 관련 Sage 명령어 정리 by SGLee
1. mean(v) # v는 list. 평균
1/2*pi + 1/2*e 1/2*pi + 1/2*e |
NaN NaN |
1/3*sqrt(2) + 1/3*I + 1/5 1/3*sqrt(2) + 1/3*I + 1/5 |
1.5051500000000000? 1.5051500000000000? |
3/2 3/2 |
50.5 50.5 |
2. median(v) # v는 list. 중앙값
3 3 |
1/2*pi + 1/2*e 1/2*pi + 1/2*e |
'python' 'python' |
NaN NaN |
3. mode(v) # v는 list. 최빈값
[1] [1] |
3 3 |
[] [] |
[1, 2, 3, 4, 5] [1, 2, 3, 4, 5] |
[1, 2, 3] [1, 2, 3] |
['sage'] ['sage'] |
4. moving_average(v, n) # 이동평균
sage: moving_average([1..10], 1)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sage: moving_average([1..10], 4)
[5/2, 7/2, 9/2, 11/2, 13/2, 15/2, 17/2]
sage: moving_average([], 1)
[]
sage: moving_average([pi, e, I, sqrt(2), 3/5], 2)
[1/2*pi + 1/2*e, 1/2*e + 1/2*I, 1/2*sqrt(2) + 1/2*I, 1/2*sqrt(2) + 3/10]
[1/2*pi + 1/2*e, 1/2*e + 1/2*I, 1/2*sqrt(2) + 1/2*I, 1/2*sqrt(2) + 3/10] [1/2*pi + 1/2*e, 1/2*e + 1/2*I, 1/2*sqrt(2) + 1/2*I, 1/2*sqrt(2) + 3/10] |
5. std(v, bias=False) # 표준편차
sage: std([1..6], bias=True)
1/2*sqrt(35/3)
sage: std([1..6], bias=False)
sqrt(7/2)
sage: std([e, pi])
sqrt(1/2)*sqrt((pi - e)^2)
sage: std([])
NaN
sage: std([I, sqrt(2), 3/5])
sqrt(1/450*(10*sqrt(2) - 5*I - 3)^2 + 1/450*(5*sqrt(2) - 10*I + 3)^2 + 1/450*(5*sqrt(2) + 5*I - 6)^2)
sage: std([RIF(1.0103, 1.0103), RIF(2)])
0.6998235813403261?
sqrt(1/450*(5*sqrt(2) + 5*I - 6)^2 + 1/450*(5*sqrt(2) - 10*I + 3)^2 + 1/450*(10*sqrt(2) - 5*I - 3)^2) sqrt(1/450*(5*sqrt(2) + 5*I - 6)^2 + 1/450*(5*sqrt(2) - 10*I + 3)^2 + 1/450*(10*sqrt(2) - 5*I - 3)^2) |
6. variance(v, bias=False) # 분산
sage: variance([1..6])
7/2
sage: variance([1..6], bias=True)
35/12
sage: variance([e, pi])
1/2*(pi - e)^2
sage: variance([])
NaN
sage: variance([I, sqrt(2), 3/5])
1/450*(10*sqrt(2) - 5*I - 3)^2 + 1/450*(5*sqrt(2) - 10*I + 3)^2 + 1/450*(5*sqrt(2) + 5*I - 6)^2
sage: variance([RIF(1.0103, 1.0103), RIF(2)])
0.4897530450000000?
7/2 7/2 |
7. GeneralDiscreteDistribution(P) # P는 확률 list. 이산확률분포 생성
sage: P = [0.3, 0.4, 0.3] # P(0)=0.3, P(1)=0.4, P(2)=0.3
sage: X = GeneralDiscreteDistribution(P)
sage: X.get_random_element() # random
2
sage: from sage.gsl.probability_distribution import GeneralDiscreteDistribution
sage: P = [0.3, 0.4, 0.3]
sage: X = GeneralDiscreteDistribution(P)
sage: h, b = X.generate_histogram_data(bins = 10) # histogram data 생성
sage: h # random
[1.5249999999999995, 0.0, 0.0, 0.0, 0.0, 1.8649999999999995, 0.0, 0.0, 0.0, 1.6099999999999994]
sage: b # random
[0.0, 0.20000000000000001, 0.40000000000000002, 0.60000000000000009, 0.80000000000000004, 1.0, 1.2000000000000002, 1.4000000000000001, 1.6000000000000001, 1.8, 2.0]
1 1 |
8. # 균등분포 Uniform distribution on the interval [a, b]:
sage: a = 0
sage: b = 2
sage: T = RealDistribution('uniform', [a, b])
sage: T.get_random_element() # random
0.416921074037
sage: T.distribution_function(0)
0.5
sage: T.cum_distribution_function(1)
0.5
sage: T.cum_distribution_function_inv(.5)
1.0
0.497020253912 0.497020253912 |
9. 가우스 분포 The standard gaussian distribution has sigma = 1:
sage: sigma = 1
sage: T = RealDistribution('gaussian', sigma)
sage: T.get_random_element() # random
0.818610064197
sage: T.distribution_function(0)
0.398942280401
sage: T.cum_distribution_function(1)
0.841344746069
sage: T.cum_distribution_function_inv(.5)
0.0
-0.183537311896 -0.183537311896 |
10. t-분포 The t-distribution has one parameter nu:
sage: nu = 1
sage: T = RealDistribution('t', nu)
sage: T.get_random_element() # random
-0.994514581164
sage: T.distribution_function(0)
0.318309886184
sage: T.cum_distribution_function(1)
0.75
sage: T.cum_distribution_function_inv(.5)
0.0
-0.994514581164 -0.994514581164 |
11. F-분포 The F-distribution has two parameters nu1 and nu2:
sage: nu1 = 9; nu2 = 17
sage: F = RealDistribution('F', [nu1,nu2])
sage: F.get_random_element() # random
1.65211335491
sage: F.distribution_function(1)
0.669502550519
sage: F.cum_distribution_function(3.68)
0.98997177723
sage: F.cum_distribution_function_inv(0.99)
3.68224152405
|
12. 카이제곱분포 The chi-squared distribution has one parameter nu:
sage: nu = 1
sage: T = RealDistribution('chisquared', nu)
sage: T.get_random_element() # random
0.103230507883
sage: T.distribution_function(0)
+infinity
sage: T.cum_distribution_function(1)
0.682689492137
sage: T.cum_distribution_function_inv(.5)
0.45493642312
13. 지수분포 The exponential power distribution has two parameters a and b:
sage: a = 1
sage: b = 2.5
sage: T = RealDistribution('exppow', [a, b])
sage: T.get_random_element() # random
0.570108609774
sage: T.distribution_function(0)
0.563530248993
sage: T.cum_distribution_function(1)
0.940263052543
0.690946431418 0.690946431418 |
14. 회귀직선
R = [[1,2],[3.45,4],[6,5],[4,3]]
[a == 0.56881365890949032, b == 1.4451606559020047] [a == 0.56881365890949032, b == 1.4451606559020047] |
http://sage.math.canterbury.ac.nz/home/pub/76/
http://sage.math.canterbury.ac.nz/home/pub/72/
|