-
-
Save kyu999/8fc1fe4d4c46687b5e699a28395a9aba to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
# http://sydneyscott.nfshost.com/pubs/gmoknowledge.pdf | |
# https://static-content.springer.com/esm/art%3A10.1038%2Fs41562-018-0520-3/MediaObjects/41562_2018_520_MOESM1_ESM.pdf | |
STUDY1_DATA = [ | |
{ | |
"name": someone, | |
"age": N, | |
"gender": "male" or "female", | |
"objective_scores": [N, ..., N], | |
"self_assessed_knowledge": N(1~7), | |
"extremity_of_opposition": N(1~7), | |
"extremity_of_concern": N(1~7), | |
}, | |
... | |
] | |
EXTREMETY_RANGE = [1,2,3,4,5,6,7] | |
def do_study1(data): | |
all_extremity_of_oppositions = [d.extremity_of_opposition for d in data] | |
all_averaged_objective_scores = [average(d.objective_scores) for d in data] | |
all_self_assessed_knowledge_scores = [d.self_assessed_knowledge for d in data] | |
def generate_figure1(): | |
''' | |
1. Correlation between average self-assessed knowledge of GM foods and extremity of opposition | |
2. Correlation between average scientific literacy and extremity of opposition | |
3. Correlation between the gap of 1&2 and extremity of opposition | |
''' | |
plot(x=all_extremity_of_oppositions, y=all_averaged_objective_scores) | |
reg(x=all_extremity_of_oppositions, y=all_averaged_objective_scores) # > 0 posi | |
plot(x=all_extremity_of_oppositions, y=all_self_assessed_knowledge_scores) | |
reg(x=all_extremity_of_oppositions, y=all_self_assessed_knowledge_scores) # < 0 nega | |
all_averaged_objective_zscores = zscoring(all_averaged_objective_scores) | |
all_self_assessed_knowledge_zscores = zscoring(all_self_assessed_knowledge_scores) | |
difference_scores = [all_averaged_objective_zscores[i] - all_self_assessed_knowledge_zscores[i] for i in range(0, len(all_averaged_objective_zscores))] | |
reg(x=all_extremity_of_oppositions, y=difference_scores) # > 0 posi | |
def generate_figure2(): | |
''' | |
Tested: whether objective knowledge predicts self-assessed knowledge differentially at different levels of extremity of opposition | |
Method: regressing self-assessed knowledge on objective knowledge, extremity of opposition and their interaction | |
※ Interaction effects = It occurs when the effect of one variable depends on another variable. 交互作用。2つの因子が組み合わさることで初めて現れる相乗効果のこと。 | |
''' | |
canvas = get_canvas() | |
# got [2, 4.5, 7] in this study | |
extremity_kinds = get_tenth_fiftieth_ninetieth_percentiles(EXTREMETY_RANGE) | |
for extremity_kind in extremity_kinds: | |
averaged_objective_scores_by_extremity = filter(all_extremity_of_oppositions, lambda d: d.extremity ≒ extremity_kind) | |
self_assessed_knowledge_scores_by_extremity = filter(all_self_assessed_knowledge_scores, lambda d: d.extremity ≒ extremity_kind) | |
model = fit_with_regression(averaged_objective_scores_by_extremity, self_assessed_knowledge_scores_by_extremity) | |
objecctive_knowledge_scale = scale(averaged_objective_scores_by_extremity) | |
predicted_averaged_objective_scores_by_extremity = [model.predict(objective_knowledge_score) for i in objecctive_knowledge_scale] | |
canvas.plot(x=objecctive_knowledge_scale, y=predicted_averaged_objective_scores_by_extremity, same_canvas=True) | |
generate_figure1() | |
generate_figure2() | |
do_study1(STUDY1_DATA) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment