Ecoer Logo

@jfaucett

25

Engineer, Developer, Scientist

steemit.com/@jfaucett
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.074USD
STEEM
0.001STEEM
SBD
0.077SBD
Effective Power
5.007SP
├── Own SP
0.645SP
└── Incoming Deleg
+4.362SP

Detailed Balance

STEEM
balance
0.001STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.645SP
Delegated Out
0.000SP
Delegation In
4.362SP
Effective Power
5.007SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.077SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.001 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "1049.202988 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7094.456818 VESTS",
  "sbd_balance": "0.077 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namejfaucett
id543569
rank374,769
reputation269414403
created2017-12-31T09:54:54
recovery_accountsteem
proxyNone
post_count3
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-01-20T19:07:18
last_root_post2018-01-20T19:07:18
last_vote_time2017-12-31T11:33:57
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.001 STEEM
savings_balance0.000 STEEM
sbd_balance0.077 SBD
savings_sbd_balance0.000 SBD
vesting_shares1049.202988 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7094.456818 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update2018-01-20T20:30:12
last_account_update2018-01-20T20:30:12
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 543569,
  "name": "jfaucett",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5f75kuarAf6wGNGEb38CXkY1UHm8XDpMd66scow4kWVjd4hYxS",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7BrsWv1bfNSwzhy4xwKLXg2Kk7ijcJrCeZb41Wod9FNP2kqT11",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5AjLUfZYsRDarosFNCB2okqPtoen3KtU6DxVThHYRRLEZstS6m",
        1
      ]
    ]
  },
  "memo_key": "STM7G2xb1ayjkQtTGbWgi7rDj7yALm2DsN2YUBBjiKHA3vLUiFevQ",
  "json_metadata": "{\"profile\":{\"profile_image\":\"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200\",\"name\":\"jfaucett\",\"about\":\"Engineer, Developer, Scientist\"}}",
  "posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200\",\"name\":\"jfaucett\",\"about\":\"Engineer, Developer, Scientist\"}}",
  "proxy": "",
  "last_owner_update": "2018-01-20T20:30:12",
  "last_account_update": "2018-01-20T20:30:12",
  "created": "2017-12-31T09:54:54",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 3,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779069114
  },
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779069114
  },
  "voting_power": 0,
  "balance": "0.001 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.077 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "2018-06-16T23:16:21",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "1049.202988 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7094.456818 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 0,
  "posting_rewards": 24,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-01-20T19:07:18",
  "last_root_post": "2018-01-20T19:07:18",
  "last_vote_time": "2017-12-31T11:33:57",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": 269414403,
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 374769
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.362 SP to @jfaucett
2026/05/18 01:51:54
delegateejfaucett
delegatorsteem
vesting shares7094.456818 VESTS
Transaction InfoBlock #106145372/Trx 9acce456a915e5a2de73cca73e59d04e74249429
View Raw JSON Data
{
  "block": 106145372,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "7094.456818 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2026-05-18T01:51:54",
  "trx_id": "9acce456a915e5a2de73cca73e59d04e74249429",
  "trx_in_block": 1,
  "virtual_op": 0
}
steemdelegated 2.694 SP to @jfaucett
2026/05/12 10:22:48
delegateejfaucett
delegatorsteem
vesting shares4382.246413 VESTS
Transaction InfoBlock #105983543/Trx 79ec188160f605e2ee2edf14efa751e09a51dcb0
View Raw JSON Data
{
  "block": 105983543,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "4382.246413 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2026-05-12T10:22:48",
  "trx_id": "79ec188160f605e2ee2edf14efa751e09a51dcb0",
  "trx_in_block": 0,
  "virtual_op": 0
}
steemdelegated 4.369 SP to @jfaucett
2026/04/26 01:10:12
delegateejfaucett
delegatorsteem
vesting shares7106.972574 VESTS
Transaction InfoBlock #105512978/Trx db758e2c4e4b308ef9b40f2c058b90d771c51c0c
View Raw JSON Data
{
  "block": 105512978,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "7106.972574 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2026-04-26T01:10:12",
  "trx_id": "db758e2c4e4b308ef9b40f2c058b90d771c51c0c",
  "trx_in_block": 1,
  "virtual_op": 0
}
steemdelegated 2.720 SP to @jfaucett
2026/01/23 12:07:54
delegateejfaucett
delegatorsteem
vesting shares4423.793232 VESTS
Transaction InfoBlock #102857001/Trx e2eced9430eca542e45fbd6355d1efd80081e5d0
View Raw JSON Data
{
  "block": 102857001,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "4423.793232 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2026-01-23T12:07:54",
  "trx_id": "e2eced9430eca542e45fbd6355d1efd80081e5d0",
  "trx_in_block": 0,
  "virtual_op": 0
}
steemdelegated 2.821 SP to @jfaucett
2024/12/17 07:24:39
delegateejfaucett
delegatorsteem
vesting shares4588.012429 VESTS
Transaction InfoBlock #91303352/Trx feae4e3adb0a6b99699360a190f547ec2554f276
View Raw JSON Data
{
  "block": 91303352,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "4588.012429 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2024-12-17T07:24:39",
  "trx_id": "feae4e3adb0a6b99699360a190f547ec2554f276",
  "trx_in_block": 3,
  "virtual_op": 0
}
steemdelegated 2.925 SP to @jfaucett
2023/11/13 23:06:54
delegateejfaucett
delegatorsteem
vesting shares4757.145961 VESTS
Transaction InfoBlock #79857541/Trx f3b8e30812b099dd2741cb1eddcd930569213068
View Raw JSON Data
{
  "block": 79857541,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "4757.145961 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2023-11-13T23:06:54",
  "trx_id": "f3b8e30812b099dd2741cb1eddcd930569213068",
  "trx_in_block": 5,
  "virtual_op": 0
}
steemdelegated 4.730 SP to @jfaucett
2023/09/21 23:44:09
delegateejfaucett
delegatorsteem
vesting shares7694.424747 VESTS
Transaction InfoBlock #78350110/Trx f966970bef91c3b36e162469697848f89edd043b
View Raw JSON Data
{
  "block": 78350110,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "7694.424747 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2023-09-21T23:44:09",
  "trx_id": "f966970bef91c3b36e162469697848f89edd043b",
  "trx_in_block": 1,
  "virtual_op": 0
}
steemdelegated 4.867 SP to @jfaucett
2022/11/03 13:16:48
delegateejfaucett
delegatorsteem
vesting shares7916.106185 VESTS
Transaction InfoBlock #69115143/Trx c5be84b18858b05c712fe5c0e04dee2ddc82cd4e
View Raw JSON Data
{
  "block": 69115143,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "7916.106185 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2022-11-03T13:16:48",
  "trx_id": "c5be84b18858b05c712fe5c0e04dee2ddc82cd4e",
  "trx_in_block": 2,
  "virtual_op": 0
}
steemdelegated 5.002 SP to @jfaucett
2022/01/17 16:40:30
delegateejfaucett
delegatorsteem
vesting shares8136.341321 VESTS
Transaction InfoBlock #60816242/Trx 56c03ab9f8e92b6404965136d9581e62b7543430
View Raw JSON Data
{
  "block": 60816242,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "8136.341321 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2022-01-17T16:40:30",
  "trx_id": "56c03ab9f8e92b6404965136d9581e62b7543430",
  "trx_in_block": 20,
  "virtual_op": 0
}
steemdelegated 5.115 SP to @jfaucett
2021/06/14 02:16:06
delegateejfaucett
delegatorsteem
vesting shares8320.408074 VESTS
Transaction InfoBlock #54609458/Trx 188c8864cfb4f202a933e58189129c4503be546d
View Raw JSON Data
{
  "block": 54609458,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "8320.408074 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2021-06-14T02:16:06",
  "trx_id": "188c8864cfb4f202a933e58189129c4503be546d",
  "trx_in_block": 3,
  "virtual_op": 0
}
steemdelegated 5.231 SP to @jfaucett
2020/12/11 12:32:51
delegateejfaucett
delegatorsteem
vesting shares8507.830048 VESTS
Transaction InfoBlock #49356857/Trx 7f6d7d367f908a0c8a942f5a3d9b7babb6702523
View Raw JSON Data
{
  "block": 49356857,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "8507.830048 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-12-11T12:32:51",
  "trx_id": "7f6d7d367f908a0c8a942f5a3d9b7babb6702523",
  "trx_in_block": 8,
  "virtual_op": 0
}
steemdelegated 1.176 SP to @jfaucett
2020/12/06 06:09:39
delegateejfaucett
delegatorsteem
vesting shares1912.543513 VESTS
Transaction InfoBlock #49208411/Trx 237b57b8310127c2542870c3b52154de4c510e07
View Raw JSON Data
{
  "block": 49208411,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "1912.543513 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-12-06T06:09:39",
  "trx_id": "237b57b8310127c2542870c3b52154de4c510e07",
  "trx_in_block": 9,
  "virtual_op": 0
}
steemdelegated 5.234 SP to @jfaucett
2020/12/05 16:11:06
delegateejfaucett
delegatorsteem
vesting shares8514.037902 VESTS
Transaction InfoBlock #49191955/Trx 535dd0c1f4e48aa56b065472aa2f14acce4404c7
View Raw JSON Data
{
  "block": 49191955,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "8514.037902 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-12-05T16:11:06",
  "trx_id": "535dd0c1f4e48aa56b065472aa2f14acce4404c7",
  "trx_in_block": 10,
  "virtual_op": 0
}
steemdelegated 1.180 SP to @jfaucett
2020/11/02 18:34:24
delegateejfaucett
delegatorsteem
vesting shares1920.017158 VESTS
Transaction InfoBlock #48261259/Trx dbe4f17432ec498b90765ab879a6f5622349d41b
View Raw JSON Data
{
  "block": 48261259,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "1920.017158 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-11-02T18:34:24",
  "trx_id": "dbe4f17432ec498b90765ab879a6f5622349d41b",
  "trx_in_block": 0,
  "virtual_op": 0
}
steemdelegated 5.359 SP to @jfaucett
2020/05/09 07:08:30
delegateejfaucett
delegatorsteem
vesting shares8716.843261 VESTS
Transaction InfoBlock #43218680/Trx 10f01b16ee753049e673fe2e426896f67e56246b
View Raw JSON Data
{
  "block": 43218680,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "8716.843261 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-05-09T07:08:30",
  "trx_id": "10f01b16ee753049e673fe2e426896f67e56246b",
  "trx_in_block": 6,
  "virtual_op": 0
}
steemdelegated 1.201 SP to @jfaucett
2020/05/08 10:57:21
delegateejfaucett
delegatorsteem
vesting shares1953.311140 VESTS
Transaction InfoBlock #43195022/Trx 3487a3a30bf9df6e1a1951b8b462e3a7ffaf99ab
View Raw JSON Data
{
  "block": 43195022,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "1953.311140 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-05-08T10:57:21",
  "trx_id": "3487a3a30bf9df6e1a1951b8b462e3a7ffaf99ab",
  "trx_in_block": 8,
  "virtual_op": 0
}
2019/12/31 10:32:36
authorsteemitboard
bodyCongratulations @jfaucett! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jfaucett/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@jfaucett) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=jfaucett)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
parent authorjfaucett
parent permlink5potb7ls
permlinksteemitboard-notify-jfaucett-20191231t103235000z
title
Transaction InfoBlock #39516201/Trx 396458fc100f6363c89da9bcb7dc72f62e0fdf39
View Raw JSON Data
{
  "block": 39516201,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @jfaucett! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jfaucett/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@jfaucett) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=jfaucett)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
      "parent_author": "jfaucett",
      "parent_permlink": "5potb7ls",
      "permlink": "steemitboard-notify-jfaucett-20191231t103235000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-12-31T10:32:36",
  "trx_id": "396458fc100f6363c89da9bcb7dc72f62e0fdf39",
  "trx_in_block": 3,
  "virtual_op": 0
}
steemdelegated 5.448 SP to @jfaucett
2019/08/29 05:32:06
delegateejfaucett
delegatorsteem
vesting shares8861.216551 VESTS
Transaction InfoBlock #35963058/Trx d18dc273795c01adcf27df32dc318f701eba123b
View Raw JSON Data
{
  "block": 35963058,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "8861.216551 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-29T05:32:06",
  "trx_id": "d18dc273795c01adcf27df32dc318f701eba123b",
  "trx_in_block": 15,
  "virtual_op": 0
}
dtubesent 0.001 STEEM to @jfaucett- "Time is running out, claim your DTube account now before anyone else can! Login at https://d.tube"
2019/08/22 17:59:24
amount0.001 STEEM
fromdtube
memoTime is running out, claim your DTube account now before anyone else can! Login at https://d.tube
tojfaucett
Transaction InfoBlock #35781596/Trx 714402f9cfa2ff1d961415433c25b8adb95bae07
View Raw JSON Data
{
  "block": 35781596,
  "op": [
    "transfer",
    {
      "amount": "0.001 STEEM",
      "from": "dtube",
      "memo": "Time is running out, claim your DTube account now before anyone else can! Login at https://d.tube",
      "to": "jfaucett"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-22T17:59:24",
  "trx_id": "714402f9cfa2ff1d961415433c25b8adb95bae07",
  "trx_in_block": 11,
  "virtual_op": 0
}
2018/12/31 12:28:48
authorsteemitboard
bodyCongratulations @jfaucett! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jfaucett/birthday1.png</td><td>1 Year on Steemit</td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@jfaucett)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues"><img src="https://steemitimages.com/64x128/http://i.cubeupload.com/kf4SJb.png"></a></td><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues">Christmas Challenge - The party continues</a></td></tr></table> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
parent authorjfaucett
parent permlink5potb7ls
permlinksteemitboard-notify-jfaucett-20181231t122848000z
title
Transaction InfoBlock #29045380/Trx 1088563687a4f52ddfdb5df54631588cf9f97eba
View Raw JSON Data
{
  "block": 29045380,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @jfaucett! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jfaucett/birthday1.png</td><td>1 Year on Steemit</td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@jfaucett)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues\"><img src=\"https://steemitimages.com/64x128/http://i.cubeupload.com/kf4SJb.png\"></a></td><td><a href=\"https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues\">Christmas Challenge - The party continues</a></td></tr></table>\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
      "parent_author": "jfaucett",
      "parent_permlink": "5potb7ls",
      "permlink": "steemitboard-notify-jfaucett-20181231t122848000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-12-31T12:28:48",
  "trx_id": "1088563687a4f52ddfdb5df54631588cf9f97eba",
  "trx_in_block": 44,
  "virtual_op": 0
}
steemdelegated 5.570 SP to @jfaucett
2018/09/16 01:30:27
delegateejfaucett
delegatorsteem
vesting shares9059.455366 VESTS
Transaction InfoBlock #25997124/Trx 1e5805623cb4bef79f1908659cb3a37a595ab4c3
View Raw JSON Data
{
  "block": 25997124,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "9059.455366 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-09-16T01:30:27",
  "trx_id": "1e5805623cb4bef79f1908659cb3a37a595ab4c3",
  "trx_in_block": 15,
  "virtual_op": 0
}
steemdelegated 18.089 SP to @jfaucett
2018/06/17 00:09:54
delegateejfaucett
delegatorsteem
vesting shares29423.759896 VESTS
Transaction InfoBlock #23386154/Trx 10745ec6403c2902c532d4a918086d25639f04f4
View Raw JSON Data
{
  "block": 23386154,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "29423.759896 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-17T00:09:54",
  "trx_id": "10745ec6403c2902c532d4a918086d25639f04f4",
  "trx_in_block": 14,
  "virtual_op": 0
}
jfaucettclaimed reward balance: 0.077 SBD, 0.015 SP
2018/06/16 23:16:21
accountjfaucett
reward sbd0.077 SBD
reward steem0.000 STEEM
reward vests24.582467 VESTS
Transaction InfoBlock #23385084/Trx d7260835c88a7cbdbc48c072a119dc91bc0fb3fc
View Raw JSON Data
{
  "block": 23385084,
  "op": [
    "claim_reward_balance",
    {
      "account": "jfaucett",
      "reward_sbd": "0.077 SBD",
      "reward_steem": "0.000 STEEM",
      "reward_vests": "24.582467 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-16T23:16:21",
  "trx_id": "d7260835c88a7cbdbc48c072a119dc91bc0fb3fc",
  "trx_in_block": 9,
  "virtual_op": 0
}
steemdelegated 5.625 SP to @jfaucett
2018/05/16 21:58:06
delegateejfaucett
delegatorsteem
vesting shares9149.540857 VESTS
Transaction InfoBlock #22491863/Trx 5bf4ee8f84ea5b62ac523539a6dd408d5a8336f9
View Raw JSON Data
{
  "block": 22491863,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "9149.540857 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-16T21:58:06",
  "trx_id": "5bf4ee8f84ea5b62ac523539a6dd408d5a8336f9",
  "trx_in_block": 13,
  "virtual_op": 0
}
valera299upvoted (100.00%) @jfaucett / 5potb7ls
2018/01/21 04:50:57
authorjfaucett
permlink5potb7ls
votervalera299
weight10000 (100.00%)
Transaction InfoBlock #19162785/Trx b2468958c6ebd57240d660be1ddda2e7442cecec
View Raw JSON Data
{
  "block": 19162785,
  "op": [
    "vote",
    {
      "author": "jfaucett",
      "permlink": "5potb7ls",
      "voter": "valera299",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-21T04:50:57",
  "trx_id": "b2468958c6ebd57240d660be1ddda2e7442cecec",
  "trx_in_block": 20,
  "virtual_op": 0
}
2018/01/20 20:39:15
idfollow
json["follow",{"follower":"jfaucett","following":"dkmathstats","what":["blog"]}]
required auths[]
required posting auths["jfaucett"]
Transaction InfoBlock #19152954/Trx 99ad99eb43ccfcc756b2e4b32a480c5739bfb8c1
View Raw JSON Data
{
  "block": 19152954,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"jfaucett\",\"following\":\"dkmathstats\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "jfaucett"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-20T20:39:15",
  "trx_id": "99ad99eb43ccfcc756b2e4b32a480c5739bfb8c1",
  "trx_in_block": 27,
  "virtual_op": 0
}
jfaucettupdated their account properties
2018/01/20 20:30:12
accountjfaucett
active{"account_auths":[],"key_auths":[["STM7BrsWv1bfNSwzhy4xwKLXg2Kk7ijcJrCeZb41Wod9FNP2kqT11",1]],"weight_threshold":1}
json metadata{"profile":{"profile_image":"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200","name":"jfaucett","about":"Engineer, Developer, Scientist"}}
memo keySTM7G2xb1ayjkQtTGbWgi7rDj7yALm2DsN2YUBBjiKHA3vLUiFevQ
owner{"account_auths":[],"key_auths":[["STM5f75kuarAf6wGNGEb38CXkY1UHm8XDpMd66scow4kWVjd4hYxS",1]],"weight_threshold":1}
posting{"account_auths":[],"key_auths":[["STM5AjLUfZYsRDarosFNCB2okqPtoen3KtU6DxVThHYRRLEZstS6m",1]],"weight_threshold":1}
Transaction InfoBlock #19152773/Trx 8c8c876f47db69b1da5b18427fe3f30d05d96402
View Raw JSON Data
{
  "block": 19152773,
  "op": [
    "account_update",
    {
      "account": "jfaucett",
      "active": {
        "account_auths": [],
        "key_auths": [
          [
            "STM7BrsWv1bfNSwzhy4xwKLXg2Kk7ijcJrCeZb41Wod9FNP2kqT11",
            1
          ]
        ],
        "weight_threshold": 1
      },
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200\",\"name\":\"jfaucett\",\"about\":\"Engineer, Developer, Scientist\"}}",
      "memo_key": "STM7G2xb1ayjkQtTGbWgi7rDj7yALm2DsN2YUBBjiKHA3vLUiFevQ",
      "owner": {
        "account_auths": [],
        "key_auths": [
          [
            "STM5f75kuarAf6wGNGEb38CXkY1UHm8XDpMd66scow4kWVjd4hYxS",
            1
          ]
        ],
        "weight_threshold": 1
      },
      "posting": {
        "account_auths": [],
        "key_auths": [
          [
            "STM5AjLUfZYsRDarosFNCB2okqPtoen3KtU6DxVThHYRRLEZstS6m",
            1
          ]
        ],
        "weight_threshold": 1
      }
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-20T20:30:12",
  "trx_id": "8c8c876f47db69b1da5b18427fe3f30d05d96402",
  "trx_in_block": 60,
  "virtual_op": 0
}
mohsin-skupvoted (100.00%) @jfaucett / 5potb7ls
2018/01/20 19:09:51
authorjfaucett
permlink5potb7ls
votermohsin-sk
weight10000 (100.00%)
Transaction InfoBlock #19151166/Trx a4aeb468ae09bdf0f22311d833e13726ca6f25ac
View Raw JSON Data
{
  "block": 19151166,
  "op": [
    "vote",
    {
      "author": "jfaucett",
      "permlink": "5potb7ls",
      "voter": "mohsin-sk",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-20T19:09:51",
  "trx_id": "a4aeb468ae09bdf0f22311d833e13726ca6f25ac",
  "trx_in_block": 23,
  "virtual_op": 0
}
lollobrownupvoted (100.00%) @jfaucett / 5potb7ls
2018/01/20 19:07:27
authorjfaucett
permlink5potb7ls
voterlollobrown
weight10000 (100.00%)
Transaction InfoBlock #19151118/Trx edd7325420a535c719370bbfc96f7342b7bcaf7f
View Raw JSON Data
{
  "block": 19151118,
  "op": [
    "vote",
    {
      "author": "jfaucett",
      "permlink": "5potb7ls",
      "voter": "lollobrown",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-20T19:07:27",
  "trx_id": "edd7325420a535c719370bbfc96f7342b7bcaf7f",
  "trx_in_block": 36,
  "virtual_op": 0
}
jfaucettupdated options for 5potb7ls
2018/01/20 19:07:18
allow curation rewardstrue
allow votestrue
authorjfaucett
extensions[[0,{"beneficiaries":[{"account":"dtube","weight":2500}]}]]
max accepted payout1000000.000 SBD
percent steem dollars10000
permlink5potb7ls
Transaction InfoBlock #19151115/Trx a3087e413b8ae0e456fb14902e941e8516bfef72
View Raw JSON Data
{
  "block": 19151115,
  "op": [
    "comment_options",
    {
      "allow_curation_rewards": true,
      "allow_votes": true,
      "author": "jfaucett",
      "extensions": [
        [
          0,
          {
            "beneficiaries": [
              {
                "account": "dtube",
                "weight": 2500
              }
            ]
          }
        ]
      ],
      "max_accepted_payout": "1000000.000 SBD",
      "percent_steem_dollars": 10000,
      "permlink": "5potb7ls"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-20T19:07:18",
  "trx_id": "a3087e413b8ae0e456fb14902e941e8516bfef72",
  "trx_in_block": 15,
  "virtual_op": 0
}
jfaucettpublished a new post: 5potb7ls
2018/01/20 19:07:18
authorjfaucett
body<center><a href='https://d.tube/#!/v/jfaucett/5potb7ls'><img src='https://ipfs.io/ipfs/QmRRSHirQSztXCo8dPBbamC8jvJfx9VHsRisL8BVPrbWxa'></a></center><hr> A short tutorial with a couple of examples on the range in mathematical statistics. <hr><a href='https://d.tube/#!/v/jfaucett/5potb7ls'> ▶️ DTube</a><br /><a href='https://ipfs.io/ipfs/QmViyxVjjiJqUqajhi8qLbt4iHCXmv6jzpKfNbLU16JtK1'> ▶️ IPFS</a>
json metadata{"video":{"info":{"title":"Range - Mathematical Statistics","snaphash":"QmfMe7bXnhUrF8k1PctGYyMYv52yG7jabhjFoDqJpGHsPG","author":"jfaucett","permlink":"5potb7ls","duration":null,"filesize":5559177,"spritehash":"QmXiRcNLZ5kGo2dN68uzqCGXo27RYMYBY2fCTqNhPaT4Fp"},"content":{"videohash":"QmViyxVjjiJqUqajhi8qLbt4iHCXmv6jzpKfNbLU16JtK1","video480hash":"QmcMgEkEt33YdcQzAAZM3DBgHWnh3WXaeQvk1geSTj3XAq","magnet":"","description":"A short tutorial with a couple of examples on the range in mathematical statistics.","tags":["mathematics","mathematical-statistics","statistics","range"]},"_id":"c3510e8a113fc1b6452d2798d50efb89"},"tags":["mathematics","mathematical-statistics","statistics","range","dtube"],"app":"dtube/0.6"}
parent author
parent permlinkmathematics
permlink5potb7ls
titleRange - Mathematical Statistics
Transaction InfoBlock #19151115/Trx a3087e413b8ae0e456fb14902e941e8516bfef72
View Raw JSON Data
{
  "block": 19151115,
  "op": [
    "comment",
    {
      "author": "jfaucett",
      "body": "<center><a href='https://d.tube/#!/v/jfaucett/5potb7ls'><img src='https://ipfs.io/ipfs/QmRRSHirQSztXCo8dPBbamC8jvJfx9VHsRisL8BVPrbWxa'></a></center><hr>\n\nA short tutorial with a couple of examples on the range in mathematical statistics.\n\n<hr><a href='https://d.tube/#!/v/jfaucett/5potb7ls'> ▶️ DTube</a><br /><a href='https://ipfs.io/ipfs/QmViyxVjjiJqUqajhi8qLbt4iHCXmv6jzpKfNbLU16JtK1'> ▶️ IPFS</a>",
      "json_metadata": "{\"video\":{\"info\":{\"title\":\"Range - Mathematical Statistics\",\"snaphash\":\"QmfMe7bXnhUrF8k1PctGYyMYv52yG7jabhjFoDqJpGHsPG\",\"author\":\"jfaucett\",\"permlink\":\"5potb7ls\",\"duration\":null,\"filesize\":5559177,\"spritehash\":\"QmXiRcNLZ5kGo2dN68uzqCGXo27RYMYBY2fCTqNhPaT4Fp\"},\"content\":{\"videohash\":\"QmViyxVjjiJqUqajhi8qLbt4iHCXmv6jzpKfNbLU16JtK1\",\"video480hash\":\"QmcMgEkEt33YdcQzAAZM3DBgHWnh3WXaeQvk1geSTj3XAq\",\"magnet\":\"\",\"description\":\"A short tutorial with a couple of examples on the range in mathematical statistics.\",\"tags\":[\"mathematics\",\"mathematical-statistics\",\"statistics\",\"range\"]},\"_id\":\"c3510e8a113fc1b6452d2798d50efb89\"},\"tags\":[\"mathematics\",\"mathematical-statistics\",\"statistics\",\"range\",\"dtube\"],\"app\":\"dtube/0.6\"}",
      "parent_author": "",
      "parent_permlink": "mathematics",
      "permlink": "5potb7ls",
      "title": "Range - Mathematical Statistics"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-20T19:07:18",
  "trx_id": "a3087e413b8ae0e456fb14902e941e8516bfef72",
  "trx_in_block": 15,
  "virtual_op": 0
}
jfaucettpublished a new post: a-wee-bit-of-hypocrisy
2018/01/19 22:53:54
authorjfaucett
body@@ -242,16 +242,20 @@ ant for +the overly s @@ -900,16 +900,19 @@ we were +to Marty Mc
json metadata{"tags":["religion","atheism"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkreligion
permlinka-wee-bit-of-hypocrisy
titleA wee bit of Hypocrisy
Transaction InfoBlock #19126872/Trx 208040d4f7197ac04aaa0e572be7d88492fffee8
View Raw JSON Data
{
  "block": 19126872,
  "op": [
    "comment",
    {
      "author": "jfaucett",
      "body": "@@ -242,16 +242,20 @@\n ant for \n+the \n overly s\n@@ -900,16 +900,19 @@\n we were \n+to \n Marty Mc\n",
      "json_metadata": "{\"tags\":[\"religion\",\"atheism\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "religion",
      "permlink": "a-wee-bit-of-hypocrisy",
      "title": "A wee bit of Hypocrisy"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-19T22:53:54",
  "trx_id": "208040d4f7197ac04aaa0e572be7d88492fffee8",
  "trx_in_block": 31,
  "virtual_op": 0
}
jfaucettpublished a new post: a-wee-bit-of-hypocrisy
2018/01/19 22:51:30
authorjfaucett
body@@ -929,19 +929,19 @@ ery own -del +DeL orean, t
json metadata{"tags":["religion","atheism"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkreligion
permlinka-wee-bit-of-hypocrisy
titleA wee bit of Hypocrisy
Transaction InfoBlock #19126824/Trx ea88ed49d03dadaca8e547ff1525383fe195e77c
View Raw JSON Data
{
  "block": 19126824,
  "op": [
    "comment",
    {
      "author": "jfaucett",
      "body": "@@ -929,19 +929,19 @@\n ery own \n-del\n+DeL\n orean, t\n",
      "json_metadata": "{\"tags\":[\"religion\",\"atheism\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "religion",
      "permlink": "a-wee-bit-of-hypocrisy",
      "title": "A wee bit of Hypocrisy"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-19T22:51:30",
  "trx_id": "ea88ed49d03dadaca8e547ff1525383fe195e77c",
  "trx_in_block": 33,
  "virtual_op": 0
}
jfaucettpublished a new post: a-wee-bit-of-hypocrisy
2018/01/19 22:50:30
authorjfaucett
bodyThe other day I was listening to someone rant on about how ridiculous and irrational the Mormons were for believing in all the nonsense their particular religion spews out. I can’t remember all the details of the rant and they aren’t important for overly serious material I have to say today, because the odd spat of irony in this particular situation is that the person ranting on about the Mormons was a fundamentalist Christian. > Say what? Yes, my friend. The person laughing at the ridiculousness of Mormon beliefs simultaneously holds their own version of delusional dogma and thinks it is perfectly rational and sane - in contrast to those idiotic Mormons of course. So I want to talk a bit about some of those lovely Christian non-myths. Please keep in mind that, when dealing with fundamentalists Christians, each of these beliefs are held to be absolutely true in the sense that if we were Marty Mcfly back in our very own delorean, the events would unfold exactly as described in the book of a holiness. #### Absurd Fundamentalist Christian Belief 1 A snake had a conversation with an immortal woman, convinced her to eat a fruit. As she and her immortal husband digested the fruit in the nude, the fruit instantaneously changed all their DNA makeup so that they suddenly – and most importantly – felt ashamed of being naked. Also as a side effect they became mere mortals. If that doesn’t sound like a story straight out of Greek mythology I don’t know what does. Yet, millions of people, and this person included, hold this story to be verbatim true. _Alas, those idiot Mormons_. #### Absurd Fundamentalist Christian Belief 2 A virgin gets pregnant without having sex or ever being touched by semen. Her baby turns out to be the son of the supreme deity. This son, however, has no evidence for being a diety, he is fully human i.e. has all the chromosomes and DNA of a human and is a fully functioning human being. However, like Hercules and other demi-gods he can sometimes do cool stuff like walk on water. #### Absurd Fundamentalist Christian Belief 3 The supreme deity gets ticked off at everything he made because the humans aren’t living how he wants them to. So he has a guy and his family build a boat big enough to pack every living species that ever existed on it. The deity then sends every animal on the planet - also all the ones humans don't even know - to them and they pack them in, all living harmoniously together on this massive raft. Then the deity causes it to rain and flood and he basically turns the entire planet into a swimming pool. Afterwards, this guy lands his boat and lets out all the animals. The animals then somehow manage to distributed themselves to different continents where only the marsupials end up in Australia. #### Absurd Fundamentalist Christian Belief 4 Back in the day, some angels got really horny and came down to earth to have sex with some hot human ladies. Somehow the immortal angel DNA is compatible with human DNA – sweet – so these hot ladies got pregnant and had lots of babies. These babies turned out to be giants. So yea, there totally used to be giants walking the earth. #### Absurd Fundamentalist Christian Belief 5 During an important battle the sun and mood stood still in sky. Gravity and the laws of physics didn’t change but somehow earth had to stop rotating and moving through space - whatever – the battle was super important! #### Absurd Fundamentalist Christian Belief 6 When you think things in your mind or say them under your breath a supreme deity can hear them, but not only him all kinds of otherworldly creatures as well, angels and demons too. These otherworldly creatures and the supreme deity can also put thoughts in your head and manipulate you into thinking bad things, so you have to be careful and constantly compare your thoughts with what is in the holy text to check if the thoughts were from the supreme deity or a good otherworldly creature like an angel or a bad otherworldly creature like a demon. > And the list goes on and on... What’s even more funny – or really sad once you’ve spent a significant amount of time with fundamentalists - about all these examples is that fundamentalists spend tons of time trying to figure out how all these insanely obviously mythological things could have really happened or can happen in the real world. In an attempt to show them my view of the situation, I'll say to them, its as if they want to prove how zeus could have possibly come down from Olympus and had sex with a maiden to beget Hercules. The level of ludicrousness is the same. My level of disbelief is the same. The real question is why they - finding Hercules mythological - don't find the myths of their particular religion to be just that: myths. To have these very people laugh at the ridiculous beliefs of Mormons while holding such insane beliefs themselves, only shows how illogical, inconsistent, and self-contradictory humans as a species are. Something not all that surprising, one might dare say predictable, if you were to think there's nothing extraordinarily special about humans and that they originated through a process of natural selection like every other living creature on the planet.
json metadata{"tags":["religion","atheism"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkreligion
permlinka-wee-bit-of-hypocrisy
titleA wee bit of Hypocrisy
Transaction InfoBlock #19126804/Trx eb68c68fd92ca61b69a1a9a6f1aa86d377a65478
View Raw JSON Data
{
  "block": 19126804,
  "op": [
    "comment",
    {
      "author": "jfaucett",
      "body": "The other day I was listening to someone rant on about how ridiculous and irrational the Mormons were for believing in all the nonsense their particular religion spews out.\n\nI can’t remember all the details of the rant and they aren’t important for overly serious material I have to say today, because the odd spat of irony in this particular situation is that the person ranting on about the Mormons was a fundamentalist Christian.\n\n> Say what?\n\nYes, my friend. The person laughing at the ridiculousness of Mormon beliefs simultaneously holds their own version of delusional dogma and thinks it is perfectly rational and sane - in contrast to those idiotic Mormons of course. So I want to talk a bit about some of those lovely Christian non-myths. Please keep in mind that, when dealing with fundamentalists Christians, each of these beliefs are held to be absolutely true in the sense that if we were Marty Mcfly back in our very own delorean, the events would unfold exactly as described in the book of a holiness.\n\n#### Absurd Fundamentalist Christian Belief 1\n\nA snake had a conversation with an immortal woman, convinced her to eat a fruit. As she and her immortal husband digested the fruit in the nude, the fruit instantaneously changed all their DNA makeup so that they suddenly – and most importantly – felt ashamed of being naked. Also as a side effect they became mere mortals.\n\nIf that doesn’t sound like a story straight out of Greek mythology I don’t know what does. Yet, millions of people, and this person included, hold this story to be verbatim true. _Alas, those idiot Mormons_.\n\n\n#### Absurd Fundamentalist Christian Belief 2\n\nA virgin gets pregnant without having sex or ever being touched by semen. Her baby turns out to be the son of the supreme deity. This son, however, has no evidence for being a diety, he is fully human i.e. has all the chromosomes and DNA of a human and is a fully functioning human being. However, like Hercules and other demi-gods he can sometimes do cool stuff like walk on water.\n\n#### Absurd Fundamentalist Christian Belief 3\n\nThe supreme deity gets ticked off at everything he made because the humans aren’t living how he wants them to. So he has a guy and his family build a boat big enough to pack every living species that ever existed on it. The deity then sends every animal on the planet - also all the ones humans don't even know - to them and they pack them in, all living harmoniously together on this massive raft. Then the deity causes it to rain and flood and he basically turns the entire planet into a swimming pool. Afterwards, this guy lands his boat and lets out all the animals. The animals then somehow manage to distributed themselves to different continents where only the marsupials end up in Australia.\n\n#### Absurd Fundamentalist Christian Belief 4\n\nBack in the day, some angels got really horny and came down to earth to have sex with some hot human ladies. Somehow the immortal angel DNA is compatible with human DNA – sweet – so these hot ladies got pregnant and had lots of babies. These babies turned out to be giants. So yea, there totally used to be giants walking the earth.\n\n\n####  Absurd Fundamentalist Christian Belief 5\n\nDuring an important battle the sun and mood stood still in sky. Gravity and the laws of physics didn’t change but somehow earth had to stop rotating and moving through space - whatever – the battle was super important!\n\n####  Absurd Fundamentalist Christian Belief 6\n\nWhen you think things in your mind or say them under your breath a supreme deity can hear them, but not only him all kinds of otherworldly creatures as well, angels and demons too. These otherworldly creatures and the supreme deity can also put thoughts in your head and manipulate you into thinking bad things, so you have to be careful and constantly compare your thoughts with what is in the holy text to check if the thoughts were from the supreme deity or a good otherworldly creature like an angel or a bad otherworldly creature like a demon.\n\n> And the list goes on and on...\n\nWhat’s even more funny – or really sad once you’ve spent a significant amount of time with fundamentalists - about all these examples is that fundamentalists spend tons of time trying to figure out how all these insanely obviously mythological things could have really happened or can happen in the real world.\n\nIn an attempt to show them my view of the situation, I'll say to them, its as if they want to prove how zeus could have possibly come down from Olympus and had sex with a maiden to beget Hercules. The level of ludicrousness is the same. My level of disbelief is the same. The real question is why they - finding Hercules mythological - don't find the myths of their particular religion to be just that: myths.\n\nTo have these very people laugh at the ridiculous beliefs of Mormons while holding such insane beliefs themselves, only shows how illogical, inconsistent, and self-contradictory humans as a species are.\n\nSomething not all that surprising, one might dare say predictable, if you were to think there's nothing extraordinarily special about humans and that they originated through a process of natural selection like every other living creature on the planet.",
      "json_metadata": "{\"tags\":[\"religion\",\"atheism\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "religion",
      "permlink": "a-wee-bit-of-hypocrisy",
      "title": "A wee bit of Hypocrisy"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-19T22:50:30",
  "trx_id": "eb68c68fd92ca61b69a1a9a6f1aa86d377a65478",
  "trx_in_block": 12,
  "virtual_op": 0
}
jfaucettupdated their account properties
2018/01/14 17:46:24
accountjfaucett
json metadata{"profile":{"profile_image":"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200","name":"jfaucett","about":"Engineer, Developer, Scientist"}}
memo keySTM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ
Transaction InfoBlock #18976792/Trx 682bc47ffe28569d28e7ae48c04705e1bedea60b
View Raw JSON Data
{
  "block": 18976792,
  "op": [
    "account_update",
    {
      "account": "jfaucett",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200\",\"name\":\"jfaucett\",\"about\":\"Engineer, Developer, Scientist\"}}",
      "memo_key": "STM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-14T17:46:24",
  "trx_id": "682bc47ffe28569d28e7ae48c04705e1bedea60b",
  "trx_in_block": 41,
  "virtual_op": 0
}
jfaucettupdated their account properties
2018/01/14 17:46:00
accountjfaucett
json metadata{"profile":{"profile_image":"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200","name":"stembord","about":"Engineer, Developer, Scientist"}}
memo keySTM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ
Transaction InfoBlock #18976784/Trx 2b8a38dd1b5635693f6aacd2f1d2a4541fc69882
View Raw JSON Data
{
  "block": 18976784,
  "op": [
    "account_update",
    {
      "account": "jfaucett",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200\",\"name\":\"stembord\",\"about\":\"Engineer, Developer, Scientist\"}}",
      "memo_key": "STM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-14T17:46:00",
  "trx_id": "2b8a38dd1b5635693f6aacd2f1d2a4541fc69882",
  "trx_in_block": 25,
  "virtual_op": 0
}
steemdelegated 18.260 SP to @jfaucett
2018/01/08 19:34:18
delegateejfaucett
delegatorsteem
vesting shares29700.379479 VESTS
Transaction InfoBlock #18806307/Trx d9d0930a0ff37f890f3762e69a390ba8d8b361bf
View Raw JSON Data
{
  "block": 18806307,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "jfaucett",
      "delegator": "steem",
      "vesting_shares": "29700.379479 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-08T19:34:18",
  "trx_id": "d9d0930a0ff37f890f3762e69a390ba8d8b361bf",
  "trx_in_block": 44,
  "virtual_op": 0
}
jfaucettreceived 0.077 SBD, 0.015 SP author reward for @jfaucett / cohen-s-kappa
2018/01/07 10:19:03
authorjfaucett
permlinkcohen-s-kappa
sbd payout0.077 SBD
steem payout0.000 STEEM
vesting payout24.582467 VESTS
Transaction InfoBlock #18766450/Virtual Operation #7
View Raw JSON Data
{
  "block": 18766450,
  "op": [
    "author_reward",
    {
      "author": "jfaucett",
      "permlink": "cohen-s-kappa",
      "sbd_payout": "0.077 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "24.582467 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-07T10:19:03",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 7
}
timspeerupvoted (50.00%) @jfaucett / cohen-s-kappa
2018/01/01 19:26:36
authorjfaucett
permlinkcohen-s-kappa
votertimspeer
weight5000 (50.00%)
Transaction InfoBlock #18604688/Trx b7ab2528c2ebae3f9ae8f1502cab2e8c8ebbeb93
View Raw JSON Data
{
  "block": 18604688,
  "op": [
    "vote",
    {
      "author": "jfaucett",
      "permlink": "cohen-s-kappa",
      "voter": "timspeer",
      "weight": 5000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-01T19:26:36",
  "trx_id": "b7ab2528c2ebae3f9ae8f1502cab2e8c8ebbeb93",
  "trx_in_block": 8,
  "virtual_op": 0
}
jfaucettupdated their account properties
2017/12/31 11:44:39
accountjfaucett
json metadata{"profile":{"profile_image":"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200","name":"jfaucett","about":"Engineer, Developer, Scientist"}}
memo keySTM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ
Transaction InfoBlock #18566878/Trx 2a5d0612415d0ad8e1c21a5fa112f26b711749e0
View Raw JSON Data
{
  "block": 18566878,
  "op": [
    "account_update",
    {
      "account": "jfaucett",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200\",\"name\":\"jfaucett\",\"about\":\"Engineer, Developer, Scientist\"}}",
      "memo_key": "STM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2017-12-31T11:44:39",
  "trx_id": "2a5d0612415d0ad8e1c21a5fa112f26b711749e0",
  "trx_in_block": 15,
  "virtual_op": 0
}
jfaucettupdated their account properties
2017/12/31 11:44:15
accountjfaucett
json metadata{"profile":{"profile_image":"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200","cover_image":"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200","name":"jfaucett","about":"Engineer, Developer, Scientist"}}
memo keySTM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ
Transaction InfoBlock #18566870/Trx 589c5f4d8d7a328ed2fd5fd975d08c2100416177
View Raw JSON Data
{
  "block": 18566870,
  "op": [
    "account_update",
    {
      "account": "jfaucett",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200\",\"cover_image\":\"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200\",\"name\":\"jfaucett\",\"about\":\"Engineer, Developer, Scientist\"}}",
      "memo_key": "STM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2017-12-31T11:44:15",
  "trx_id": "589c5f4d8d7a328ed2fd5fd975d08c2100416177",
  "trx_in_block": 8,
  "virtual_op": 0
}
jfaucettupdated their account properties
2017/12/31 11:43:42
accountjfaucett
json metadata{"profile":{"profile_image":"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200","name":"jfaucett","about":"Engineer, Developer, Scientist"}}
memo keySTM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ
Transaction InfoBlock #18566859/Trx 381b629959098461bd3dd611e4ce433fa6d87ebc
View Raw JSON Data
{
  "block": 18566859,
  "op": [
    "account_update",
    {
      "account": "jfaucett",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200\",\"name\":\"jfaucett\",\"about\":\"Engineer, Developer, Scientist\"}}",
      "memo_key": "STM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2017-12-31T11:43:42",
  "trx_id": "381b629959098461bd3dd611e4ce433fa6d87ebc",
  "trx_in_block": 18,
  "virtual_op": 0
}
2017/12/31 11:40:30
idfollow
json["follow",{"follower":"jfaucett","following":"dtube","what":["blog"]}]
required auths[]
required posting auths["jfaucett"]
Transaction InfoBlock #18566795/Trx 970e38a0c7a46b205ffc6544dd77e00d388749a1
View Raw JSON Data
{
  "block": 18566795,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"jfaucett\",\"following\":\"dtube\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "jfaucett"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2017-12-31T11:40:30",
  "trx_id": "970e38a0c7a46b205ffc6544dd77e00d388749a1",
  "trx_in_block": 33,
  "virtual_op": 0
}
jfaucettremoved vote from (0.00%) @jfaucett / cohen-s-kappa
2017/12/31 11:33:57
authorjfaucett
permlinkcohen-s-kappa
voterjfaucett
weight0 (0.00%)
Transaction InfoBlock #18566664/Trx 7f1ac3a5e7e771c066d198e20491ad9625316eb7
View Raw JSON Data
{
  "block": 18566664,
  "op": [
    "vote",
    {
      "author": "jfaucett",
      "permlink": "cohen-s-kappa",
      "voter": "jfaucett",
      "weight": 0
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2017-12-31T11:33:57",
  "trx_id": "7f1ac3a5e7e771c066d198e20491ad9625316eb7",
  "trx_in_block": 22,
  "virtual_op": 0
}
jfaucettupvoted (100.00%) @jfaucett / cohen-s-kappa
2017/12/31 11:33:39
authorjfaucett
permlinkcohen-s-kappa
voterjfaucett
weight10000 (100.00%)
Transaction InfoBlock #18566658/Trx 68d3be3b8c353eda4a9c6b91e33710faf0fea002
View Raw JSON Data
{
  "block": 18566658,
  "op": [
    "vote",
    {
      "author": "jfaucett",
      "permlink": "cohen-s-kappa",
      "voter": "jfaucett",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2017-12-31T11:33:39",
  "trx_id": "68d3be3b8c353eda4a9c6b91e33710faf0fea002",
  "trx_in_block": 27,
  "virtual_op": 0
}
2017/12/31 10:20:45
authorsteem-network
body<html> <p>Congratulations <a href="/@jfaucett" target="_blank">@jfaucett</a>, you have decided to take the next big step with your first post! The Steem Network Team wishes you a great time among this awesome community.</p> <hr> <div class="pull-left"><img src="https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif" alt="Thumbs up for Steem Network´s strategy" title="I suggest Steem Network´s strategy" width="320" height="222"></div> <h1>The proven road to boost your personal success in this amazing Steem Network</h1> <p>Do you already know that <a href="/@originalworks" target="_blank">@originalworks</a> will get great profits by following these <a href="/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2017-12-31" target="_blank" alt="Steem Network" title="Follow Steem Network´s suggestions to boost your success">simple steps</a>, that have been worked out by experts?</p> </html>
json metadata{"tags": ["steem-network"], "users": ["steem-network", "originalworks", "jfaucett"], "image": ["https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif"], "links": ["/@originalworks", "/@jfaucett", "/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2017-12-31"], "community": "steem-network", "app": "steem-network/1.0.1", "format": "html"}
parent authorjfaucett
parent permlinkcohen-s-kappa
permlinkre-cohen-s-kappa-20171231t102043
title
Transaction InfoBlock #18565200/Trx 44e41050714b225347e01bb5befed026455ba72c
View Raw JSON Data
{
  "block": 18565200,
  "op": [
    "comment",
    {
      "author": "steem-network",
      "body": "<html>\n<p>Congratulations <a href=\"/@jfaucett\" target=\"_blank\">@jfaucett</a>, you have decided to take the next big step with your first post! The Steem Network Team wishes you a great time among this awesome community.</p>\n<hr>\n<div class=\"pull-left\"><img src=\"https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif\" alt=\"Thumbs up for Steem Network´s strategy\" title=\"I suggest Steem Network´s strategy\" width=\"320\" height=\"222\"></div>\n<h1>The proven road to boost your personal success in this amazing Steem Network</h1>\n<p>Do you already know that <a href=\"/@originalworks\" target=\"_blank\">@originalworks</a> will get great profits by following these <a href=\"/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2017-12-31\" target=\"_blank\" alt=\"Steem Network\" title=\"Follow Steem Network´s suggestions to boost your success\">simple steps</a>, that have been worked out by experts?</p>\n</html>",
      "json_metadata": "{\"tags\": [\"steem-network\"], \"users\": [\"steem-network\", \"originalworks\", \"jfaucett\"], \"image\": [\"https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif\"], \"links\": [\"/@originalworks\", \"/@jfaucett\", \"/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2017-12-31\"], \"community\": \"steem-network\", \"app\": \"steem-network/1.0.1\", \"format\": \"html\"}",
      "parent_author": "jfaucett",
      "parent_permlink": "cohen-s-kappa",
      "permlink": "re-cohen-s-kappa-20171231t102043",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2017-12-31T10:20:45",
  "trx_id": "44e41050714b225347e01bb5befed026455ba72c",
  "trx_in_block": 0,
  "virtual_op": 0
}
jfaucettpublished a new post: cohen-s-kappa
2017/12/31 10:20:12
authorjfaucett
bodyCohen's kappa is a statistical measurement for the agreement between two binary variables. It can be useful for comparing how much two different measuring techniques agree about a certain dataset. In this article I'm going to discuss, visualize and provide python code for Cohen's Kappa in an attempt to give you an intuitive understanding for how it works. <div class='section-break' ></div> ### Thinking naively about agreement among raters Imagine you are at a fair and there is a pie contest with two judges. The judges decide which pies are delicious, and hence worthy of going on to the next round and continuing in the competition. In the first round, they rate the 10 pies in the contest as either mediocre or delicious and we would like to know how much the judges agreed with one another. Did Judge A think the same pies as judge B were delicious and did they agree about the mediocre ones or not? The following table shows how the judges rated the pies. <table class="table"> <tbody> <tr> <td></td> <td></td> <td>Judge A</td> <td></td> </tr> <tr> <td></td> <td></td> <td>mediocre</td> <td>delicious</td> </tr> <tr> <td>Judge B</td> <td>mediocre</td> <td>2</td> <td>1</td> </tr> <tr> <td></td> <td>delicious</td> <td>3</td> <td>4</td> </tr> </tbody> </table> Now you might be tempted to look at that data and say, "Well easy, they agreed on 6 out of the 10, therefore there is a 60% agreement among them". This is the naive notion, its known as __percent agreement__, is simple enough to grasp and absolutely useful for quickly getting a rough idea about agreement. We can abstractly think about the previous table as follows: <table class="table"> <tbody> <tr> <td></td> <td>mediocre</td> <td>delicious</td> </tr> <tr> <td>mediocre</td> <td>a</td> <td>b</td> </tr> <tr> <td>delicious</td> <td>c</td> <td>d</td> </tr> </tbody> </table> Then percent agreement is: ![](https://steemitimages.com/DQmUyLFZrQhMAvAWvyVLbAMJNTV67uTikd6uwGWgXLYp51E/image.png) Or in words: > The sum of coinciding ratings divided by the total ratings. The problem with percent agreement is that it ignores how much agreement could have occurred purely due to random chance. And that is where Cohen's kappa comes into play. It builds on the idea of percent agreement but takes random chance agreement into account. Before we move let's build our python function for percent agreement and make it work for N possible rating values i.e. (mediocre, delicious, average, etc.). ```python import numpy as np def percent_agreement(x): agreement_sum = 0 for i in range(0, len(x)): agreement_sum += x[i,i] return agreement_sum / np.sum(x) # or in the much shorted numpy form def percent_agreement(x): return x.diagonal().sum() / x.sum() ``` <div class='section-break' ></div> ### Taking random chance into account So let's look at that table again: <table class="table"> <tbody> <tr> <td></td> <td></td> <td>Judge A</td> <td></td> </tr> <tr> <td></td> <td></td> <td>mediocre</td> <td>delicious</td> </tr> <tr> <td>Judge B</td> <td>mediocre</td> <td>2</td> <td>1</td> </tr> <tr> <td></td> <td>delicious</td> <td>3</td> <td>4</td> </tr> </tbody> </table> We know we have an observed agreement of 0.6 or 60%. But we also know some percentage of that agreement is due to random chance. So intuitively we know our equation has to look something like the following: ![](https://steemitimages.com/DQmZF27dYkQqU7jfA5mL1FKrMfwahG8FXTEisPjfTefpdLh/image.png) Let's start our search for expected agreement by using classical probability to look at each rater. We'll figure that due to the law of large numbers that the expected probability will be a pretty good measure for the agreement we should expect due to random chance. So here's what we know about the judges. __Judge A__: He rated 5 pies as mediocre and 5 pies as delicious. __Judge B__: He rated 3 pies as mediocre and 7 pies as delicious. So the expected probability that the judges will agree that the pie is mediocre is: ![](https://steemitimages.com/DQmcxeN9yDhShoBTq7P7RRZ1MDpAjE2D6wMvPZoHR3ag8gL/image.png) And the expected probability that the judges will agree that the pie is delicious is: ![](https://steemitimages.com/DQmPrvGZ2DiGTikSnd9TnuTthvfB8KrNEEfWLKroqU5Jxay/image.png) When we add these up we get ![](https://steemitimages.com/DQmR3kmX7CUc5r9XaLRtKENbDv6aXK99p5qwkcw2b1oiPxW/image.png) Finally, we could just subtract 0.5 from 0.6 and get 0.1. But this doesn't tell us much, especially from one case to the next. One thing we might want to know is: > what percentage of the whole agreement is not due to random chance? To get answer this question we could do: ![](https://steemitimages.com/DQmebtMaiMsgiAC6jU8AvDTZDeYfxb8PtRrc9LNySAwNHR6/image.png) But this still doesn't answer our primary question which is: > What is the level of agreement, taking chance into account? Before we answer that let's code up everything we've done thus far. ```python def expected_agreement(x): """ calculates the expected agreement of a 2x2 square matrix. """ sum_total = x.sum() # calculate the probability of agreement on factor 1 factor_b1 = (x[0,0] + x[0,1]) / sum_total factor_a1 = (x[0,0] + x[1,0]) / sum_total p1 = factor_b1 * factor_a1 # calculate the probability of agreement on factor 2 factor_b2 = (x[1,0] + x[1,1]) / sum_total factor_a2 = (x[0,1] + x[1,1]) / sum_total p2 = factor_b2 * factor_a2 # total probability of agreement return p1 + p2 ``` <div class='section-break' ></div> ### Cohen's Kappa formula Finally, lets look at the formula for Cohen's kappa. ![](https://steemitimages.com/DQmbybqjUB5E5jumDQJ4RxEbddXj51PNRPQXXLfnfvn83qZ/image.png) This gives us the agreement between the raters as a percentage of the maximum agreement possible which is obviously 1 (if you don't believe me just look at our percent agreement equation again and imagine `b` and `c` are both zero). Then by subtracting the expected agreement we have controlled for all the agreement due to random chance. This is idea behind Cohen's kappa. Let's code that up in python. ```python def cohens_kappa(x): observed_agreement_value = percent_agreement(x) expected_agreement_value = expected_agreement(x) max_agreement_possible = 1 return ((observed_agreement_value - expected_agreement_value) / (max_agreement_possible - expected_agreement_value)) ``` If we now apply that function to our dataset we get: ![](https://steemitimages.com/DQmWDsoEyBizp4yZC1h44potLvADFrs5jtYMdyZF23x1N9s/image.png) So 0.2 is our agreement value after controlling for random chance - quite different from 60% or 0.6 wouldn't you say? And now we come to the question of how we should interpret that value. Cohen suggested the following values: * values <= 0 = no agreement * 0.01-0.20 = no to slight agreement * 0.21-0.40 = fair agreement * 0.41-0.60 = moderate agreement * 0.61-0.80 = substantial agreement * 0.81-1.00 = almost perfect agreement Which would mean that our initial percent agreement calucation that produced 60% agreement and seemed substantial actually represents virtually no to a merely slight agreement once run through Cohen's Kappa. _C'est la fin et merci beaucoup_. <div class='section-break' ></div> #### References 1. Cohen's kappa. (2017, October 24). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Cohen%27s_kappa 2. Inter-rater reliability. (2017, October 20). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Inter-rater_reliability 3. Law of large numbers. (2017, October 09). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Law_of_large_numbers 4. McHugh, M. L. (2012, October). Interrater reliability: the kappa statistic. Retrieved November 12, 2017, from https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900052/
json metadata{"tags":["statistics","datascience","math","technology","agreement"],"image":["https://steemitimages.com/DQmUyLFZrQhMAvAWvyVLbAMJNTV67uTikd6uwGWgXLYp51E/image.png","https://steemitimages.com/DQmZF27dYkQqU7jfA5mL1FKrMfwahG8FXTEisPjfTefpdLh/image.png","https://steemitimages.com/DQmcxeN9yDhShoBTq7P7RRZ1MDpAjE2D6wMvPZoHR3ag8gL/image.png","https://steemitimages.com/DQmPrvGZ2DiGTikSnd9TnuTthvfB8KrNEEfWLKroqU5Jxay/image.png","https://steemitimages.com/DQmR3kmX7CUc5r9XaLRtKENbDv6aXK99p5qwkcw2b1oiPxW/image.png","https://steemitimages.com/DQmebtMaiMsgiAC6jU8AvDTZDeYfxb8PtRrc9LNySAwNHR6/image.png","https://steemitimages.com/DQmbybqjUB5E5jumDQJ4RxEbddXj51PNRPQXXLfnfvn83qZ/image.png","https://steemitimages.com/DQmWDsoEyBizp4yZC1h44potLvADFrs5jtYMdyZF23x1N9s/image.png"],"links":["https://en.wikipedia.org/wiki/Cohen%27s_kappa","https://en.wikipedia.org/wiki/Inter-rater_reliability","https://en.wikipedia.org/wiki/Law_of_large_numbers","https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900052/"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkstatistics
permlinkcohen-s-kappa
titleCohen's Kappa
Transaction InfoBlock #18565189/Trx 569f9c9623d0c1f6351e721c6e51d1cd2a70304d
View Raw JSON Data
{
  "block": 18565189,
  "op": [
    "comment",
    {
      "author": "jfaucett",
      "body": "Cohen's kappa is a statistical measurement for the agreement between two binary variables. It can be useful for comparing how much two different measuring techniques agree about a certain dataset.\n\nIn this article I'm going to discuss, visualize and provide python code for Cohen's Kappa in an attempt to give you an intuitive understanding for how it works.\n\n<div class='section-break' ></div>\n\n### Thinking naively about agreement among raters\n\nImagine you are at a fair and there is a pie contest with two judges.\nThe judges decide which pies are delicious, and hence worthy of going on to the next round and continuing in the competition.\nIn the first round, they rate the 10 pies in the contest as either mediocre or delicious and we would like to know how much the judges agreed with one another. Did Judge A think the same pies as judge B were delicious and did they agree about the mediocre ones or not? The following table shows how the judges rated the pies.\n\n\n<table class=\"table\">\n<tbody>\n<tr>\n  <td></td>\n  <td></td>\n  <td>Judge A</td>\n  <td></td>\n</tr>\n  <tr>\n    <td></td>\n    <td></td>\n    <td>mediocre</td>\n    <td>delicious</td>\n  </tr>\n  <tr>\n    <td>Judge B</td>\n    <td>mediocre</td>\n    <td>2</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td></td>\n    <td>delicious</td>\n    <td>3</td>\n    <td>4</td>\n  </tr>\n\n</tbody>\n</table>\n\n\nNow you might be tempted to look at that data and say, \"Well easy, they agreed on 6 out of the 10, therefore there is a 60% agreement among them\". This is the naive notion, its known as __percent agreement__, is simple enough to grasp and absolutely useful for quickly getting a rough idea about agreement. We can abstractly think about the previous table as follows:\n\n<table class=\"table\">\n<tbody>\n  <tr>\n    <td></td>\n    <td>mediocre</td>\n    <td>delicious</td>\n  </tr>\n  <tr>\n    <td>mediocre</td>\n    <td>a</td>\n    <td>b</td>\n  </tr>\n  <tr>\n    <td>delicious</td>\n    <td>c</td>\n    <td>d</td>\n  </tr>\n\n</tbody>\n</table>\n\nThen percent agreement is:\n\n![](https://steemitimages.com/DQmUyLFZrQhMAvAWvyVLbAMJNTV67uTikd6uwGWgXLYp51E/image.png)\n\nOr in words:\n\n> The sum of coinciding ratings divided by the total ratings.\n\nThe problem with percent agreement is that it ignores how much agreement could have occurred purely due to random chance.\n\nAnd that is where Cohen's kappa comes into play. It builds on the idea of percent agreement but takes random chance agreement into account.\n\nBefore we move let's build our python function for percent agreement and make it work for N possible rating values i.e. (mediocre, delicious, average, etc.).\n\n```python\nimport numpy as np\n\ndef percent_agreement(x):\n  agreement_sum = 0\n  for i in range(0, len(x)):\n    agreement_sum += x[i,i]\n  return agreement_sum / np.sum(x)\n\n# or in the much shorted numpy form\ndef percent_agreement(x):\n  return x.diagonal().sum() / x.sum()\n```\n\n<div class='section-break' ></div>\n\n### Taking random chance into account\n\nSo let's look at that table again:\n\n<table class=\"table\">\n<tbody>\n<tr>\n  <td></td>\n  <td></td>\n  <td>Judge A</td>\n  <td></td>\n</tr>\n  <tr>\n    <td></td>\n    <td></td>\n    <td>mediocre</td>\n    <td>delicious</td>\n  </tr>\n  <tr>\n    <td>Judge B</td>\n    <td>mediocre</td>\n    <td>2</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td></td>\n    <td>delicious</td>\n    <td>3</td>\n    <td>4</td>\n  </tr>\n\n</tbody>\n</table>\n\nWe know we have an observed agreement of 0.6 or 60%. But we also know some percentage of that agreement is due to random chance.\nSo intuitively we know our equation has to look something like the following:\n\n![](https://steemitimages.com/DQmZF27dYkQqU7jfA5mL1FKrMfwahG8FXTEisPjfTefpdLh/image.png)\n\nLet's start our search for expected agreement by using classical probability to look at each rater. We'll figure that due to the law of large numbers that the expected probability will be a pretty good measure for the agreement we should expect due to random chance.\n\nSo here's what we know about the judges.\n\n__Judge A__: He rated 5 pies as mediocre and 5 pies as delicious.\n\n__Judge B__: He rated 3 pies as mediocre and 7 pies as delicious.\n\nSo the expected probability that the judges will agree that the pie is mediocre is:\n\n![](https://steemitimages.com/DQmcxeN9yDhShoBTq7P7RRZ1MDpAjE2D6wMvPZoHR3ag8gL/image.png)\n\nAnd the expected probability that the judges will agree that the pie is delicious is:\n\n![](https://steemitimages.com/DQmPrvGZ2DiGTikSnd9TnuTthvfB8KrNEEfWLKroqU5Jxay/image.png)\n\nWhen we add these up we get\n\n![](https://steemitimages.com/DQmR3kmX7CUc5r9XaLRtKENbDv6aXK99p5qwkcw2b1oiPxW/image.png)\n\nFinally, we could just subtract 0.5 from 0.6 and get 0.1. But this doesn't tell us much, especially from one case to the next.\nOne thing we might want to know is:\n\n> what percentage of the whole agreement is not due to random chance?\n\nTo get answer this question we could do:\n\n![](https://steemitimages.com/DQmebtMaiMsgiAC6jU8AvDTZDeYfxb8PtRrc9LNySAwNHR6/image.png)\n\nBut this still doesn't answer our primary question which is:\n\n> What is the level of agreement, taking chance into account?\n\nBefore we answer that let's code up everything we've done thus far.\n\n```python\n\ndef expected_agreement(x):\n    \"\"\"\n    calculates the expected agreement of a 2x2 square matrix.\n    \"\"\"\n    sum_total = x.sum()\n\n    # calculate the probability of agreement on factor 1\n    factor_b1 = (x[0,0] + x[0,1]) / sum_total\n    factor_a1 = (x[0,0] + x[1,0]) / sum_total\n    p1 = factor_b1 * factor_a1\n\n    # calculate the probability of agreement on factor 2\n    factor_b2 = (x[1,0] + x[1,1]) / sum_total\n    factor_a2 = (x[0,1] + x[1,1]) / sum_total\n    p2 = factor_b2 * factor_a2\n\n    # total probability of agreement\n    return p1 + p2\n```\n\n<div class='section-break' ></div>\n\n### Cohen's Kappa formula\n\nFinally, lets look at the formula for Cohen's kappa.\n\n![](https://steemitimages.com/DQmbybqjUB5E5jumDQJ4RxEbddXj51PNRPQXXLfnfvn83qZ/image.png)\n\nThis gives us the agreement between the raters as a percentage of the maximum agreement possible which is obviously 1 (if you don't believe me just look at our percent agreement equation again and imagine `b` and `c` are both zero). Then by subtracting the expected agreement we have controlled for all the agreement due to random chance.\n\nThis is idea behind Cohen's kappa. Let's code that up in python.\n\n```python\n\ndef cohens_kappa(x):\n  observed_agreement_value = percent_agreement(x)\n  expected_agreement_value = expected_agreement(x)\n  max_agreement_possible = 1\n\n  return ((observed_agreement_value - expected_agreement_value) /\n          (max_agreement_possible - expected_agreement_value))\n\n```\n\nIf we now apply that function to our dataset we get:\n\n![](https://steemitimages.com/DQmWDsoEyBizp4yZC1h44potLvADFrs5jtYMdyZF23x1N9s/image.png)\n\nSo 0.2 is our agreement value after controlling for random chance - quite different from 60% or 0.6 wouldn't you say?\n\nAnd now we come to the question of how we should interpret that value. Cohen suggested the following values:\n\n* values <= 0 = no agreement\n* 0.01-0.20 = no to slight agreement\n* 0.21-0.40 = fair agreement\n* 0.41-0.60 = moderate agreement\n* 0.61-0.80 = substantial agreement\n* 0.81-1.00 = almost perfect agreement\n\nWhich would mean that our initial percent agreement calucation that produced 60% agreement and seemed substantial actually represents virtually no to a merely slight agreement once run through Cohen's Kappa.\n\n_C'est la fin et merci beaucoup_.\n\n<div class='section-break' ></div>\n\n#### References\n\n1. Cohen's kappa. (2017, October 24). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Cohen%27s_kappa\n2. Inter-rater reliability. (2017, October 20). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Inter-rater_reliability\n3. Law of large numbers. (2017, October 09). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Law_of_large_numbers\n4. McHugh, M. L. (2012, October). Interrater reliability: the kappa statistic. Retrieved November 12, 2017, from https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900052/",
      "json_metadata": "{\"tags\":[\"statistics\",\"datascience\",\"math\",\"technology\",\"agreement\"],\"image\":[\"https://steemitimages.com/DQmUyLFZrQhMAvAWvyVLbAMJNTV67uTikd6uwGWgXLYp51E/image.png\",\"https://steemitimages.com/DQmZF27dYkQqU7jfA5mL1FKrMfwahG8FXTEisPjfTefpdLh/image.png\",\"https://steemitimages.com/DQmcxeN9yDhShoBTq7P7RRZ1MDpAjE2D6wMvPZoHR3ag8gL/image.png\",\"https://steemitimages.com/DQmPrvGZ2DiGTikSnd9TnuTthvfB8KrNEEfWLKroqU5Jxay/image.png\",\"https://steemitimages.com/DQmR3kmX7CUc5r9XaLRtKENbDv6aXK99p5qwkcw2b1oiPxW/image.png\",\"https://steemitimages.com/DQmebtMaiMsgiAC6jU8AvDTZDeYfxb8PtRrc9LNySAwNHR6/image.png\",\"https://steemitimages.com/DQmbybqjUB5E5jumDQJ4RxEbddXj51PNRPQXXLfnfvn83qZ/image.png\",\"https://steemitimages.com/DQmWDsoEyBizp4yZC1h44potLvADFrs5jtYMdyZF23x1N9s/image.png\"],\"links\":[\"https://en.wikipedia.org/wiki/Cohen%27s_kappa\",\"https://en.wikipedia.org/wiki/Inter-rater_reliability\",\"https://en.wikipedia.org/wiki/Law_of_large_numbers\",\"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900052/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "statistics",
      "permlink": "cohen-s-kappa",
      "title": "Cohen's Kappa"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2017-12-31T10:20:12",
  "trx_id": "569f9c9623d0c1f6351e721c6e51d1cd2a70304d",
  "trx_in_block": 18,
  "virtual_op": 0
}
jfaucettpublished a new post: cohen-s-kappa
2017/12/31 10:19:03
authorjfaucett
bodyCohen's kappa is a statistical measurement for the agreement between two binary variables. It can be useful for comparing how much two different measuring techniques agree about a certain dataset. In this article I'm going to discuss, visualize and provide python code for Cohen's Kappa in an attempt to give you an intuitive understanding for how it works. <div class='section-break' ></div> ### Thinking naively about agreement among raters Imagine you are at a fair and there is a pie contest with two judges. The judges decide which pies are delicious, and hence worthy of going on to the next round and continuing in the competition. In the first round, they rate the 10 pies in the contest as either mediocre or delicious and we would like to know how much the judges agreed with one another. Did Judge A think the same pies as judge B were delicious and did they agree about the mediocre ones or not? The following table shows how the judges rated the pies. <table class="table"> <tbody> <tr> <td></td> <td></td> <td>Judge A</td> <td></td> </tr> <tr> <td></td> <td></td> <td>mediocre</td> <td>delicious</td> </tr> <tr> <td>Judge B</td> <td>mediocre</td> <td>2</td> <td>1</td> </tr> <tr> <td></td> <td>delicious</td> <td>3</td> <td>4</td> </tr> </tbody> </table> Now you might be tempted to look at that data and say, "Well easy, they agreed on 6 out of the 10, therefore there is a 60% agreement among them". This is the naive notion, its known as __percent agreement__, is simple enough to grasp and absolutely useful for quickly getting a rough idea about agreement. We can abstractly think about the previous table as follows: <table class="table"> <tbody> <tr> <td></td> <td>mediocre</td> <td>delicious</td> </tr> <tr> <td>mediocre</td> <td>a</td> <td>b</td> </tr> <tr> <td>delicious</td> <td>c</td> <td>d</td> </tr> </tbody> </table> Then percent agreement is: ![](https://steemitimages.com/DQmUyLFZrQhMAvAWvyVLbAMJNTV67uTikd6uwGWgXLYp51E/image.png) Or in words: > The sum of coinciding ratings divided by the total ratings. The problem with percent agreement is that it ignores how much agreement could have occurred purely due to random chance. And that is where Cohen's kappa comes into play. It builds on the idea of percent agreement but takes random chance agreement into account. Before we move let's build our python function for percent agreement and make it work for N possible rating values i.e. (mediocre, delicious, average, etc.). ```python import numpy as np def percent_agreement(x): agreement_sum = 0 for i in range(0, len(x)): agreement_sum += x[i,i] return agreement_sum / np.sum(x) # or in the much shorted numpy form def percent_agreement(x): return x.diagonal().sum() / x.sum() ``` <div class='section-break' ></div> ### Taking random chance into account So let's look at that table again: <table class="table"> <tbody> <tr> <td></td> <td></td> <td>Judge A</td> <td></td> </tr> <tr> <td></td> <td></td> <td>mediocre</td> <td>delicious</td> </tr> <tr> <td>Judge B</td> <td>mediocre</td> <td>2</td> <td>1</td> </tr> <tr> <td></td> <td>delicious</td> <td>3</td> <td>4</td> </tr> </tbody> </table> We know we have an observed agreement of 0.6 or 60%. But we also know some percentage of that agreement is due to random chance. So intuitively we know our equation has to look something like the following: ![](https://steemitimages.com/DQmZF27dYkQqU7jfA5mL1FKrMfwahG8FXTEisPjfTefpdLh/image.png) Let's start our search for expected agreement by using classical probability to look at each rater. We'll figure that due to the law of large numbers that the expected probability will be a pretty good measure for the agreement we should expect due to random chance. So here's what we know about the judges. __Judge A__: He rated 5 pies as mediocre and 5 pies as delicious. __Judge B__: He rated 3 pies as mediocre and 7 pies as delicious. So the expected probability that the judges will agree that the pie is mediocre is: ![](https://steemitimages.com/DQmcxeN9yDhShoBTq7P7RRZ1MDpAjE2D6wMvPZoHR3ag8gL/image.png) And the expected probability that the judges will agree that the pie is delicious is: ![](https://steemitimages.com/DQmPrvGZ2DiGTikSnd9TnuTthvfB8KrNEEfWLKroqU5Jxay/image.png) When we add these up we get ![](https://steemitimages.com/DQmR3kmX7CUc5r9XaLRtKENbDv6aXK99p5qwkcw2b1oiPxW/image.png) Finally, we could just subtract 0.5 from 0.6 and get 0.1. But this doesn't tell us much, especially from one case to the next. One thing we might want to know is: > what percentage of the whole agreement is not due to random chance? To get answer this question we could do: ![](https://steemitimages.com/DQmebtMaiMsgiAC6jU8AvDTZDeYfxb8PtRrc9LNySAwNHR6/image.png) But this still doesn't answer our primary question which is: > What is the level of agreement, taking chance into account? Before we answer that let's code up everything we've done thus far. ```python def expected_agreement(x): """ calculates the expected agreement of a 2x2 square matrix. """ sum_total = x.sum() # calculate the probability of agreement on factor 1 factor_b1 = (x[0,0] + x[0,1]) / sum_total factor_a1 = (x[0,0] + x[1,0]) / sum_total p1 = factor_b1 * factor_a1 # calculate the probability of agreement on factor 2 factor_b2 = (x[1,0] + x[1,1]) / sum_total factor_a2 = (x[0,1] + x[1,1]) / sum_total p2 = factor_b2 * factor_a2 # total probability of agreement return p1 + p2 ``` <div class='section-break' ></div> ### Cohen's Kappa formula Finally, lets look at the formula for Cohen's kappa. ![](https://steemitimages.com/DQmbybqjUB5E5jumDQJ4RxEbddXj51PNRPQXXLfnfvn83qZ/image.png) This gives us the agreement between the raters as a percentage of the maximum agreement possible which is obviously 1 (if you don't believe me just look at our percent agreement equation again and imagine `b` and `c` are both zero). Then by subtracting the expected agreement we have controlled for all the agreement due to random chance. This is idea behind Cohen's kappa. Let's code that up in python. ```python def cohens_kappa(x): observed_agreement_value = percent_agreement(x) expected_agreement_value = expected_agreement(x) max_agreement_possible = 1 return ((observed_agreement_value - expected_agreement_value) / (max_agreement_possible - expected_agreement_value)) ``` If we now apply that function to our dataset we get: ![](https://steemitimages.com/DQmWDsoEyBizp4yZC1h44potLvADFrs5jtYMdyZF23x1N9s/image.png) So 0.2 is our agreement value after controlling for random chance - quite different from 60% or 0.6 wouldn't you say? And now we come to the question of how we should interpret that value. Cohen suggested the following values: * values <= 0 = no agreement * 0.01-0.20 = no to slight agreement * 0.21-0.40 = fair agreement * 0.41-0.60 = moderate agreement * 0.61-0.80 = substantial agreement * 0.81-1.00 = almost perfect agreement Which would mean that our initial percent agreement calucation that produced 60% agreement and seemed substantial actually represents virtually no to a merely slight agreement once run through Cohen's Kappa. _C'est la fin et merci beaucoup_. <div class='section-break' ></div> #### References 1. Cohen's kappa. (2017, October 24). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Cohen%27s_kappa 2. Inter-rater reliability. (2017, October 20). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Inter-rater_reliability 3. Law of large numbers. (2017, October 09). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Law_of_large_numbers 4. McHugh, M. L. (2012, October). Interrater reliability: the kappa statistic. Retrieved November 12, 2017, from https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900052/
json metadata{"tags":["statistics","datascience","math"],"image":["https://steemitimages.com/DQmUyLFZrQhMAvAWvyVLbAMJNTV67uTikd6uwGWgXLYp51E/image.png","https://steemitimages.com/DQmZF27dYkQqU7jfA5mL1FKrMfwahG8FXTEisPjfTefpdLh/image.png","https://steemitimages.com/DQmcxeN9yDhShoBTq7P7RRZ1MDpAjE2D6wMvPZoHR3ag8gL/image.png","https://steemitimages.com/DQmPrvGZ2DiGTikSnd9TnuTthvfB8KrNEEfWLKroqU5Jxay/image.png","https://steemitimages.com/DQmR3kmX7CUc5r9XaLRtKENbDv6aXK99p5qwkcw2b1oiPxW/image.png","https://steemitimages.com/DQmebtMaiMsgiAC6jU8AvDTZDeYfxb8PtRrc9LNySAwNHR6/image.png","https://steemitimages.com/DQmbybqjUB5E5jumDQJ4RxEbddXj51PNRPQXXLfnfvn83qZ/image.png","https://steemitimages.com/DQmWDsoEyBizp4yZC1h44potLvADFrs5jtYMdyZF23x1N9s/image.png"],"links":["https://en.wikipedia.org/wiki/Cohen%27s_kappa","https://en.wikipedia.org/wiki/Inter-rater_reliability","https://en.wikipedia.org/wiki/Law_of_large_numbers","https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900052/"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkstatistics
permlinkcohen-s-kappa
titleCohen's Kappa
Transaction InfoBlock #18565166/Trx 5f98a7bf6246c8a52e770fbaf4555978dd6337ee
View Raw JSON Data
{
  "block": 18565166,
  "op": [
    "comment",
    {
      "author": "jfaucett",
      "body": "Cohen's kappa is a statistical measurement for the agreement between two binary variables. It can be useful for comparing how much two different measuring techniques agree about a certain dataset.\n\nIn this article I'm going to discuss, visualize and provide python code for Cohen's Kappa in an attempt to give you an intuitive understanding for how it works.\n\n<div class='section-break' ></div>\n\n### Thinking naively about agreement among raters\n\nImagine you are at a fair and there is a pie contest with two judges.\nThe judges decide which pies are delicious, and hence worthy of going on to the next round and continuing in the competition.\nIn the first round, they rate the 10 pies in the contest as either mediocre or delicious and we would like to know how much the judges agreed with one another. Did Judge A think the same pies as judge B were delicious and did they agree about the mediocre ones or not? The following table shows how the judges rated the pies.\n\n\n<table class=\"table\">\n<tbody>\n<tr>\n  <td></td>\n  <td></td>\n  <td>Judge A</td>\n  <td></td>\n</tr>\n  <tr>\n    <td></td>\n    <td></td>\n    <td>mediocre</td>\n    <td>delicious</td>\n  </tr>\n  <tr>\n    <td>Judge B</td>\n    <td>mediocre</td>\n    <td>2</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td></td>\n    <td>delicious</td>\n    <td>3</td>\n    <td>4</td>\n  </tr>\n\n</tbody>\n</table>\n\n\nNow you might be tempted to look at that data and say, \"Well easy, they agreed on 6 out of the 10, therefore there is a 60% agreement among them\". This is the naive notion, its known as __percent agreement__, is simple enough to grasp and absolutely useful for quickly getting a rough idea about agreement. We can abstractly think about the previous table as follows:\n\n<table class=\"table\">\n<tbody>\n  <tr>\n    <td></td>\n    <td>mediocre</td>\n    <td>delicious</td>\n  </tr>\n  <tr>\n    <td>mediocre</td>\n    <td>a</td>\n    <td>b</td>\n  </tr>\n  <tr>\n    <td>delicious</td>\n    <td>c</td>\n    <td>d</td>\n  </tr>\n\n</tbody>\n</table>\n\nThen percent agreement is:\n\n![](https://steemitimages.com/DQmUyLFZrQhMAvAWvyVLbAMJNTV67uTikd6uwGWgXLYp51E/image.png)\n\nOr in words:\n\n> The sum of coinciding ratings divided by the total ratings.\n\nThe problem with percent agreement is that it ignores how much agreement could have occurred purely due to random chance.\n\nAnd that is where Cohen's kappa comes into play. It builds on the idea of percent agreement but takes random chance agreement into account.\n\nBefore we move let's build our python function for percent agreement and make it work for N possible rating values i.e. (mediocre, delicious, average, etc.).\n\n```python\nimport numpy as np\n\ndef percent_agreement(x):\n  agreement_sum = 0\n  for i in range(0, len(x)):\n    agreement_sum += x[i,i]\n  return agreement_sum / np.sum(x)\n\n# or in the much shorted numpy form\ndef percent_agreement(x):\n  return x.diagonal().sum() / x.sum()\n```\n\n<div class='section-break' ></div>\n\n### Taking random chance into account\n\nSo let's look at that table again:\n\n<table class=\"table\">\n<tbody>\n<tr>\n  <td></td>\n  <td></td>\n  <td>Judge A</td>\n  <td></td>\n</tr>\n  <tr>\n    <td></td>\n    <td></td>\n    <td>mediocre</td>\n    <td>delicious</td>\n  </tr>\n  <tr>\n    <td>Judge B</td>\n    <td>mediocre</td>\n    <td>2</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td></td>\n    <td>delicious</td>\n    <td>3</td>\n    <td>4</td>\n  </tr>\n\n</tbody>\n</table>\n\nWe know we have an observed agreement of 0.6 or 60%. But we also know some percentage of that agreement is due to random chance.\nSo intuitively we know our equation has to look something like the following:\n\n![](https://steemitimages.com/DQmZF27dYkQqU7jfA5mL1FKrMfwahG8FXTEisPjfTefpdLh/image.png)\n\nLet's start our search for expected agreement by using classical probability to look at each rater. We'll figure that due to the law of large numbers that the expected probability will be a pretty good measure for the agreement we should expect due to random chance.\n\nSo here's what we know about the judges.\n\n__Judge A__: He rated 5 pies as mediocre and 5 pies as delicious.\n\n__Judge B__: He rated 3 pies as mediocre and 7 pies as delicious.\n\nSo the expected probability that the judges will agree that the pie is mediocre is:\n\n![](https://steemitimages.com/DQmcxeN9yDhShoBTq7P7RRZ1MDpAjE2D6wMvPZoHR3ag8gL/image.png)\n\nAnd the expected probability that the judges will agree that the pie is delicious is:\n\n![](https://steemitimages.com/DQmPrvGZ2DiGTikSnd9TnuTthvfB8KrNEEfWLKroqU5Jxay/image.png)\n\nWhen we add these up we get\n\n![](https://steemitimages.com/DQmR3kmX7CUc5r9XaLRtKENbDv6aXK99p5qwkcw2b1oiPxW/image.png)\n\nFinally, we could just subtract 0.5 from 0.6 and get 0.1. But this doesn't tell us much, especially from one case to the next.\nOne thing we might want to know is:\n\n> what percentage of the whole agreement is not due to random chance?\n\nTo get answer this question we could do:\n\n![](https://steemitimages.com/DQmebtMaiMsgiAC6jU8AvDTZDeYfxb8PtRrc9LNySAwNHR6/image.png)\n\nBut this still doesn't answer our primary question which is:\n\n> What is the level of agreement, taking chance into account?\n\nBefore we answer that let's code up everything we've done thus far.\n\n```python\n\ndef expected_agreement(x):\n    \"\"\"\n    calculates the expected agreement of a 2x2 square matrix.\n    \"\"\"\n    sum_total = x.sum()\n\n    # calculate the probability of agreement on factor 1\n    factor_b1 = (x[0,0] + x[0,1]) / sum_total\n    factor_a1 = (x[0,0] + x[1,0]) / sum_total\n    p1 = factor_b1 * factor_a1\n\n    # calculate the probability of agreement on factor 2\n    factor_b2 = (x[1,0] + x[1,1]) / sum_total\n    factor_a2 = (x[0,1] + x[1,1]) / sum_total\n    p2 = factor_b2 * factor_a2\n\n    # total probability of agreement\n    return p1 + p2\n```\n\n<div class='section-break' ></div>\n\n### Cohen's Kappa formula\n\nFinally, lets look at the formula for Cohen's kappa.\n\n![](https://steemitimages.com/DQmbybqjUB5E5jumDQJ4RxEbddXj51PNRPQXXLfnfvn83qZ/image.png)\n\nThis gives us the agreement between the raters as a percentage of the maximum agreement possible which is obviously 1 (if you don't believe me just look at our percent agreement equation again and imagine `b` and `c` are both zero). Then by subtracting the expected agreement we have controlled for all the agreement due to random chance.\n\nThis is idea behind Cohen's kappa. Let's code that up in python.\n\n```python\n\ndef cohens_kappa(x):\n  observed_agreement_value = percent_agreement(x)\n  expected_agreement_value = expected_agreement(x)\n  max_agreement_possible = 1\n\n  return ((observed_agreement_value - expected_agreement_value) /\n          (max_agreement_possible - expected_agreement_value))\n\n```\n\nIf we now apply that function to our dataset we get:\n\n![](https://steemitimages.com/DQmWDsoEyBizp4yZC1h44potLvADFrs5jtYMdyZF23x1N9s/image.png)\n\nSo 0.2 is our agreement value after controlling for random chance - quite different from 60% or 0.6 wouldn't you say?\n\nAnd now we come to the question of how we should interpret that value. Cohen suggested the following values:\n\n* values <= 0 = no agreement\n* 0.01-0.20 = no to slight agreement\n* 0.21-0.40 = fair agreement\n* 0.41-0.60 = moderate agreement\n* 0.61-0.80 = substantial agreement\n* 0.81-1.00 = almost perfect agreement\n\nWhich would mean that our initial percent agreement calucation that produced 60% agreement and seemed substantial actually represents virtually no to a merely slight agreement once run through Cohen's Kappa.\n\n_C'est la fin et merci beaucoup_.\n\n<div class='section-break' ></div>\n\n#### References\n\n1. Cohen's kappa. (2017, October 24). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Cohen%27s_kappa\n2. Inter-rater reliability. (2017, October 20). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Inter-rater_reliability\n3. Law of large numbers. (2017, October 09). Retrieved November 12, 2017, from https://en.wikipedia.org/wiki/Law_of_large_numbers\n4. McHugh, M. L. (2012, October). Interrater reliability: the kappa statistic. Retrieved November 12, 2017, from https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900052/",
      "json_metadata": "{\"tags\":[\"statistics\",\"datascience\",\"math\"],\"image\":[\"https://steemitimages.com/DQmUyLFZrQhMAvAWvyVLbAMJNTV67uTikd6uwGWgXLYp51E/image.png\",\"https://steemitimages.com/DQmZF27dYkQqU7jfA5mL1FKrMfwahG8FXTEisPjfTefpdLh/image.png\",\"https://steemitimages.com/DQmcxeN9yDhShoBTq7P7RRZ1MDpAjE2D6wMvPZoHR3ag8gL/image.png\",\"https://steemitimages.com/DQmPrvGZ2DiGTikSnd9TnuTthvfB8KrNEEfWLKroqU5Jxay/image.png\",\"https://steemitimages.com/DQmR3kmX7CUc5r9XaLRtKENbDv6aXK99p5qwkcw2b1oiPxW/image.png\",\"https://steemitimages.com/DQmebtMaiMsgiAC6jU8AvDTZDeYfxb8PtRrc9LNySAwNHR6/image.png\",\"https://steemitimages.com/DQmbybqjUB5E5jumDQJ4RxEbddXj51PNRPQXXLfnfvn83qZ/image.png\",\"https://steemitimages.com/DQmWDsoEyBizp4yZC1h44potLvADFrs5jtYMdyZF23x1N9s/image.png\"],\"links\":[\"https://en.wikipedia.org/wiki/Cohen%27s_kappa\",\"https://en.wikipedia.org/wiki/Inter-rater_reliability\",\"https://en.wikipedia.org/wiki/Law_of_large_numbers\",\"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900052/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "statistics",
      "permlink": "cohen-s-kappa",
      "title": "Cohen's Kappa"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2017-12-31T10:19:03",
  "trx_id": "5f98a7bf6246c8a52e770fbaf4555978dd6337ee",
  "trx_in_block": 18,
  "virtual_op": 0
}
steemcreated a new account: @jfaucett
2017/12/31 09:54:54
active{"account_auths":[],"key_auths":[["STM85hsYB6Ab5zvBSsq3AiDgSTu1Feztx27GEKEffVxfjHvBkB66Y",1]],"weight_threshold":1}
creatorsteem
delegation57000.000000 VESTS
extensions[]
fee0.500 STEEM
json metadata
memo keySTM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ
new account namejfaucett
owner{"account_auths":[],"key_auths":[["STM66qEMW7k5PvXzCZp6cvnJEdungxpQMV4QB1AK78QpoYyGedXWL",1]],"weight_threshold":1}
posting{"account_auths":[],"key_auths":[["STM8NnmeftF346ULofuKx21ggwArFyArFHoS1cjvrtzqXgYrtaqr2",1]],"weight_threshold":1}
Transaction InfoBlock #18564684/Trx 2ffb1f4556d32bed9ef4ae6e6053d55f1e34b320
View Raw JSON Data
{
  "block": 18564684,
  "op": [
    "account_create_with_delegation",
    {
      "active": {
        "account_auths": [],
        "key_auths": [
          [
            "STM85hsYB6Ab5zvBSsq3AiDgSTu1Feztx27GEKEffVxfjHvBkB66Y",
            1
          ]
        ],
        "weight_threshold": 1
      },
      "creator": "steem",
      "delegation": "57000.000000 VESTS",
      "extensions": [],
      "fee": "0.500 STEEM",
      "json_metadata": "",
      "memo_key": "STM7npGSxSaGXe78H2cce8nbEmDjK3okLYzVqDfvtVqgaqEYS7VWQ",
      "new_account_name": "jfaucett",
      "owner": {
        "account_auths": [],
        "key_auths": [
          [
            "STM66qEMW7k5PvXzCZp6cvnJEdungxpQMV4QB1AK78QpoYyGedXWL",
            1
          ]
        ],
        "weight_threshold": 1
      },
      "posting": {
        "account_auths": [],
        "key_auths": [
          [
            "STM8NnmeftF346ULofuKx21ggwArFyArFHoS1cjvrtzqXgYrtaqr2",
            1
          ]
        ],
        "weight_threshold": 1
      }
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2017-12-31T09:54:54",
  "trx_id": "2ffb1f4556d32bed9ef4ae6e6053d55f1e34b320",
  "trx_in_block": 19,
  "virtual_op": 0
}

Account Metadata

POSTING JSON METADATA
profile{"profile_image":"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200","name":"jfaucett","about":"Engineer, Developer, Scientist"}
JSON METADATA
profile{"profile_image":"https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200","name":"jfaucett","about":"Engineer, Developer, Scientist"}
{
  "posting_json_metadata": {
    "profile": {
      "profile_image": "https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200",
      "name": "jfaucett",
      "about": "Engineer, Developer, Scientist"
    }
  },
  "json_metadata": {
    "profile": {
      "profile_image": "https://www.gravatar.com/avatar/57c307ae8b93d7010a0389067f5a1336?s=200",
      "name": "jfaucett",
      "about": "Engineer, Developer, Scientist"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM5f75kuarAf6wGNGEb38CXkY1UHm8XDpMd66scow4kWVjd4hYxS1/1
Active
Single Signature
Public Keys
STM7BrsWv1bfNSwzhy4xwKLXg2Kk7ijcJrCeZb41Wod9FNP2kqT111/1
Posting
Single Signature
Public Keys
STM5AjLUfZYsRDarosFNCB2okqPtoen3KtU6DxVThHYRRLEZstS6m1/1
Memo
STM7G2xb1ayjkQtTGbWgi7rDj7yALm2DsN2YUBBjiKHA3vLUiFevQ
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5f75kuarAf6wGNGEb38CXkY1UHm8XDpMd66scow4kWVjd4hYxS",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7BrsWv1bfNSwzhy4xwKLXg2Kk7ijcJrCeZb41Wod9FNP2kqT11",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5AjLUfZYsRDarosFNCB2okqPtoen3KtU6DxVThHYRRLEZstS6m",
        1
      ]
    ]
  },
  "memo": "STM7G2xb1ayjkQtTGbWgi7rDj7yALm2DsN2YUBBjiKHA3vLUiFevQ"
}

Witness Votes

0 / 30
No active witness votes.
[]