2016-07-16 3 views
1

私は公開されているデータセットを分析しています。サンフランシスコの税務目的のプロパティの評価(https://data.sfgov.org/Housing-and-Buildings/Historic-Secured-Property-Tax-Rolls/wv5m-vpq2)です。ファイル名は「Historic_Secured_Property_Tax_Rolls.csv」とすると、CSV fileとしてダウンロードできます。大きなデータセットでのnumpy polyfitの解釈

このファイルを使用して、ゼロ値を除いて、土地価値の年間成長率を計算しようとしています。データセットが非常に大きいので、プロットしようとするとエラーが発生するので、最初に、polyfitがどのように動作するかを理解することに頼っています。これはpために、以下の値が得

import pandas as pd 

# Read in data downloaded from https://data.sfgov.org/api/views/wv5m-vpq2/rows.csv?accessType=DOWNLOAD 
df = pd.read_csv('Historic_Secured_Property_Tax_Rolls.csv') 

df_nz = df[df['Closed Roll Assessed Land Value'] > 0] # Only consider non-zero Land Values 

p = np.polyfit(df_nz['Closed Roll Fiscal Year'], np.log(df_nz['Closed Roll Assessed Land Value']), 1) 

:私は「地価」列の自然対数の線形フィットを導き出すために、次のコードを使用しました

は「年度」列に対してプロット:私はそれを理解したよう

In [42]: p 
Out[42]: array([ 4.18802559e-02, -7.23804441e+01]) 

、線形フィットの傾きはp[1]で表現されなければなりません。しかし、これは年当たり-724%の成長率を示すはずである。しかし、それがp[0]だった場合、それはより妥当な年4.2%になります。

私は何とか結果を誤解していないかどうか、そして成長率が何とかp[0]の代わりにp[1]で表されるかどうかは疑問です。

+0

多くのデータインキュベータ? ;) –

+0

"挑戦的な質問については、以下のようにしてください。1.他人に援助を依頼せずに、自分で質問に答えてください。 –

答えて

4
Returns 
------- 
p : ndarray, shape (M,) or (M, K) 
    Polynomial coefficients, highest power first. If `y` was 2-D, the 
    coefficients for `k`-th data set are in ``p[:,k]``. 

これは4.2%ログ用語の係数であることを私に伝えます。

私の最初の反応は、平均値、中央値の成長率でなど

enter image description here

だけの思考

columns = ['Closed Roll Fiscal Year', 'Closed Roll Assessed Land Value'] 
df_ = df[columns].copy() 
df_.columns = ['Year', 'Value'] 
df_ = df_[df_.iloc[:, 1] > 0] 
df_['log_value'] = np.log(df_.Value) 

df_desc = df_.groupby('Year').log_value.describe() 

desc_cols = ['mean', '25%', '50%', '75%'] 

df_desc.unstack()[desc_cols].plot() 
を見ることであろう。

+0

ありがとうございましたpiRSquared、私はhttp://docs.scipy.org/doc/numpy/reference/generated/numpy.polyfit.htmlで初めてドキュメントを誤読したに違いありません。 –

関連する問題