AB-சோதனை பகுப்பாய்வின் போது, முன்கணிப்பு மாதிரிகளை உருவாக்குதல் அல்லது போக்குகளைக் கண்காணித்தல் போன்றவற்றின் போது, ஆய்வாளர்கள் பெரும்பாலும் தங்கள் பணியின் போது தரவுகளில் வெளியாட்களை சந்திக்கின்றனர். முடிவுகள் பொதுவாக மாதிரி சராசரியை அடிப்படையாகக் கொண்டவை, இது வெளிப்புறங்களுக்கு மிகவும் உணர்திறன் மற்றும் மதிப்பை வியத்தகு முறையில் மாற்றும். எனவே, சரியான முடிவை எடுக்க வெளியூர்களை நிர்வகிப்பது மிகவும் முக்கியம்.
அசாதாரண மதிப்புகளுடன் பணிபுரிய பல எளிய மற்றும் விரைவான அணுகுமுறைகளைக் கருத்தில் கொள்வோம்.
சராசரி வரிசை மதிப்பை முதன்மை அளவீடாகப் பயன்படுத்தி நீங்கள் பரிசோதனைப் பகுப்பாய்வை மேற்கொள்ள வேண்டும் என்று கற்பனை செய்து பாருங்கள். எங்கள் மெட்ரிக் பொதுவாக ஒரு சாதாரண விநியோகத்தைக் கொண்டுள்ளது என்று வைத்துக்கொள்வோம். மேலும், சோதனைக் குழுவில் உள்ள மெட்ரிக் விநியோகம் கட்டுப்பாட்டில் இருந்து வேறுபட்டது என்பதை நாங்கள் அறிவோம். வேறு வார்த்தைகளில் கூறுவதானால், கட்டுப்பாட்டில் உள்ள விநியோகத்தின் சராசரி 10, மற்றும் சோதனையில் 12. இரு குழுக்களிலும் நிலையான விலகல் 3 ஆகும்.
இருப்பினும், இரண்டு மாதிரிகளிலும் மாதிரி வழிமுறைகள் மற்றும் மாதிரி நிலையான விலகல் ஆகியவற்றை திசைதிருப்பும் வெளிப்புறங்கள் உள்ளன.
import numpy as np N = 1000 mean_1 = 10 std_1 = 3 mean_2 = 12 std_2 = 3 x1 = np.concatenate((np.random.normal(mean_1, std_1, N), 10 * np.random.random_sample(50) + 20)) x2 = np.concatenate((np.random.normal(mean_2, std_2, N), 4 * np.random.random_sample(50) + 1))
NB மெட்ரிக்கைக் கருத்தில் கொண்டால், இரு தரப்பிலிருந்தும் அவுட்லையர்கள் இருக்கலாம். உங்கள் மெட்ரிக் ஒரு பக்கத்திலிருந்து மட்டுமே வெளிப்புறங்களைக் கொண்டிருந்தால், அந்த நோக்கத்திற்காக முறைகளை எளிதாக மாற்றலாம்.
5% சதவீதத்திற்கு முன்பும் , 95% சதவீதத்திற்குப் பிறகும் அனைத்து அவதானிப்புகளையும் துண்டிப்பதே எளிதான முறையாகும். இந்த வழக்கில், நாங்கள் 10% தகவலை ஒரு கான் என இழந்துவிட்டோம். இருப்பினும், விநியோகங்கள் மிகவும் உருவாகின்றன, மேலும் மாதிரி தருணங்கள் விநியோக தருணங்களுக்கு அருகில் உள்ளன.
import numpy as np x1_5pct = np.percentile(x1, 5) x1_95pct = np.percentile(x1, 95) x1_cutted = [i for i in x1 if i > x1_5pct and i < x1_95pct] x2_5pct = np.percentile(x2, 5) x2_95pct = np.percentile(x2, 95) x2_cutted = [i for i in x2 if i > x2_5pct and i < x2_95pct]
குறிப்பிட்ட வரம்பிற்கு வெளியே உள்ள அவதானிப்புகளை விலக்குவது மற்றொரு வழி. குறைந்த பட்டையானது இடைப்பட்ட வரம்பில் 25% சதவிகிதம் கழித்தல் ஒன்றரைக்கு சமம், மேலும் உயர் பட்டையானது 75% சதவிகிதம் மற்றும் ஒரு பாதிக்கு சமம். இங்கே, நாம் 0.7% தகவலை மட்டுமே இழப்போம். விநியோகங்கள் ஆரம்பத்தை விட அதிகமாக உருவாகின்றன. மாதிரி தருணங்கள் விநியோக தருணங்களுக்கு இன்னும் சமமாக இருக்கும்.
import numpy as np low_band_1 = np.percentile(x1, 25) - 1.5 * np.std(x1) high_band_1 = np.percentile(x1, 75) + 1.5 * np.std(x1) x1_cutted = [i for i in x1 if i > low_band_1 and i < high_band_1] low_band_2 = np.percentile(x2, 25) - 1.5 * np.std(x2) high_band_2 = np.percentile(x2, 75) + 1.5 * np.std(x2) x2_cutted = [i for i in x2 if i > low_band_2 and i < high_band_2]
நாம் இங்கே கருத்தில் கொண்ட இரண்டாவது முறை ஒரு பூட்ஸ்ட்ராப் ஆகும். இந்த அணுகுமுறையில், சராசரியானது துணை மாதிரிகளின் சராசரி போன்று கட்டமைக்கப்பட்டுள்ளது. எங்கள் எடுத்துக்காட்டில், கட்டுப்பாட்டுக் குழுவில் சராசரி 10.35, மற்றும் சோதனைக் குழு 11.78 ஆகும். கூடுதல் தரவு செயலாக்கத்துடன் ஒப்பிடும்போது இது இன்னும் சிறந்த முடிவாகும்.
import pandas as pd def create_bootstrap_samples( sample_list: np.array, sample_size: int, n_samples: int ): # create a list for sample means sample_means = [] # loop n_samples times for i in range(n_samples): # create a bootstrap sample of sample_size with replacement bootstrap_sample = pd.Series(sample_list).sample(n = sample_size, replace = True) # calculate the bootstrap sample mean sample_mean = bootstrap_sample.mean() # add this sample mean to the sample means list sample_means.append(sample_mean) return pd.Series(sample_means) (create_bootstrap_samples(x1, len(x1), 1000).mean(), create_bootstrap_samples(x2, len(x2), 1000).mean())
சரியான முடிவை எடுப்பதற்கு வெளிப்புற கண்டறிதல் மற்றும் செயலாக்கம் ஆகியவை குறிப்பிடத்தக்கவை. இப்போது, குறைந்தபட்சம் மூன்று வேகமான மற்றும் நேரடியான அணுகுமுறைகள் பகுப்பாய்வுக்கு முன் தரவைச் சரிபார்க்க உதவும்.
இருப்பினும், கண்டறியப்பட்ட வெளிகள் அசாதாரண மதிப்புகளாகவும் புதுமை விளைவுக்கான அம்சமாகவும் இருக்கலாம் என்பதை நினைவில் கொள்வது அவசியம். ஆனால் அது வேறு கதை :)