SW-PRODUCT/개발-데이터분석

[jupyter] 버거킹 분석 인터넷에 올라옴.

굴돌 2016. 1. 27. 12:49



http://nbviewer.jupyter.org/gist/hyeshik/cf9f3d7686e07eedbfda?revision=6



loess smoothing 곡선을 그려준것이 매우 유효해보인다.



import rpy2.robjects as ro


def loess_fit(x, y, px=None, model=None, alpha=0.5):

    if model is None:

        model = ro.r('y ~ x')


    if px is None:

        px = np.linspace(min(x), max(x), 22)[1:-1]


    fitframe = ro.DataFrame({'x': ro.FloatVector(x), 'y': ro.FloatVector(y)})

    loessmodel = ro.r.loess(model, fitframe, span=alpha)


    predframe = ro.DataFrame({'x': ro.FloatVector(px)})

    predy = ro.r.predict(loessmodel, predframe)

    preddata = [(x, predy[i]) for i, x in enumerate(px)]


    return np.array(preddata).transpose()


lotteria_trend = loess_fit(np.log10(bgt['density']), lotteria_to_random)

BK_trend = loess_fit(np.log10(bgt['density']), BK_to_random)

mcdonalds_trend = loess_fit(np.log10(bgt['density']), mcdonalds_to_random)