본문 바로가기

Programing Language/Python

log scale fitting

반응형

scipy의 curve_fit을 이용하면 쉽게 할 수 있다.

 

def log_log_fit(func,x,y,**kwargs):
    def f_conv(x, a, b):
        return np.log(func(np.exp(x),a,b))
    
    log_x, log_y = np.log(x),np.log(y)
    
    return curve_fit(f_conv, log_x, log_y,**kwargs)

 

****2019.06.05 추가

 

python의 powerlaw 패키지를 이용하면 참 쉽다.

 

Aaron et al. 의 SIAM 2009논문을 제대로 안읽어봤지만, 여전히 다음과 같은 질문들이 남아있다.

 

Q1. log-binning을 할 때 bin 개수에 따라 PDF의 개형이 많이 달라진다. 적절한 bin 개수를 어떻게 찾을까?

 

Q2. 물론 Aaron의 수학적인 기법에 따른 fitting이 더 잘맞겠지만, scipy의 curve_fit으로 log_binning한 것이 눈으로 보았을 때 더 잘 맞는 이유를 모르겠다.

 

반응형