白黒料理人でも避けられないミシュランの呪い: Rで分析した物語

もしかして 白と黒の料理人:料理階級闘争をご覧になりましたか?参加者が白と黒に分かれ、緊張感あふれる料理対決を繰り広げます。 中にはミシュランの星を獲得したシェフも登場し、視聴者をワクワクさせました。
しかし、その輝く星の裏側には暗い影があることをご存知ですか? ミシュランの星は料理人にとって夢のような栄光をもたらしますが、時には重荷となって返ってくることもあります。そのため、人々は'ミシュランの星はミシュランの星の呪いと呼ぶこともあります。
今日はRを使ってミシュランの呪いについて説明します。 ミシュランの星を獲得したニューヨークのレストランのうち、40%が2019年までに廃業したという衝撃的な調査結果。があります。 白黒料理人のように夢を叶えようとした彼らがなぜこのような結果になったのか、データを通じてその秘密を掘り下げてみましょう。 ミシュランの星を受けたレストランの生存率を視覚的に分析し、Rコードを1行ずつ説明しながら一緒に分析してみましょう。
ミシュランの呪いとは?
ミシュランの星は単なる評価以上のものです。料理人はこの星を獲得するために多くの努力をしますが、その栄光を得た後も、終わりのないプレッシャーが彼らの肩を圧迫します。ミシュランの星を獲得した瞬間から、シェフとレストランはより多くの期待を受けるようになり、その期待に応えるためには、より多くのコストとプレッシャーが伴います。
ミシュランの星を獲得した後、食材費は上昇し、料理人はより高い賃金を要求され、さらに顧客の目線は限りなく高くなります。このような状況で生き残れないレストランは廃業の道を歩むことになります。 だから人々はこの星を「栄光」と呼ぶこともありますが、同時に「呪い」とも言われるのです。
Rでミシュランの呪いを可視化する
それでは、ミシュランの呪いが実際にどの程度影響しているのか、データで分析してみましょう。Rを活用して、ミシュランの星を獲得したレストランの生存率を可視化してみましょう。 この過程で使用したコードは一行一行詳しく説明するので、初心者の方でも簡単に理解できます!
# 必要なライブラリを呼び出します。
library(survival)
library(survminer)
# 2000年から2014年までミシュランの星を受けたレストランのデータを生成します。
# close_year: レストランが閉店した年、もし2019年まで営業している場合はNAで表示する。
data <- data.frame(
year = c(2000:2014)、
close_year = c(2007, NA, 2012, NA, 2013, 2014, NA, 2017, 2018, 2019, NA, NA, NA, 2019, NA, NA)
)
# レストランが何年営業していたかを計算する
# もし2019年まで開店している場合、2019年基準で運営期間を計算する
data$time_open <- ifelse(is.na(data$close_year), 2019 - data$year, data$close_year - data$year)
# レストランが閉店したかどうかを1と0で表示 (1:閉店、0:営業中)
data$status <- ifelse(is.na(data$close_year), 0, 1)実は、できるだけEconomistの記事の原データを探しましたが、見つからなかったので、このレベルでしか視覚化できないことをご了承ください。
コードの説明:
data.frame: まず、2000年から2014年の間にミシュランの星を獲得したレストランのデータを生成します。close_yearはそのレストランが閉店した年を表し、2019年まで営業しているのはNAで処理します。time_openです:レストランが何年営業しているかを計算するコードです。2019年まで営業している場合、2019年を基準に営業期間を計算します。ステータス:廃業の有無を表す変数です。廃業した場合は1、まだ営業中の場合は0で表示されます。
上記で仮想的に生成したデータを確認すると、以下のように確認することができます。


