Kredi Kartı Faizi

Google Colab'da çalıştırın Kaynağı GitHub'da görüntüle

Bir yıl sonra kredi kartınızın faiz oranını tahmin etmek istediğinizi varsayalım. Mevcut prime oranın %2 olduğunu ve kredi kartı şirketinizin sizden %10 artı prime ücret aldığını varsayalım. Mevcut ekonominin gücü göz önüne alındığında, Federal Rezerv'in faiz oranlarını artırma ihtimalinin artırmama ihtimalinden daha yüksek olduğuna inanıyorsunuz. Fed önümüzdeki on iki ay içinde sekiz kez toplanacak ve federal fon faiz oranını ya yüzde 0,25 artıracak ya da önceki seviyede bırakacak.

Kredi kartınızın on iki aylık dönem sonundaki faiz oranını modellemek için binom dağılımını kullanıyoruz. Spesifik olarak, aşağıdaki parametrelerle TensorFlow Olasılık Binom dağılım sınıfını kullanacağız: total_count = 8 (deneme veya toplantı sayısı), probs = {.6, .7, .8, .9}, yaklaşık tahmin aralığımız için Fed'in federal fon oranını her toplantıda %0,25 artırma olasılığı.

Bağımlılıklar ve Önkoşullar

TensorFlow Olasılık Kurulum ayarları

İçe Aktarmalar ve Genel Değişkenler (bu hücreyi çalıştırdığınızdan emin olun)

Olasılıkları Hesapla

12 aydaki olası kredi kartı faiz oranlarının olasılığını hesaplayınız.

# First we encode our assumptions.
num_times_fed_meets_per_year = 8.
possible_fed_increases = tf.range(
    start=0.,
    limit=num_times_fed_meets_per_year + 1)
possible_cc_interest_rates = 2. + 10. + 0.25 * possible_fed_increases 
prob_fed_raises_rates = tf.constant([0.6, 0.7, 0.8, 0.9])  # Wild guesses.

# Now we use TFP to compute probabilities in a vectorized manner.
# Pad a dim so we broadcast fed probs against CC interest rates.
prob_fed_raises_rates = prob_fed_raises_rates[..., tf.newaxis]
prob_cc_interest_rate = tfd.Binomial(
    total_count=num_times_fed_meets_per_year,
    probs=prob_fed_raises_rates).prob(possible_fed_increases)

TF Kodunu Yürüt

# Convert from TF to numpy.
[
    possible_cc_interest_rates_,
    prob_cc_interest_rate_,
    prob_fed_raises_rates_,
] = evaluate([
    possible_cc_interest_rates,
    prob_cc_interest_rate,
    prob_fed_raises_rates,
])

Sonuçları Görselleştirin

plt.figure(figsize=(14, 9))
for i, pf in enumerate(prob_fed_raises_rates_):
  plt.subplot(2, 2, i+1)
  plt.bar(possible_cc_interest_rates_,
          prob_cc_interest_rate_[i],
          color=TFColor[i],
          width=0.23,
          label="$p = {:.1f}$".format(pf[0]),
          alpha=0.6,
          edgecolor=TFColor[i],
          lw="3")
  plt.xticks(possible_cc_interest_rates_ + 0.125, possible_cc_interest_rates_)
  plt.xlim(12, 14.25)
  plt.ylim(0, 0.5)
  plt.ylabel("Probability of cc interest rate")
  plt.xlabel("Credit card interest rate (%)")
  plt.title("Credit card interest rates: "
            "prob_fed_raises_rates = {:.1f}".format(pf[0]));
  plt.suptitle("Estimates of credit card interest rates in 12 months.",
               fontsize="x-large",
               y=1.02)
  plt.tight_layout()

png