স্তন্যপায়ী স্টাডি () মাতলাব এসটিডি () কে আলাদা ফলাফল দেয় কেন?


88

আমি ম্যাটল্যাব কোডকে নম্পিতে রূপান্তরিত করার চেষ্টা করেছি এবং নির্ণয় করেছি যে স্ট্যান্ড ফাংশনের সাথে নিম্পির আলাদা ফলাফল রয়েছে।

মতলব মধ্যে

std([1,3,4,6])
ans =  2.0817

অলপ

np.std([1,3,4,6])
1.8027756377319946

এটা কি স্বাভাবিক? আমি কীভাবে এটি পরিচালনা করব?

উত্তর:


146

NumPy ফাংশনটি np.stdএকটি alচ্ছিক প্যারামিটার নেয় ddof: "ডেল্টা ডিগ্রি অফ ফ্রিডম"। ডিফল্টরূপে, এটি 01ম্যাটল্যাব ফলাফল পেতে এটি সেট করুন :

>>> np.std([1,3,4,6], ddof=1)
2.0816659994661326

আরও কিছু প্রসঙ্গ যুক্ত করতে, বৈকল্পের গণনায় (যার মধ্যে প্রমিত বিচ্যুতি বর্গমূল) আমরা সাধারণত আমাদের মানগুলির সংখ্যার দ্বারা ভাগ করি।

তবে আমরা যদি Nবৃহত্তর বিতরণ থেকে উপাদানগুলির একটি এলোমেলো নমুনা নির্বাচন করি এবং তারতম্য গণনা করি, তবে বিভাগ দ্বারা Nপ্রকৃত বৈকল্পিকের অবমূল্যায়ন হতে পারে। এটি ঠিক করার জন্য, আমরা যে সংখ্যাটি ভাগ করেছি ( স্বাধীনতার ডিগ্রিগুলি ) N(সাধারণত N-1) এর চেয়ে কম সংখ্যায় কম করতে পারি । ddofপরামিতি আমাদের পরিমাণ আমাদের নির্দিষ্ট করা দ্বারা ভাজক পরিবর্তন করতে পারবেন।

অন্যথায় বলা না হলে, NumPy তারতম্যের জন্য পক্ষপাতদুষ্ট অনুমানক গণনা করবে ( ddof=0, ভাগ করে N)। আপনি যদি পুরো বিতরণ (এবং এলোমেলোভাবে একটি বৃহত্তর বিতরণ থেকে নেওয়া হয়েছে এমন মানগুলির একটি উপসেট নয়) নিয়ে কাজ করছেন তবে আপনি এটি চান। যদি ddofপ্যারামিটারটি দেওয়া হয় তবে NumPy এর N - ddofপরিবর্তে ভাগ করে ।

ম্যাটল্যাবের ডিফল্ট আচরণ stdহ'ল বিভাজন দ্বারা নমুনা বৈকল্পিকের জন্য পক্ষপাত সংশোধন করা N-1। এটি স্ট্যান্ডার্ড বিচ্যুতিতে পক্ষপাতের কিছু (তবে সম্ভবত সমস্ত নয়) থেকে মুক্তি পেয়ে যায়। আপনি যদি কোনও বৃহত্তর বিতরণের এলোমেলো নমুনায় ফাংশনটি ব্যবহার করেন তবে এটি আপনি যা চান তা সম্ভবত হতে পারে।

@Hbederts এর চমৎকার উত্তরটি আরও গাণিতিক বিশদ দেয়।


4
আমি std([1 3 4 6],1)মাতলাব এ এটি যোগ করব, এটি নম্পপির ডিফল্টের সমান np.std([1,3,4,6])। মতলব এবং নুমপাইয়ের ডকুমেন্টেশনে এগুলির সমস্ত পরিষ্কারভাবে ব্যাখ্যা করা হয়েছে, সুতরাং আমি দৃ strongly়ভাবে সুপারিশ করি যে ওপি ভবিষ্যতে সেগুলি পড়তে ভুলবেন না।
হর্চলার

এক পর্যায়ে এই স্ট্যান্ডার্ডটি পরিবর্তিত হয়েছে: np.std () = np.std (ddof = 1), যদিও ডকুমেন্টেশন বলে যে np.std () এর ddof = 0 এ ডিফল্ট হওয়া উচিত ...
কলিনম্যাক

61

