99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁數(shù)據(jù)分析教程數(shù)據(jù)分析師教程《統(tǒng)計學(xué)極簡入門》第5節(jié) 假設(shè)檢驗
數(shù)據(jù)分析師教程《統(tǒng)計學(xué)極簡入門》第5節(jié) 假設(shè)檢驗
2024-10-09
收藏

5. 假設(shè)檢驗

久經(jīng)考場的你肯定對于很多概念類題目里問到的 “區(qū)別和聯(lián)系” 不陌生,與之類似,在統(tǒng)計領(lǐng)域要研究的是數(shù)據(jù)之間的區(qū)別和聯(lián)系 ,也就是差異性分析相關(guān)性分析。本節(jié)我們重點關(guān)注數(shù)據(jù)的差異性分析。

我們知道,比較兩個數(shù)之間的大小,要么前后兩者求差,要么求比。差值大于零說明前者大于后者。比值大于1說明分子大于分母。

那么如何比較兩組數(shù)據(jù)的差異性呢?大道至簡,其實和上面原理類似

我們先從簡單的看起,先比較一組數(shù)和一個給定數(shù)的差異,即,單個總體的差異性分析:

單個總體的假設(shè)檢驗

常見的單個總體差異性的假設(shè)檢驗分為3個類型:均值、比例、方差

一個總體均值的假設(shè)檢驗 (指定值和樣本均值)

顧名思義,就是檢驗指定值與樣本均值的差異,按是否已知可以分2種情況:

已知的情況: 檢驗

接下來我們用代碼舉例實現(xiàn)一下你就明白怎么用了:

例5.1 檢驗一批廠家生產(chǎn)的紅糖是否夠標(biāo)重

監(jiān)督部門稱了50包標(biāo)重500g的紅糖,均值是498.35g,少于所標(biāo)的500g。對于廠家生產(chǎn)的這批紅糖平均起來是否夠份量,需要統(tǒng)計檢驗。

分析過程: 由于廠家聲稱每袋500g,因此原假設(shè)為總體均值等于500g(被懷疑對象總是放在零假設(shè))。而且由于樣本均值少于500g(這是懷疑的根據(jù)),把備擇假設(shè)設(shè)定為總體均值少于500g (上面這種備選假設(shè)為單向不等式的檢驗稱為單側(cè)檢驗,而備選假設(shè)為不等號“”的稱為雙側(cè)檢驗,后面會解釋)

于是我們有了原假設(shè)和備擇假設(shè)

:

引入相關(guān)庫、讀取數(shù)據(jù)如下

from scipy import stats
import scipy.stats
import numpy as np
import pandas  as pd
import statsmodels.stats.weightstats

data = [493.01,498.83,494.16,500.39,497.63,499.72,493.41,498.97,501.94,503.45,497.47,494.19,500.99,495.81,499.63,494.91,498.90,502.43,491.34,497.50,505.95,496.56,501.66,492.02,497.68,493.48,505.40,499.21,505.84,499.41,505.65,500.51,489.53,496.55,492.26,498.91,496.65,496.38,497.16,498.91,490.98,499.97,501.21,502.85,494.35,502.96,506.21,497.66,504.66,492.11]

進行z檢驗:

z, pval = statsmodels.stats.weightstats.ztest(data, value=500,alternative = 'smaller')

# 'two-sided': 樣本均值與給定的總體均值不同
# 'larger' :   樣本均值小于給定總體均值
# 'smaller' :  樣本均值大于給定總體均值
print(z,pval)
# -2.6961912076362085 0.0035068696715304876

結(jié)論: 選擇顯著性水平 0.05 的話,P=0.0035 < 0.05, 故應(yīng)該拒絕原假設(shè)。具體來說就是該結(jié)果傾向于支持平均重量小于500g的備則假設(shè)。

未知的情況: 檢驗

例5.2 檢驗汽車實際排放是否低于其聲稱的排放標(biāo)準(zhǔn)

汽車廠商聲稱其發(fā)動機排放標(biāo)準(zhǔn)的一個指標(biāo)平均低于20個單位。在抽查了10臺發(fā)動機之后,得到下面的排放數(shù)據(jù): 17.0 21.7 17.9 22.9 20.7 22.4 17.3 21.8 24.2 25.4 該樣本均值為21.13.究竟能否由此認(rèn)為該指標(biāo)均值超過20?

分析過程: 由于廠家聲稱指標(biāo)平均低于20個單位,因此原假設(shè)為總體均值等于20個單位(被懷疑對象總是放在零假設(shè))。而且由于樣本均值大于20(這是懷疑的根據(jù)),把備擇假設(shè)設(shè)定為總體均值大于20個單位