# Kaplan-Meier 生存モデルを適用して生存曲線を生成します。
fit <- survfit(Surv(time_open, status) ~ 1, data = data)
# 生存曲線を可視化(データを明示的に渡す)
ggsurvplot(fit、
data = data, # ggsurvplotにデータを渡します。
conf.int = TRUE, #信頼区間を表示する
xlab = "ミシュランの星を獲得してから経過した年", # x軸ラベル
ylab = "営業しているレストランの割合", # y軸ラベル
title = "ミシュランの星を獲得したレストランの生存曲線", # グラフタイトル
palette = "blue"、#グラフの色
risk.table = TRUE, # 各年度のリスクテーブルを追加します。
ggtheme = theme_minimal()) # ミニマリストテーマの適用コードの説明:
- Kaplan-Meierモデルを使用して、レストランの生存曲線を描きます。このサバイバルカーブは、ミシュランの星を獲得してから何年後にレストランが生き残ったかを視覚化します。
ggsurvplot: 生存曲線を視覚化する関数です。conf.int = TRUEは信頼区間を表示します、risk.tableを通じて、各年度の残されたレストランの数をさらに表示します。パレット = "青": 青色を使用してグラフをより見やすくしました。
可視化結果の説明:
1. サバイバルカーブの概要:
- 青い線は、2000年から2014年までのミシュランの星を獲得したレストランの生存曲線を示しています。
- x軸は、レストランがミシュランの星を獲得してから経過した年数を示しています。
- y軸はまだ営業しているレストランの割合を表しています。
2. 曲線の主なポイント:
- 曲線は0年の時点で100%(または1.0)から始まりますが、これはすべてのレストランがミシュランの星を獲得した直後は営業していたことを意味します。
- 時間が経つにつれて曲線が階段状に下がっていくのは、その時点で一部のレストランが廃業したことを示しています。
- 5年、7年などの時点で曲線が急激に下がり、その時点で多くのレストランが閉店したことを意味します。
- グラフの最後(約17年)になると、約25%のレストランだけが営業を維持しています。
3. グレーシェード(信頼区間):
- 青い線の周りのグレーの色合いは信頼区間を示しています。
- これは生存確率の不確実性を意味し、陰影が広いほど、その確率の不確実性が大きいことを示します。
- 時間が経つにつれて信頼区間が広がります。これは、時間が経つにつれてデータの不確実性が大きくなることを意味します。
4. 危険にさらされている数(Number at Risk)表:
- グラフの下部に「Number at risk」という表があります。
- これは、各時点でまだ営業しているレストランの数を示しています。
- 例えば、0年時点では15店舗がありましたが、10年後には7店舗しか残っていませんでした。
- 17.5年経つと、1店舗だけが営業中のままです。
5. 曲線解析:
- 曲線が急激に下降する部分は、多数のレストランが廃業した時点を意味します。
- 10年以降は曲線がゆっくりと下がり、その時点から廃業するレストランの数は減りますが、それでも廃業が発生していることを示しています。
- 最終的に25%程度のレストランだけが約17.5年後も営業を維持しているという結果を示しています。
ミシュランの呪い、その重い現実
生存曲線から見たミシュランの星の結果は明らかです。ミシュランの星を受けたレストランの生存率は年を追うごとに急激に低下し、多くのレストランが閉店することを確認することができます。 特に ニューヨークでは、ミシュランの星を獲得したレストランの40%が2019年まで廃業していたという衝撃的な事実。があります。
これだけ多くのレストランが廃業する理由は何でしょうか? それは、まさに 顧客の期待の高まりとそれに伴うコスト上昇 なぜなら、ミシュランの星を獲得した店であれば、顧客は当然、最高のサービスと最高の食材を期待し、レストランはその期待に応えるために絶え間なく投資をしなければなりません。 しかし、その過程で増大する経済的負担に耐えられず、最終的には廃業してしまうのです。
ミシュランの星を獲得することは、料理人にとって最高の栄誉かもしれませんが、同時にそれは重い責任を負うことでもあります。 そこで私たちはこの現象を「ミシュランの呪い」と呼んでいます。この呪いから逃れることができる料理人は多くありません。 白黒料理人に出演したシェフの中でも、そのようなケースを垣間見ることができます。
まとめ:黒と白のシェフも避けられないミシュランの呪い
今日はRでミシュランの呪いについて分析してみましたが、その結果は驚くべきものでした。ミシュランの星は栄誉ですが、その裏には重い負担と高い期待がつきまとい、そのために多くのレストランが閉店してしまいます。データで確認した結果、この呪いは神話ではなく現実であることがわかりました。
もし皆さんもミシュランの呪いについてもっと知りたいなら、今日紹介したRコードを実行してみてください。あなただけのデータで分析してみるのも良い経験になると思います!そして、今日紹介したKaplan-Meierモデルが簡単に理解できないので、別のポストでこの内容を簡単に紹介します。
#全Rコード
全体のコードをもう一度お見せして、この投稿を終わります。
# 必要なライブラリを呼び出します。
library(survival)
library(survminer)
# 2000年から2014年までミシュランの星を獲得したレストランのデータを生成します。
# close_year: レストランが閉店した年、2019年まで営業している場合はNAで表示する。
data <- data.frame(
year = c(2000:2014)、
close_year = c(2007, NA, 2012, NA, 2013, 2014, NA, 2017, 2018, 2019, NA, NA, NA, 2019, NA, NA)
)
# レストランが何年間営業していたかを計算する
# 2019年まで営業している場合、2019年を基準に営業期間を計算します。
data$time_open <- ifelse(is.na(data$close_year), 2019 - data$year, data$close_year - data$year)
# レストランが閉店したかどうかを1と0で表示 (1:閉店、0:営業中)
data$status <- ifelse(is.na(data$close_year), 0, 1)
# Kaplan-Meier生存モデルを適用して生存曲線を生成します。
fit <- survfit(Surv(time_open, status) ~ 1, data = data)
# 生存曲線を可視化(データを明示的に渡す)
ggsurvplot(fit、
data = data, # ggsurvplotにデータを渡します。
conf.int = TRUE, # 信頼区間を表示する
xlab = "ミシュランの星を獲得してから経過した年", # x軸ラベル
ylab = "営業しているレストランの割合", # y軸ラベル
title = "ミシュランの星を獲得したレストランの生存曲線", # グラフタイトル
palette = "blue"、#グラフの色
risk.table = TRUE, # 各年度のリスクテーブルを追加します。
ggtheme = theme_minimal()) # ミニマリストテーマの適用





