2013-06-20 37 views
6

Tôi quan tâm đến việc sử dụng python để tính toán khoảng tin cậy từ sinh viên t.khoảng tin cậy của sinh viên t trong python

Tôi đang sử dụng các chức năng StudentTCI() trong Mathematica và bây giờ cần phải mã hóa các chức năng tương tự trong python http://reference.wolfram.com/mathematica/HypothesisTesting/ref/StudentTCI.html

Tôi không khá chắc chắn làm thế nào để xây dựng chức năng này bản thân mình, nhưng trước khi tôi bắt tay vào đó, là thế này chức năng trong python một nơi nào đó? Như numpy? (Tôi đã không sử dụng numpy và cố vấn của tôi khuyên không sử dụng gumpy nếu có thể).

Cách dễ nhất để giải quyết vấn đề này là gì? Tôi có thể sao chép mã nguồn từ StudentTCI() trong numpy (nếu nó tồn tại) vào mã của tôi như là một định nghĩa chức năng?

chỉnh sửa: Tôi sẽ cần phải xây dựng TCI Sinh viên bằng mã python (nếu có thể). Cài đặt scipy đã biến thành một ngõ cụt. Tôi có cùng một vấn đề mà mọi người khác đang gặp phải, và không có cách nào tôi có thể yêu cầu Scipy cho mã tôi phân phối nếu mất quá nhiều thời gian để thiết lập.

Bất kỳ ai biết cách xem mã nguồn cho thuật toán trong phiên bản scipy? Tôi đang suy nghĩ tôi sẽ tái cấu trúc nó thành một định nghĩa python.

Trả lời

11

Tôi đoán bạn có thể sử dụng scipy.stats.t và nó interval phương pháp:

In [1]: from scipy.stats import t 
In [2]: t.interval(0.95, 10, loc=1, scale=2) # 95% confidence interval 
Out[2]: (-3.4562777039298762, 5.4562777039298762) 
In [3]: t.interval(0.99, 10, loc=1, scale=2) # 99% confidence interval 
Out[3]: (-5.338545334351676, 7.338545334351676) 

Chắc chắn, bạn có thể thực hiện chức năng của riêng bạn nếu bạn muốn. Chúng ta hãy làm cho nó trông giống như trong Mathematica:

from scipy.stats import t 


def StudentTCI(loc, scale, df, alpha=0.95): 
    return t.interval(alpha, df, loc, scale) 

print StudentTCI(1, 2, 10) 
print StudentTCI(1, 2, 10, 0.99) 

Kết quả:

(-3.4562777039298762, 5.4562777039298762) 
(-5.338545334351676, 7.338545334351676) 
+0

Cảm ơn. Đây là những gì tôi cần. Tôi đang cố gắng để cài đặt scipy (win7 64x), và nó không phải là đơn giản như nó phải được ?? Tôi đang sử dụng 32 bit python vì vậy tôi tin rằng tôi muốn 32 bit scipy là tốt, nhưng tôi không chắc chắn làm thế nào để có được nó. Tôi đang cài đặt một thứ gọi là anaconda ngay bây giờ mà tôi đoán sẽ hoàn thành công việc? Không có cách nào để chỉ cần cài đặt scipy tôi mang nó? – SwimBikeRun

+0

Anaconda được thực hiện và không cài đặt scipy. dòng 29, trong từ nhập scipy.stats t Nhập lỗi: Không có mô-đun có tên scipy.stats – SwimBikeRun

+0

@SwimBikeRun, tôi đề nghị bạn cài đặt [Enthought Canopy] (https://www.enthought.com/products/canopy/). Nó cung cấp một cách dễ dàng và đơn giản để cài đặt và quản lý các gói python. Scipy được bao gồm trong phiên bản Express, vì vậy bạn không phải trả tiền cho nó. Ngoài ra còn có [pythonxy] (https://code.google.com/p/pythonxy/) mà đi kèm với scipy là tốt, nhưng tôi không bao giờ thực sự sử dụng nó. – abudis

Các vấn đề liên quan