于是我們有了原假設(shè)和備擇假設(shè)

:

讀取數(shù)據(jù)如下

data = [17.021.717.922.920.722.417.321.824.225.4]

進行t檢驗如下:

import scipy.stats
t, pval = scipy.stats.ttest_1samp(a = data, popmean=20,alternative = 'greater')
# 說明  
# a  為給定的樣本數(shù)據(jù)
# popmean 為給定的總體均值
# alternative 定義備擇假設(shè)。以下選項可用(默認(rèn)為“two-sided”):
# ‘two-sided’:樣本均值與給定的總體均值(popmean)不同
# ‘less’:樣本均值小于給定總體均值(popmean)
# ‘greater’:樣本均值大于給定總體均值(popmean)

print(t, pval)

# '''
# P= 0.004793 < 5%, 拒絕原假設(shè),接受備擇假設(shè)樣本
# '''

結(jié)論: 選擇顯著性水平 0.01 的話,P=0.1243 > 0.05, 故無法拒絕原假設(shè)。具體來說就是該結(jié)果無法支持指標(biāo)均值超過20的備則假設(shè)。

一個總體比例的假設(shè)檢驗(指定比例和樣本比例)

例5.3 檢驗高爾夫球場女性球員比例是否因促銷活動而升高

某高爾夫球場去年打球?????????的人當(dāng)中有20%是女性,為了增加女性球員的比例,該球場推出了一項促銷活動來吸引更多的女性參加高爾夫運動,在活動實施了1個月后,球場的研究者想通過統(tǒng)計分析研究確定高爾夫球場的女性球員比例是否上升,收集到了400個隨機樣本,其中有100是女性

分析過程: 由于研究的是女性球員所占的比例是否上升,因此選擇上側(cè)檢驗比較合適,備擇假設(shè)是比例大于20%

:

方法1:用statsmodels.stats.proportion里面的proportions_ztest函數(shù)計算(推薦)

import numpy as np
from statsmodels.stats.proportion import proportions_ztest
count = 100
nobs = 400
p_0 = 0.2
p_bar = count/nobs
p_0 = 0.2
n = 400
# 執(zhí)行單一樣本比例檢驗 statsmodels.stats.proportion.proportions_ztest
z_statistic, p_value = proportions_ztest(count, nobs, value = p_0,alternative='larger',prop_var = value)
# 注:statsmodels.stats.proportion.proportions_ztest 的函數(shù)有幾個問題:講在第八節(jié)之后說明,感興趣的讀者請持續(xù)關(guān)注
# 打印結(jié)果
print("z統(tǒng)計量:", z_statistic)
print("p值:", p_value)
#z統(tǒng)計量: 2.4999999999999996
#p值: 0.006209665325776138

方法2 用手動方式計算

count = 100
nobs = 400
p_0 = 0.2

p_bar = count/nobs
p_0 = 0.2
n = 400
def calc_z_score(p_bar, p_0, n):
    z = (p_bar - p_0) / (p_0 * (1 - p_0) / n)**0.5
    return z

z = calc_z_score(p_bar, p_0, n)
p = stats.norm.sf(z)

# 打印結(jié)果
print("z統(tǒng)計量:", z)
print("p值:", p)
# z統(tǒng)計量: 2.4999999999999996
# p值: 0.006209665325776138

結(jié)論: 選擇顯著性水平 0.05 的話,P=0.0062 < 0.05, 拒絕原假設(shè)。具體來說就是該結(jié)果支持特定的促銷活動能夠提升該球場女性運動員比例的備則假設(shè)。

