Ngôn ngữ lập trình nào cho suy luận thống kê?


8

chỉ vì tò mò ... Ngôn ngữ nào được sử dụng nhiều nhất ở đây? R? MATLAB? Con trăn? Java?

Điều gì cho nguyên mẫu hoặc cho sản xuất? Ví dụ tôi nghĩ MATLAB chủ yếu được sử dụng để tạo mẫu, python cho cả prot. và sản xuất ...


6
Đã giải quyết được khá nhiều vấn đề tại đây: stackoverflow.com/questions/2200460/
mài

2
Làm wiki vì điều này là hoàn toàn chủ quan.
Shane

Câu trả lời:


7

Tôi không thể đồng ý nhiều hơn với một phiếu bầu cho R. R là "Lingua Franca" của thế giới thống kê. Đó là định nghĩa của tiên tiến, trong khi hầu hết các gói cho MATLAB và SAS mất vài tháng. Ngôn ngữ rất đơn giản để hiểu trái ngược với SAS. Nó cũng cung cấp cho bạn sức mạnh để kết nối với C / C ++ / Python và cơ sở dữ liệu.

Hãy xem xét phiên bản Revolution Analytics của R để có hiệu suất cao hơn một chút.

http://www.revolutionanalytics.com/products/revolution-r.php


2
Tôi phải nói rằng tôi phải không đồng ý về việc R đơn giản để học hơn so với SAS. Có thể là do tôi đã học được SAS và SPSS trước tiên, nhưng tôi nghĩ rằng SAS, SPSS (PASW bây giờ) và Stata đều là những ngôn ngữ dễ tiếp thu hơn R. Mặc dù đó là một lập luận chủ quan.
Andy W

Tôi cảm thấy như R cung cấp cho người dùng nhiều hơn về chức năng. Nó vượt lên trên và vượt xa những gì SAS / SPSS có thể làm.
pslice

3
Tôi không đồng ý với điều đó, nhưng điều đó không làm cho nó dễ hiểu hơn. Tôi nghĩ nó khá minh bạch về những đối tượng tôi đang làm việc với SAS, SPSS hoặc Stata và định dạng / bản chất của những đối tượng đó, nhưng nó không minh bạch trong R. Mặc dù R có thể chặt chẽ hơn, tôi hiếm khi có cần cho kỹ thuật thống kê tiên tiến trong công việc hàng ngày của tôi.
Andy W

Khó có thể nghĩ về các hệ thống nguồn đóng được minh bạch. Ngay cả khi bạn chỉ sử dụng các phương pháp thống kê cũ, R là một hệ thống hiệu quả hơn để sử dụng chúng và tạo thành một hộp công cụ nghiên cứu có thể tái tạo hoàn chỉnh.
Frank Harrell

8

Chà, bạn có thể TRẢ TIỀN cho MATLAB, và sau đó (1) lập trình những thứ bạn thực sự cần từ đầu hoặc (2) TRẢ TIỀN THÊM cho các hộp công cụ MATLAB. Và khám phá ra rằng việc thực hiện các số liệu thống kê hữu ích trong MATLAB là một cách suy nghĩ được xử lý trong Hộp công cụ Thống kê ngày càng ít hữu ích hơn. Hoặc ... bạn có thể tải xuống R MIỄN PHÍ và tìm kiếm (và tìm!) Các gói bạn cần, bạn cũng có thể tải xuống MIỄN PHÍ.

Rất nhiều công cụ sản xuất quy mô nhỏ có thể được thực hiện ở R. Nếu bạn đang làm một việc gì đó thực sự lớn (theo điều tra dân số Hoa Kỳ), có lẽ bạn cần phải đi tìm hiểu về SAS - và khiến chủ nhân của bạn phải trả tiền cho nó.


7

"Mức độ phổ biến" phụ thuộc vào cộng đồng và định nghĩa của "thống kê". Trên toàn thế giới, có cái nhìn bao quát về "suy luận thống kê" bao gồm mọi phương pháp rút ra kết luận hoặc thực hiện các hành động dựa trên dữ liệu định lượng, có rất ít câu hỏi rằng Excel đánh bại tất cả các ứng dụng khác, bao gồm R, SAS, Stata, SPSS và S -Có thêm . (Các liên kết trỏ đến các loại số liệu thống kê khác nhau, nhưng chúng có tính gợi ý cao, để nói rằng ít nhất.) Python và MATLAB thậm chí không bị trượt trong số liệu thống kê. Tôi không nói rằng đây là một điều tốt hay chúng ta nên thích nó: đó chỉ là cách nó diễn ra và đó là cách nó sẽ tồn tại trong một thời gian rất dài.

Chúng ta không nên rút ra bất kỳ suy luận nào từ những gì có vẻ phổ biến "ở đây" trong diễn đàn này. Các nhà cung cấp phần mềm thương mại hỗ trợ các diễn đàn của riêng họ, vì vậy, một nơi như SE sẽ ưu tiên những người sử dụng phần mềm ít được hỗ trợ tích cực hơn, đặc biệt là các giải pháp học thuật, nguồn mở và miễn phí.


6

Cần phải rõ ràng bằng cách nhìn vào các thẻ phổ biến nhất mà R là ngôn ngữ phổ biến nhất trên trang web này. Cho dù điều đó làm cho nó trở thành ngôn ngữ phổ biến nhất để phân tích thống kê không thể được suy luận trực tiếp, nhưng người ta có thể giả sử nhiều như vậy.


4

R và SAS có mỗi ưu và nhược điểm của họ. Tôi nghĩ rằng nhiều nhà thống kê cần nắm bắt thực tế rằng có rất nhiều phần mềm thống kê tuyệt vời, thay vì vô tận cãi nhau về cái nào là vượt trội.

R là miễn phí. SAS rất đắt. R cung cấp cho bạn khả năng để làm bất cứ điều gì. SAS có thể hoặc không. R có khả năng đồ họa tuyệt vời. Nhìn thấy đồ họa SAS làm cho nó giống như năm 1985 một lần nữa. SAS có hỗ trợ khách hàng tuyệt vời. R hỗ trợ = giờ tìm kiếm lưu trữ danh sách gửi thư. Ngoài ra với tên như "R", kết quả của công cụ tìm kiếm thường kém. R cực kỳ chậm và không xử lý tốt với các tập dữ liệu lớn. SAS làm tốt với các tập dữ liệu lớn. SAS có xu hướng mạnh mẽ hơn. Theo kinh nghiệm của tôi, khi nói đến mô hình hiệu ứng hỗn hợp hoặc bất cứ điều gì liên quan đến thiết kế thí nghiệm (như phân tích thiết kế chéo), SAS là vượt trội.

Đối với quy mô lớn, mô phỏng lực lượng vũ phu, tôi sử dụng Fortran. Tôi đã từng sử dụng C, nhưng đã thấy Fortran dễ sử dụng hơn nhiều. Tôi chưa bao giờ sử dụng MATLAB. Nếu tôi cần sức mạnh thống kê của R nhưng tốc độ của Fortran, tôi sẽ viết các hoạt động đòi hỏi nhiều thời gian (tức là các vòng lặp) trong Fortran và gọi chương trình con từ R.


3
Chà, hỗ trợ R là những nơi như ở đây, thường hiệu quả hơn là hỗ trợ có trả tiền. Đối với Googling, có rseek.org, hoạt động rất tốt. 99% trường hợp R-is-chậm có thể được giải quyết với một số suy nghĩ; cũng có các gói để xử lý dữ liệu khổng lồ (nó cũng không đơn giản trong SAS). R là ngôn ngữ lập trình, SAS là SQL mở rộng.

2
+1 vì câu trả lời này hữu ích, nhưng tôi nghĩ rằng quan điểm của bạn về hỗ trợ, tốc độ và khả năng xử lý dữ liệu lớn của R đã lỗi thời hoặc trở nên khá nhanh chóng.
Matt Parker

2
Tôi sẽ nhận xét thứ hai của @Matt và @ mbq về hiệu suất R, nhưng tôi muốn thêm rằng R thực sự khá tốt cho (N) LMEs. Tôi có thể nhớ một cuộc nói chuyện từ Doug Bates tại hội nghị DSC 2009 , nơi ông đã chỉ ra cách lme4gói dễ dàng xử lý rất nhiều hiệu ứng ngẫu nhiên (như gặp phải, ví dụ, trong đánh giá giáo dục). Kinh nghiệm của tôi (nhưng hạn chế) (SAS NLMIXED so với R lme4) xác nhận điểm đó: R không hề chậm hơn so với SAS khi áp dụng các mô hình IRT phức tạp và nó cũng xử lý các bộ di truyền dữ liệu lớn (nhờ triển khai C thông minh) .
chl

1

Sở thích của tôi là Python và có lẽ là Java. Đầu tiên, chúng là ngôn ngữ lập trình thực sự. Thứ hai, chúng là những ngôn ngữ phổ biến nhất (TIOBE Index). Bạn cũng có thể chuyển đổi giữa các ngôn ngữ này bằng một số ngôn ngữ script. Trước đây, tôi sử dụng nền tảng DMelt http://jwork.org/dmelt/ để thực hiện các tính toán thống kê và tôi rất ấn tượng với đồ họa trong 2D và 3D, có thể dễ dàng đạt được cho các bài báo chuyên nghiệp. Gói R không gây ấn tượng với tôi về đồ họa.


2
Điều này không giải quyết câu hỏi của ngôn ngữ phổ biến nhất cho suy luận thống kê. Chủ yếu là về sở thích cá nhân của bạn với đề cập đến các ngôn ngữ lập trình phổ biến là gì.
Nick Cox
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.