স্ট্যান্ডার্ড বিচ্যুতিটি হ'ল বৈকল্পিকের বর্গমূল। একটি এলোমেলো ভেরিয়েবলের বৈকল্পিক Xহিসাবে সংজ্ঞায়িত করা হয়

বৈকল্পিক সংজ্ঞা

বৈকল্পিক জন্য একটি অনুমানক তাই হবে

পক্ষপাতদুষ্ট অনুমানকারী

যেখানে নমুনা গড়নমুনা মানে বোঝায়। এলোমেলোভাবে বাছাই করার জন্য একাদশ, এটি দেখানো যেতে পারে যে এই অনুমানকারীটি আসল ভিন্নতায় রূপান্তরিত করে না, তবে

নিরপেক্ষ অনুমানক

আপনি যদি এলোমেলোভাবে নমুনাগুলি নির্বাচন করেন এবং নমুনার গড় এবং বৈচিত্রটি অনুমান করেন তবে আপনাকে একটি সংশোধিত (পক্ষপাতহীন) অনুমানকারী ব্যবহার করতে হবে

নিরপেক্ষ অনুমানক

যা রূপান্তরিত হবে সিগমা স্কোয়ার। সংশোধন শব্দটিকে n-1বেসেলের সংশোধনও বলা হয়।

এখন ডিফল্টরূপে, ম্যাটল্যাবস সংশোধন শব্দটির সাথে নিরপেক্ষ অনুমানক stdগণনা করে । NumPy তবে (যেমন @ajcr ব্যাখ্যা) গণনা করে পক্ষপাতদুষ্ট ডিফল্টরূপে কোন সংশোধন শব্দটি সঙ্গে মূল্নির্ধারক। পরামিতিটি কোনও সংশোধন শর্ত নির্ধারণ করতে অনুমতি দেয় । এটি 1 এ সেট করে আপনি ম্যাটল্যাবের মতো একই ফলাফল পাবেন।n-1ddofn-ddof

একইভাবে, ম্যাটল্যাব একটি দ্বিতীয় পরামিতি যুক্ত করতে দেয় w, যা "ওজন স্কিম" নির্দিষ্ট করে। ডিফল্ট,, w=0সংশোধন শব্দটির ফলাফল দেয় n-1(পক্ষপাতহীন প্রাক্কলনকারী), তবে w=1কেবল n সংশোধন শব্দ হিসাবে ব্যবহৃত হয় (পক্ষপাতদুষ্ট অনুমানকারী)।


4
সংশোধন করা অনুমানের সূত্রে, n (যোগফলের মধ্যে) গুণকটি উপস্থিত হওয়া উচিত নয়।
ফ্রুনোবুলাক্স

4
বৈকল্পিক ক্ষেত্রে এন -1 পদটির পিছনে অন্তর্দৃষ্টি: আপনি ইতিমধ্যে আপনার নমুনাগুলিটি কী পরিমাণটি পরিবর্তন করতে পারবেন তা অনুমানের জন্য ব্যবহার করেছেন। এটি একটি পারস্পরিক সম্পর্ককে প্রবর্তন করে এবং তাই ddof হতে হবে 1.
ম্যাথিয়াস

@ ফ্রুনোবুলাক্স আমি উত্তরসূরিদের জন্য টাইপো স্থির করেছি। মূল সমীকরণে যা ঘটেছিল তা হ'ল উপরের সীমাটি যথাযথভাবে সরবরাহ করা হয়নি was বদলে nসঙ্কলন স্বরলিপি উপরের যাচ্ছে, এটা সমষ্টি ভিতরে গেলেন।
রায়রেং

5

লোকেরা যারা পরিসংখ্যান সহ দুর্দান্ত নয়, তাদের জন্য সরল গাইড হ'ল:

  • ddof=1আপনি যদি np.std()আপনার সম্পূর্ণ ডেটাসেট থেকে নেওয়া কোনও নমুনার জন্য গণনা করছেন তবে অন্তর্ভুক্ত করুন ।

  • ddof=0আপনি np.std()সম্পূর্ণ জনসংখ্যার জন্য গণনা করছেন কিনা তা নিশ্চিত করুন

সংখ্যাতে ঘটতে পারে এমন পক্ষপাতিত্বের পাল্লা দেওয়ার জন্য নমুনাগুলির জন্য ডিডিএফ অন্তর্ভুক্ত করা হয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.