一個總體方差假設(shè)檢驗(指定方差和樣本方差

import numpy as np
from scipy import stats

def chi2test(sample_var, sample_num,sigma_square,side, alpha=0.05):
    '''
    參數(shù):
    sample_var--樣本方差
    sample_num--樣本容量
    sigma_square--H0方差
    返回值:
    pval
    '
''
    chi_square =((sample_num-1)*sample_var)/(sigma_square)
    p_value = None
    if side == 'two-sided':
        p = stats.chi2(df=sample_num-1).cdf(chi_square)
        p_value = 2*np.min([p, 1-p])
    elif side == 'less':
        p_value = stats.chi2(df=sample_num-1).cdf(chi_square)
    elif side == 'greater':
        p_value = stats.chi2(df=sample_num-1).sf(chi_square)
    return chi_square,p_value

例5.4 檢驗公交車到站時間的方差是否比規(guī)定標(biāo)準(zhǔn)大

某市中心車站為規(guī)范化提升市民對于公交車到站時間的滿意度,對于公交車的到站時間管理做了規(guī)定,標(biāo)準(zhǔn)是到站時間的方差不超過4。為了檢驗時間的到站時間的方差是否過大,隨機抽取了24輛公交車的到站時間組成一個樣本,得到的樣本方差,假設(shè)到站時間的總體分布符合正態(tài)分布,請分析總體方差是否過大。

分析過程: 由于研究的是方差是否過大,因此選擇上側(cè)檢驗比較合適,備擇假設(shè)是方差大于4

于是我們有了原假設(shè)和備擇假設(shè)

:

chi_square,p_value = chi2test(sample_var = 4.9, sample_num = 24, sigma_square = 4,side='greater')

print("p值:", p_value)
# p值: 0.2092362676676498

結(jié)論: 選擇顯著性水平 0.05 的話,P=0.2092 > 0.05, 無法拒絕原假設(shè)。具體來說就是該結(jié)果不支持方差變大的備則假設(shè)。

例5.5 檢驗?zāi)晨荚囍行纳夘}庫后考生分?jǐn)?shù)的方差是否有顯著變化

某數(shù)據(jù)分析師認(rèn)證考試機構(gòu)CDA考試中心,歷史上的持證人考試分?jǐn)?shù)的方差,現(xiàn)在升級了題庫,該考試中心希望新型考題的方差保持在原有水平上,為了研究該問題,收集到了30份新考題的考分組成的樣本,樣本方差,在 的顯著性水平下進行假設(shè)檢驗。

分析過程:由于目標(biāo)是希望考試分?jǐn)?shù)的方差保持原有水平,因此選擇雙側(cè)檢驗

于是我們有了原假設(shè)和備擇假設(shè)

:

p_value = chi2test(sample_var = 162, sample_num = 30, sigma_square = 100,side='two-sided')

print("p值:", p_value)
# p值: 0.07213100536907469

結(jié)論: 選擇顯著性水平 0.05 的話,P=0.0721 > 0.05, 故無法拒絕原假設(shè)。具體來說就是不支持方差發(fā)生了變化的備則假設(shè)。

兩個總體的假設(shè)檢驗

常見的兩總體差異性的假設(shè)檢驗也分3個類型:均值、比例、方差

兩總體均值之差的假設(shè)檢驗(獨立樣本)

例5.6(數(shù)據(jù):drug.txt) 檢驗?zāi)乘幬镌趯嶒灲M的指標(biāo)是否低于對照組

為檢測某種藥物對情緒的影響,對實驗組的100名服藥者和對照組的150名非服藥者進行心理測試,得到相應(yīng)的某指標(biāo)。需要檢驗實驗組指標(biāo)的總體均值是否大于對照組的指標(biāo)的總體均值。這里假定兩個總體獨立地服從正態(tài)分布。相應(yīng)的假設(shè)檢驗問題為:

分析過程:由于目標(biāo)是檢驗實驗組指標(biāo)的總體均值是否大于對照組的指標(biāo)的總體均值,因此選擇上側(cè)檢驗

于是我們有了原假設(shè)和備擇假設(shè)

:

data = pd.read_table("./t-data/drug.txt",sep = ' ')
data.sample(5)
ah id
4.4 2
6.8 2
9.6 2
4.8 2
13.2 1
a = data[data['id']==1]['ah']
b = data[data['id']==2]['ah']
'''
H0: 實驗組的均值等于對照組
H1: 實驗組的均值大于對照組

'''

t, pval = scipy.stats.ttest_ind(a,b,alternative = 'greater')
print(t,pval)
# 0.9109168350628888 0.18161186154576608

結(jié)論: 選擇顯著性水平 0.05 的話,p = 0.1816 > 0.05,無法拒絕H0,具體來說就是該結(jié)果無法支持實驗組均值大于對照組的備則假設(shè)。

兩總體均值之差的假設(shè)檢驗(配對樣本)

例5.7(數(shù)據(jù): diet.txt) 檢驗減肥前后的重量是否有顯著性差異(是否有減肥效果)

這里有兩列50對減肥數(shù)據(jù)。其中一列數(shù)據(jù)(變量名before)是減肥前的重量,另一列(變量名after)是減肥后的重量(單位: 公斤),人們希望比較50個人在減肥前和減肥后的重量。

分析過程:這里不能用前面的獨立樣本均值差的檢驗,這是因為兩個樣本并不獨立。每一個人減肥后的重量都和自己減肥前的重量有關(guān),但不同人之間卻是獨立的,所以應(yīng)該用配對樣本檢驗。同時,由于研究的是減肥前后的重量變化,期望減肥前的重量大于減肥后的重量,所以備擇假設(shè)是期望減肥前的重量大于減肥后的重量

于是我們有了原假設(shè)和備擇假設(shè):

:

data = pd.read_table("./t-data/diet.txt",sep = ' ')
data.sample(5)
before after
58 50
76 71
69 65
68 76
81 75
a = data['before']
b = data['after']
stats.ttest_rel(a, b,alternative = 'greater')
# Ttest_relResult(statistic=3.3550474801424173, pvalue=0.000769424325484219)

結(jié)論 選擇顯著性水平 0.05 的話,p = 0.0007 < 0.05,故應(yīng)該拒絕原假設(shè)。具體來說就是該結(jié)果傾向支持減肥前后的重量之差大于零(即減肥前重量大于減肥后,也就是有減肥效果)的備則假設(shè)。

兩總體比例之差的假設(shè)檢驗

import numpy as np
import scipy.stats as stats

def proportion_test(p1, p2, n1, n2, side='two-sided'):
    """
    參數(shù):
    p1: 樣本1的比例
    p2: 樣本2的比例
    n1: 樣本1的數(shù)量
    n2: 樣本2的數(shù)量
    side: 假設(shè)檢驗的方向,可選'two-sided'(雙側(cè)檢驗,默認(rèn)), 'greater'(右側(cè)檢驗), 'less'(左側(cè)檢驗)

    返回值:
    z_value: Z統(tǒng)計量的值
    p_value: 對應(yīng)的p值
    "
""
    p = (p1 * n1 + p2 * n2) / (n1 + n2)
    se = np.sqrt(p * (1 - p) * (1 / n1 + 1 / n2))
    z_value = (p1 - p2) / se

    if side == 'two-sided':
        p_value = 2 * (1 - stats.norm.cdf(np.abs(z_value)))
    elif side == 'greater':
        p_value = 1 - stats.norm.cdf(z_value)
    elif side == 'less':
        p_value = stats.norm.cdf(z_value)
    else:
        raise ValueError("Invalid side value. Must be 'two-sided', 'greater', or 'less'.")

    return z_value, p_value

例5.8 檢驗不同保險客戶的索賠率是否存在差異

某保險公司抽取了單身與已婚客戶的樣本,記錄了他們在一段數(shù)據(jù)內(nèi)的索賠次數(shù),計算了索賠率,現(xiàn)在需要檢驗兩種保險客戶的索賠率是否存在差異

分析過程:由于目標(biāo)比例是否有差異,因此選擇比例之差的雙側(cè)檢驗

于是我們有了原假設(shè)和備擇假設(shè)

:

p1 = 0.14
p2 = 0.09
n1 = 250
n2 = 300

z_value, p_value = proportion_test(p1, p2, n1, n2, side='two-sided')
# 選擇雙側(cè)檢驗 alternative = 'two-sided'

print("Z_value:", z_value)
print("p_value:", p_value)
# Z_value: 1.846189280616294
# p_value: 0.0648647268570739

結(jié)論 選擇顯著性水平 0.05 的話,p = 0.0648 > 0.05,故應(yīng)該拒絕原假設(shè)。具體來說就是該結(jié)果傾向支持兩種保險客戶的索賠率存在差異的備則假設(shè)。

兩總體方差之比的假設(shè)檢驗

import numpy as np
from scipy import stats
def f_test_by_s_square(n1, n2, s1_square,s2_square, side ='two-sided'):
    """
    n1 :樣本1的數(shù)量;n2 :樣本2的數(shù)量
    s1_square:樣本1的方差;s2_square:樣本2的方差
    # F_value :F統(tǒng)計量的值;# p_value :對應(yīng)的p值
    "
""
    F_value = s1_square/s2_square
    F = stats.f(dfn = n1-1, dfd = n2-1)
    if side=='two-sided':
        print("two-sided")
        p_value = 2*min(F.cdf(F_value), 1-F.cdf(F_value))
        return F_value,p_value
    elif  side=='greater':
        print("greater")
        p_value = 1-F.cdf(F_value)
        return F_value,p_value

例5.9 檢驗不同公交公司的校車到達(dá)時間的方差是否有差異

某學(xué)校的校車合同到期,先需要在A、B兩個校車供應(yīng)公司中選擇一個,才有到達(dá)時間的方差作為衡量服務(wù)質(zhì)量的標(biāo)準(zhǔn),較低方差說明服務(wù)質(zhì)量穩(wěn)定且水平較高,如果方差相等,則會選擇價格更低的公司,,如果方差不等,則優(yōu)先考慮方差更低的公司。 現(xiàn)收集到了A公司的26次到達(dá)時間組成一個樣本,方差68,B公司16次到達(dá)時間組成一個樣本,方差是30,請檢驗AB兩個公司的到達(dá)時間方差。

分析過程:由于目標(biāo)是希望的方差保持原有水平,因此選擇雙側(cè)檢驗。兩總體方差之比用F檢驗,將方差較大的A視為總體1

于是我們有了原假設(shè)和備擇假設(shè)

:

f_statistic , p_value= f_test_by_s_square(n1=26, n2=16,s1_square=78,s2_square=20,side='two-sided')
# 選擇雙側(cè)檢驗所以side='two-sided'
# 打印檢驗結(jié)果
print("F statistic:", f_statistic)
print("p-value:", p_value)
#two-sided
#F statistic: 3.9
#p-value: 0.00834904415829052

結(jié)論 選擇顯著性水平 0.05 的話,p = 0.0083 < 0.05,故拒絕原假設(shè)。結(jié)果傾向支持AB兩個公司的到達(dá)時間方差存在差異的備則假設(shè)。

例5.10 檢驗修完P(guān)ython課程的學(xué)生是否比修完數(shù)據(jù)庫課程的學(xué)生考CDA的成績方差更大

某高校數(shù)據(jù)科學(xué)專業(yè)的學(xué)生,修完一門數(shù)據(jù)庫課程的41名學(xué)生考CDA的方差,修完P(guān)ython課程的31名學(xué)生考CDA的方差,這些數(shù)據(jù)是否表明,修完數(shù)據(jù)庫的學(xué)生要比修完P(guān)ython的學(xué)生CDA成績的方差更大?

分析過程:由于目標(biāo)是希望修完P(guān)ython的學(xué)生CDA成績的方差更大,因此選擇上側(cè)檢驗。兩總體方差之比用F檢驗,將方差較大的數(shù)據(jù)庫課程的考試成績視為總體1,另一個視為總體2,于是我們有了原假設(shè)和備擇假設(shè)

:

f_statistic , p_value= f_test_by_s_square(n1=41, n2=31,s1_square=120,s2_square=80,side='greater')# 打印檢驗結(jié)果
# 選擇上側(cè)檢驗所以side='greater'
print("F statistic:", f_statistic)
print("p-value:", p_value)

結(jié)論 選擇顯著性水平 0.05 的話,p = 0.1256 > 0.05,故無法原假設(shè)。結(jié)果無法支持修完數(shù)據(jù)庫的學(xué)生要比修完P(guān)ython的學(xué)生CDA成績的方差更大的備則假設(shè)。

關(guān)于知識的學(xué)習(xí),你會發(fā)現(xiàn)有很多相似的邏輯,抓住問題的本質(zhì)去理解的話就沒那么復(fù)雜了,比如概念題里面的 區(qū)別和聯(lián)系 延伸到數(shù)據(jù)分析里的差異性和相關(guān)性;再比如計算機數(shù)據(jù)結(jié)構(gòu)里的 樹、森林、網(wǎng)絡(luò)機器學(xué)習(xí)里面的決策樹、隨機森林、神經(jīng)網(wǎng)絡(luò);再比如從 互聯(lián)網(wǎng)、區(qū)塊鏈到元宇宙,都是想通過技術(shù)的手段去刻畫客觀世界;算法應(yīng)用里面的圖像識別、語音識別,替代人的眼耳鼻舌身意中的前二者去感知世界。抓住了問題的本質(zhì)不僅可以幫助我們理解知識,還可以將一個領(lǐng)域的知識或模型遷移到另一個領(lǐng)域加以創(chuàng)新和應(yīng)用。

假設(shè)檢驗背后的故事:統(tǒng)計學(xué)史上最著名的女士品茶

下期將為大家?guī)?a href="http://www.3lll3.cn/bigdata/205066.html" style="text-decoration: none; color: #1e6bb8; word-wrap: break-word; font-weight: bold; border-bottom: 1px solid #1e6bb8;">《統(tǒng)計學(xué)極簡入門》之方差分析

這里分享一個你一定用得到的小程序——CDA數(shù)據(jù)分析師考試小程序。 它是專為CDA數(shù)據(jù)分析認(rèn)證考試報考打造的一款小程序。可以幫你快速報名考試、查成績、查證書、查積分,通過該小程序,考生可以享受更便捷的服務(wù)。 掃碼加入CDA小程序,與圈內(nèi)考生一同學(xué)習(xí)、交流、進步!

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }