הדאטה מכיל תוצאות מניסוי שנערך במעבדה של פרופ’ יערה ישורון ובדק את הקשר בין דפוסים פרוזודיים משותפים של בני-שיח לבין ההערכה הסובייקטיבית שלהם לגבי איכות האינטראקציה. הניסוי כלל 120 נבדקים שחולקו ל60 דיאדות מאותו מגדר, וניהלו ראיון חצי-מובנה בזום עם שאלות ברמת אינטימיות עולה. הנתונים הפרוזודיים נאספו ועברו עיבוד ראשוני באמצעות התוכנה Praat, ההערכה הסובייקטיבית לגבי טיב האינטראקציה התבססה על שאלון GOI עליו ענו הנבדקים לאחר הדיאלוג. הדאטה מנותח ברמת הדיאדה כלומר, כל שורה מייצגת את הערך הממוצע של שני הדוברים בכל מדד, או לחלופין את מידת הדמיון ביניהם בכל דפוס פרוזודיה שנדגם. חקר דפוסי שפה אופטימליים המאפיינים אינטראקציה איכותית עשוי לסייע בשיפור התקשורת שלנו בממשק אנושי, וכן בממשק אדם מחשב לדוגמא, באמצעות הטמעת הדפוסים הללו במערכות של סייענים קוליים כמו SIRI.
# Create a df called Data_raw containing the unprocessed data
Data_raw <- read.csv("Data/SharedProsody_vs_InteractionQuality.csv")
Data Structure
נציג את מבנה הדאטה שלנו:
str(Data_raw)
## 'data.frame': 60 obs. of 101 variables:
## $ Dyad : chr "125_133" "151_152" "163_164" "185_186" ...
## $ Gender : int 1 0 1 1 1 0 0 1 1 0 ...
## $ utterance_dur_mean.s..diff_avg : num 15.99 27.84 20.76 9.95 4.87 ...
## $ utterance_dur_mean.s..avg_avg : num 47.6 45 35.3 22.9 19.4 ...
## $ utterance_dur_std.s..diff_avg : num 11.23 14.4 16.9 4.86 1.79 ...
## $ utterance_dur_std.s..avg_avg : num 28.6 25.6 24.4 13.2 10.2 ...
## $ utterance_dur_min.s..diff_avg : num 0.0912 0.0705 0.0446 0.0788 0.0142 ...
## $ utterance_dur_min.s..avg_avg : num 0.174 0.182 0.153 0.192 0.13 ...
## $ utterance_dur_max.s..diff_avg : num 31.23 46.54 38.71 14.35 6.78 ...
## $ utterance_dur_max.s..avg_Avg : num 79.7 77.7 64.5 39.7 33.2 ...
## $ speaking_time.s..diff_avg : num 45.2 145.2 27 28 14.2 ...
## $ speaking_time.s..avg_avg : num 159.2 154.7 122.3 93.9 71.9 ...
## $ gaps_min.p_r : num 0.6 0.553 0.747 0.764 0.402 ...
## $ overall_speaking_duration.avg_avg : num 1067 1217 985 752 654 ...
## $ overall_speaking_duration.diff_avg: num 242.98 572.59 61.59 183.7 7.13 ...
## $ overall_silences_duration.avg_avg : num 1893 2071 1708 1263 1204 ...
## $ overall_silences_duration.diff_avg: num 243.1 578.9 60.6 184.8 10.5 ...
## $ gaps_avg.avg_avg : num 13.3 -1.67 -1.39 9.43 -1.14 ...
## $ gaps_avg.diff_avg : num 35.57 3.7 1.44 17.98 1.18 ...
## $ speaking_durations_avg.avg_avg : num 8.52 10.09 6.14 6.46 6 ...
## $ speaking_durations_avg.diff_avg : num 2.276 4.668 0.422 2.012 0.757 ...
## $ silence_durations_avg.avg_avg : num 15 15.8 10.7 10.4 10.3 ...
## $ silence_durations_avg.diff_avg : num 1.453 3.937 0.245 1.094 2.186 ...
## $ gaps_min.avg_avg : num -66.8 -63.2 -81.3 -50.3 -37.4 ...
## $ gaps_min.diff_avg : num 16.3 27 49.7 16.9 4.6 ...
## $ speaking_durations_min.avg_avg : num 0.112 0.12 0.112 0.112 0.112 0.112 0.136 0.112 0.12 0.184 ...
## $ speaking_durations_min.diff_avg : num 5.69e-14 1.60e-02 1.70e-13 0.00 0.00 ...
## $ silence_durations_min.avg_avg : num 2 2.01 2.01 2 2.03 ...
## $ silence_durations_min.diff_avg : num 0 0.016 0.016 0 0.032 0 0.032 0 0.08 0.032 ...
## $ gaps_max.avg_avg : num 1198 59 51.1 788.6 64.1 ...
## $ gaps_max.diff_avg : num 2297.5 10.9 45.3 1367.5 33.3 ...
## $ speaking_durations_max.avg_avg : num 118 109.9 122.3 54.7 41.3 ...
## $ speaking_durations_max.diff_avg : num 67.68 82.128 0.576 19.2 0.736 ...
## $ silence_durations_max.avg_avg : num 154.7 82.2 125.4 107.6 105.9 ...
## $ silence_durations_max.diff_avg : num 46.29 27.55 72.46 8.21 11.88 ...
## $ GOI_1 : num 81.5 80.5 60.5 72.5 49.5 65.5 77.5 77.5 26 30 ...
## $ GOI_2 : num 97.5 85.5 90 85 71 69 77.5 87.5 70 29 ...
## $ GOI_3 : num 95 81 89 80 63 60.5 64 65 64 34 ...
## $ GOI_4 : num 59.5 78 77.5 86.5 57 73 75 50 44.5 39.5 ...
## $ GOI_5 : num 77.5 93 92.5 88.5 57.5 80.5 49 77.5 54.5 12 ...
## $ GOI_6 : num 85 55.5 92 70.5 59.5 50 57 72.5 44.5 33.5 ...
## $ GOI_7 : num 89 75.5 88.5 88 63 52.5 63.5 64.5 60 21.5 ...
## $ GOI_8 : num 80.5 87 66.5 79 71.5 67 66 72.5 62.5 49.5 ...
## $ GOI_9 : num 90 72 89 78.5 55.5 67.5 76.5 80 52.5 21.5 ...
## $ GOI_10 : num 92.5 55 81 87 71.5 78 72 66.5 50.5 NA ...
## $ GOI_11 : num 95 82.5 90 88.5 78 42 81 80 95 NA ...
## $ GOI_12 : num 97.5 92.5 89 89 77.5 77.5 81.5 90 76 NA ...
## $ GOI_13 : num 72.5 77 85 65 58 45.5 59.5 71 92.5 NA ...
## $ GOI_14 : num 68.5 55.5 80 88.5 53.5 76 75.5 75 70.5 NA ...
## $ GOI_15 : num 92.5 76.5 85 89 77.5 80 81.5 75 94.5 NA ...
## $ GOI_16 : num 86 78.5 85 80.5 68 77.5 49 74.5 62 NA ...
## $ GOI_17 : num 95 50 66.5 73.5 52 60 83 61.5 32 NA ...
## $ GOI_18 : num 96 67.5 77.5 81.5 69.5 72.5 71 73.5 47.5 NA ...
## $ GOI_19 : num 99 75 85.5 76.5 75 75 77 80 49 NA ...
## $ GOI_20 : num 85.5 47.5 66 60 24.5 62.5 65.5 57.5 5.5 NA ...
## $ GOI_21 : num 96 49.5 85 75.5 32 71.5 73.5 80 15 NA ...
## $ GOI_22 : num 99 70 91.5 85 76.5 80.5 71 54 59 NA ...
## $ GOI_23 : num 95 47.5 91 86.5 79 60 73.5 75.5 79.5 NA ...
## $ GOI_24 : num 97 68 76 81.5 75 80 53 66 33.5 NA ...
## $ GOI_25 : num 94.5 75.5 77.5 81.5 83.5 80 74 81 89 NA ...
## $ GOI_26 : num 96.5 80 84.5 81.5 80.5 60 67.5 81 87.5 NA ...
## $ GOI_27 : num 100 90 100 95 90.5 85.5 94.5 75 94.5 NA ...
## $ GOI_28 : num 100 87.5 87.5 80.5 51.5 34 77.5 71 29 NA ...
## $ GOI_29 : num 97.5 60 82.5 83.5 67.5 53 66 77 31.5 NA ...
## $ GOI_30 : num 95 60 62.5 76 67 51 79.5 85 14.5 NA ...
## $ GOI_31 : num 76.5 65 72.5 75.5 63.5 66 64 75.5 16 NA ...
## $ GOI_32 : num 79 49.5 80 73 40.5 57 62.5 73 9 NA ...
## $ GOI_33 : num 97.5 87.5 90 83 78.5 77 95.5 87.5 97 NA ...
## $ GOI_34 : num 95 60 52.5 64 57.5 53.5 79 75.5 66 NA ...
## $ GOI_35 : num 87.5 55 95 75.5 62 48 64 75.5 33 NA ...
## $ GOI_36 : num 65 50 67.5 37.5 48 46.5 50 67 13 NA ...
## $ GOI_37 : num 94 78.5 95 75.5 68.5 82.5 77 80.5 39 NA ...
## $ GOI_38 : num 85 89 80 59.5 60 82.5 74.5 81 62.5 NA ...
## $ GOI_39 : num 55 80 86.5 64.5 29.5 43.5 56.5 56.5 49.5 NA ...
## $ GOI_40 : num 57.5 55 80.5 27.5 30.5 66 57.5 70.5 37.5 NA ...
## $ GOI_43 : num 100 62.5 90 87.5 71 50 88.5 78.5 79 NA ...
## $ GOI_44 : num 46.5 55 73.5 33 49 59 10 73.5 71.5 NA ...
## $ GOI_45 : num 99.5 65 85 86.5 75 64 78 79 86.5 NA ...
## $ GOI_46 : num 96 59.5 75 87.5 69 47.5 90 72.5 88.5 NA ...
## $ GOI_47 : num 97 87.5 95 61 38.5 79 62.5 93 54 NA ...
## $ GOI_48 : num 88.5 94.5 85 90 98.5 95 82.5 85 92.5 NA ...
## $ GOI_49 : num 37 82.5 90 75 84.5 88 36 60 71 NA ...
## $ GOI_50 : num 7.5 57.5 55 74 32 46 22.5 57 70.5 NA ...
## $ GOI_51 : num 35 57.5 55 87.5 17 56.5 22 55 65 NA ...
## $ GOI_52 : num 4.5 12.5 47.5 63 12 78 70 58 79.5 NA ...
## $ GOI_53 : num 0 2.5 0 5 10 49 52 11 6 NA ...
## $ GOI_54 : num 90.5 92.5 90.5 100 100 90 92.5 96.5 100 NA ...
## $ GOI_55 : num 93 92.5 91.5 100 100 91 99.5 100 100 NA ...
## $ ios.avg_avg : num 0.207 0.105 0.684 0.207 0.453 ...
## $ Sum_of_intimacy_q_peson_A_plus_B : int 6 7 6 7 7 8 7 5 6 8 ...
## $ Number_of_mutual_intimacy_q : int 0 2 1 2 3 2 2 3 3 3 ...
## $ Number_of_intimacy_q_def : int 0 5 3 3 2 4 1 0 1 1 ...
## $ Average_of_comfort : num 36.2 52.4 56.1 55.6 72.2 ...
## $ Def_of_comfort : num 4.45 10.39 19.92 2.5 -19.67 ...
## $ Average_of_intimacy : num 95 82 81.2 78.5 52.2 ...
## $ Def_of_intimacy : num 2.909 2.833 0.917 -43.083 0.667 ...
## $ Number_of_q_answered_full_convo : int 11 11 12 12 12 12 12 12 12 12 ...
## $ friendship.diff_avg : int 12 5 3 10 2 6 8 8 3 20 ...
## $ friendship.avg_avg : num 82 84.5 81.5 86 74 83 67 81 55.5 36 ...
## [list output truncated]
הדאטה כולל נתונים מ-60 אינטראקציות של דיאדות . כל שורה מיוצגת על ידי מספרי הנבדק של חברי הדיאדה מופרדים בקו תחתון, במשתנה מסוג Char. הדאטה מכיל מדדים ממוצעים(avg_avg) ופערים (avg_diff) בין חברי הדיאדה במאפייני פרוזודיה שונים, המקודדים במשתנים נומריים. כמו כן, הדירוגים הממוצעים של חברי הדיאדה בכל אחת מהשאלות בשאלון GOI להערכת אינטראקציה מקודדים גם הם במשתנים נומריים.
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.3
על מנת לחוש את הדאטה, נרצה להציג סטטיסטיקה תיאורית והתפלגות עבור
המשתנה המנובא במחקר שלנו.
לשם כך, ניצור פקטור של השאלות הרלוונטיות להערכת האינטראקציה החברתית
המשותפת על פי שאלון GOI.
Conduct interaction quality factor based on GOI questionnaire
We will average the relevant questions for evaluating interaction quality according to the GOI questionnaire.
Question numbers: 8, 9, 10, 18, 19, 20, 21, 28, 30, 37
Implementation:
# Calculate GOI factor using dplyr
Data_goi <- Data_raw %>%
rowwise() %>%
mutate(GOI = mean(c(GOI_8, GOI_9, GOI_10, GOI_18, GOI_19, GOI_20, GOI_21,
GOI_28, GOI_30, GOI_37), na.rm = TRUE)) # Exclude NA for valid mean
כעת, נציג סטטיסטיקה תיאורית עבור המשתנה המנובא, ההערכה סובייקטיבית של איכות האינטראקציה, שיצרנו בשלב הקודם.
Descriptive Statistics:
This section will display mean, sd min & max values of our predicted variable.
# Calculate Descriptive Statistics Vector
stats_GOI <- c(
Average = mean(Data_goi$GOI, na.rm = TRUE),
Median = median(Data_goi$GOI, na.rm = TRUE),
SD = sd(Data_goi$GOI, na.rm = TRUE),
Min = min(Data_goi$GOI, na.rm = TRUE),
Max = max(Data_goi$GOI, na.rm = TRUE)
)
print(stats_GOI)
## Average Median SD Min Max
## 67.39598 68.93056 16.22897 27.35000 98.25000
בצעו הצגת נתונים מקדימה. הצגת הנתונים האקספלורטיבית תאפשר לכם “לחוש” את הדאטה ולהעלות השערות על קשרים אפשריים בין הנתונים. עליכם להשתמש בחבילת ggplot כדי להציג את המשתנים. נסו להשתמש בכמה שיותר פונקציות מתוך החבילה. (10 נק’)
We used geom_density() to plot the distribution of our
predicted variable we created earlier.
# Define mean value:
mean_GOI <- mean(Data_goi$GOI)
# Creating the plot
ggplot(Data_goi, aes(x = GOI)) +
geom_density(aes(fill = "GOI"), alpha = 0.5) + # Simplified filling with a single color directly
geom_vline(xintercept = mean_GOI, color = "red", linetype = "dashed") + # Highlight mean value directly
ggtitle("Density of GOI") +
xlab("GOI") +
ylab("Density") +
scale_x_continuous(limits = c(0, 100), # Set x-axis limits from 0 to 100
breaks = seq(0, 100, by = 5), # Set breaks every 5 units
minor_breaks = seq(0, 100, by = 1)) + # Minor breaks every 1 unit for detailed scale
theme_classic() +
scale_fill_manual(values = c("GOI" = "turquoise")) # Set a manual fill color
ניכר כי המשתנה המנובא, ההערכה הסובייקטיבית של טיב האינטראקציה, מתפלג בצורה יחסית נורמלית עם נטיה קלה לזנב שמאלי.
כעת, נרצה להציג את התפלגות המשתנה המנבא המרכזי במחקר שלנו, מבע (utterance) שהינו יחידת דיבור רציפה בשיחה. מבע נמדד בשניות ועשוי לכלול הברה בודדת עד משפטים ארוכים ורצופים. בהתחשב בתנאי הניסוי שנערך בזום, ציפינו לדגום ערכים חריגים כתוצאה מבעיות טכניות ותקלות אינטרנט. נטפל בערכים הללו בשלב עיבוד הנתונים.
הגרף הבא מציג את התפלגות המשתנים המנבאים במחקר באמצעות בוקס פלוט שמדגים גם הימצאות ערכים קיצוניים בדאטה.
ggplot(Data_goi) +
# Create Boxplot for each predictor
geom_boxplot(aes(x = "utterance_dur_mean.s..avg_avg", y = utterance_dur_mean.s..avg_avg), fill = "red") +
geom_boxplot(aes(x = "utterance_dur_mean.s..diff_avg", y = utterance_dur_mean.s..diff_avg), fill = "pink") +
geom_boxplot(aes(x = "utterance_dur_std.s..avg_avg", y = utterance_dur_std.s..avg_avg), fill = "blue") +
geom_boxplot(aes(x = "utterance_dur_std.s..diff_avg", y = utterance_dur_std.s..diff_avg), fill = "lightblue") +
labs(title = "Predictors Boxplot", x = "Dyad's Utterance Attributes", y = "Time [s]") +
scale_y_continuous(breaks = seq(0, max(Data_goi$utterance_dur_mean.s..avg_avg, na.rm = TRUE)
, by = 5)) + # Set y-axis breaks
scale_x_discrete(labels = c("utterance_dur_mean.s..avg_avg" = "Average Utterance",
"utterance_dur_mean.s..diff_avg" = "Average Utterance Δ",
"utterance_dur_std.s..avg_avg" = "Utterance std",
"utterance_dur_std.s..diff_avg" = "Utterance std Δ")) +
# Custom x-axis labels
theme_classic()
נעבד את הדאטה כך שיכיל את המשתנים הרלוונטים לניתוח ונגדיר עבורם שמות אינטואיטיביים יותר. לשם כך, נשתמש בפונקציה select מתוך הספרייה dplyr.
Data_clean <- Data_goi %>%
select(3:6,102,
Average_Utterance = "utterance_dur_mean.s..avg_avg",
Average_Utterance_diff = "utterance_dur_mean.s..diff_avg",
Utterance_std = "utterance_dur_std.s..avg_avg",
Utterance_std_diff = "utterance_dur_std.s..diff_avg")
בשלב זה נציג מטריצת קורלציות כמפת חום בין כלל המשתנים שלנו במטרה לבנות מודל רגרסיה אופטימלי לניבוי טיב האינטראקציה.
4. בונוס: השתמשו בפונקציה מחבילה שלא למדנו במהלך הקורס. חפשו בגוגל (או בChatGPT) דרך יעילה לממש פעולה מסוימת. (5 נק’ בונוס)
נשתמש בחבילה pheatmap המיועדת ליצירת מפות חום בצורה
אינטואטיבית ומציעה מגוון רחב של פיצ’רים רלוונטים.
library(pheatmap)
## Warning: package 'pheatmap' was built under R version 4.3.3
# Calculate the correlation matrix
correlation_matrix <- cor(Data_clean, use = "complete.obs" )
# Create the heatmap
pheatmap(correlation_matrix,
color = colorRampPalette(c("blue", "white", "red"))(50), # Define color by size effect
display_numbers = TRUE, #Show values
main = "Correlation Matrix Heatmap")
מפת החום מצביעה על כך שהמשתנים משך מבע ממוצע וסטיית תקן של משך המבע הם המנבאים החזקים ביותר של טיב האינטראקציה (GOI). הפער בין הערכים של חברי הדיאדה במדדים הללו נמצא גם הוא בקורולציה חיובית מתונה עם המשתנה המנובא. כמו כן, ניכר כי המנבאים נמצאים בקורלוציה גבוהה ביניהם ולכן עולה החשש למולטיקולינאריות במודל. נתייחס לכך בשלב ניתוח הנתונים.
בחרו שאלה מורכבת כך שהקשר אם וכאשר תמצאו כזה יהיה משמעותי ומלמד
לאחר שהדגמנו כיצד מתאפיינים משתני המחקר שלנו ואת הקשר הגולמי ביניהם, נשאף להציע מודל אופטימלי לניבוי ההערכה הסובייקטיבית של איכות האינטראקציה באמצעות מאפייני מבע משותפים והאינטראקציה ביניהם. כמו כן, אנו משערים כי הפער בין חברי הדיאדה במשתני המבע עשוי למתן את הקשר בין הערך המשוקלל של חברי הדיאדה במדד לבין המשתנה המנובא.
1. נסו להבין אילו משתנים מנבאים/מנובאים אתם צריכים עבור הניתוח. לצורך הניתוח תרצו להשתמש לא בנתונים הגולמיים שקיבלתם, אלא באיזה שהוא עיבוד שלהם. (הגדירו את המשתנים בצורה ברורה - 5 נק’)
משתנה מנובא:
איכות האינטראקציה- ההערכה העצמית הממוצעת של חברי הדיאדה את איכות האינטראקציה באמצעות מיצוע שאלות רלוונטיות משאלון GOI עליו ענו המשתתפים בתום הדיאלוג. המשתנה נוצר בחלק הקודם של התרגיל במטרה לבצע עבורו הצגת נתונים מקדימה לקראת הניתוחים הסטטיסטיים. הציון ניתן בסקאלה בין 0 ל-100.
משתנים מנבאים:
משך מבע ממוצע - ממוצע בין משך המבע הממוצע של שני הדוברים, מבע הוא יחידת דיבור רציפה שתחומה בין שתי מקטעים של שתיקה ונמדד בשניות.
פער במשך מבע ממוצע - הפער בערך מוחלט בין משך המבע הממוצע של כל דובר בדיאדה.
סטיית תקן במשך המבעים - ממוצע בין סטיות התקן במשך המבע של שני הדוברים.
פער בסטיית התקן של משך המבעים - הפער בערך מוחלט בין סטיות התקן במשך המבע של כל דובר.
3. השתמשו בפונקציה שיצרתם בעצמכם. צרו פונקציה משלכם והפעילו אותה על הדאטה שלכם. (5 נק’ עבור מימוש הפונקציה)
כפי שציפינו והדגמנו קודם, הדאטה שלנו כולל ערכים חריגים שאנו מעריכים
שנדגמו כטעות מדידה בעקבות תנאי הניסוי שנערך בזום.
על כן, כפי שקבענו מראש, ניצור פונקציה שתמיר ערכים חריגים עם סטיית תקן
גבוהה מ-3 לערכים חסרים.
# Function to convert outliers to NA and count them
outlier_na <- function(x){
x_mean <- mean(x, na.rm = TRUE) # Calculate mean excluding NAs
x_sd <- sd(x, na.rm = TRUE) # Calculate standard deviation excluding NAs
outliers <- sum(abs(x - x_mean) > 3 * x_sd, na.rm = TRUE) # Count outliers
x <- ifelse(abs(x - x_mean) > 3 * x_sd, NA, x) # Convert outliers to NA
return(list(data = x, outliers = outliers))
}
Implantation:
# Apply the function to each column and gather results
results <- lapply(Data_clean, outlier_na)
# Extract data and outlier counts
Data_processed <- as.data.frame(lapply(results, `[[`, "data")) # Reconstruct the dataframe without outliers
outlier_counts <- sapply(results, `[[`, "outliers") # Vector of outlier counts per column
# Print number of outliers converted to NA for each column
print(outlier_counts)
## Average_Utterance_diff Average_Utterance Utterance_std_diff
## 0 1 2
## Utterance_std GOI
## 0 0
# Table of outliers converted to NA by each variable ^
שלב ג’ - ניתוח הנתונים - 50 נק’
כעת, כשהנתונים מוכנים, החליטו מהם הניתוחים הסטטיסטיים שאתם צריכים לבצע על מנת לענות על שאלת המחקר שלכם.
ניתן לחלק את ארבעת המנבאים שלנו לשני סוגים:
לקראת בניית המודלים, נתייחס למשמעות ערכי האפס במשתנים שלנו ונבחן אילו מניפולציות עשויות לסייע ביצירת ממצאים אינפורמטיביים יותר. עבור המשתנים המציינים ערכים משוקללים, אין משמעות פרקטית לערך האפס שכן אורך המבע הממוצע או סטיית התקן שלו לא סבירים להימצא סביב ערך זה. על כן, נמרכז את המשתנים הללו על מנת שערך האפס יייצג את הערך הממוצע של המשתנה ויהיה אינפורמטיבי יותר בשלב הפרשנות. לעומת זאת, ערך אפס במשתני הפער מייצג שאין כלל הבדל בין הדוברים במשתנה הנמדד, מספק לנו נקודת ייחוס אינפורמטיבית, ועל כן נשאיר אותו כפי שהוא.
נוסיף שתי עמודות לדאטה המעובד שיכילו את הערכים המשוקללים לאחר המרכוז.
# Center predictors: subtract mean from each obs
# Center avg utt
Data_processed$Average_Utterance_C <- Data_clean$Average_Utterance - mean(Data_processed$Average_Utterance, na.rm = TRUE)
# Center utt sd
Data_processed$Utterance_std_C <- Data_processed$Utterance_std - mean(Data_clean$Utterance_std, na.rm = TRUE)
1. בצעו שלושה ניתוח רגרסיה מתוך האפשרויות שלמדנו: פשוטה/מרובה/פולינומיאלית/עם אינטרקציה ועוד. שימו לב להתאים את הניתוח להשערה ולנתונים. (15 נק’ עבור השימוש בניתוח מתאים)
2. עבור כל אחד מהניתוחים, פרשו את התוצאות שקיבלתם. התייחסו למקדמים שהתקבלו ולפרשנות שלהם. (20 נק’)
על פי מפת החום שיצרנו בסעיף הקודם, ניכר כי המנבאים החזקים ביותר עבור טיב האינטראקציה הם המדדים שמציינים את הערך המשוקלל של חברי הדיאדה הן עבור משך המבע הממוצע והן עבור סטיית התקן במשך המבע. על כן, המודל הראשון שנציע יהיה מודל רגרסיה מרובה עם אינטראקציה לניבוי איכות האינטראקציה(GOI) באמצעות שני המשתנים שמתייחסים לערכים המשוקללים אשר מירכזנו בשלב הקודם, וכן לאינטראקציה ביניהם.
# Load 'car' to evaluate multicollinearity in the model
library(car)
## Warning: package 'car' was built under R version 4.3.3
## Warning: package 'carData' was built under R version 4.3.3
m1 = lm(GOI ~ Average_Utterance_C * Utterance_std_C, data = Data_processed)
summary(m1)
##
## Call:
## lm(formula = GOI ~ Average_Utterance_C * Utterance_std_C, data = Data_processed)
##
## Residuals:
## Min 1Q Median 3Q Max
## -33.314 -8.176 0.950 8.888 25.615
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 71.32532 2.21405 32.215 < 2e-16 ***
## Average_Utterance_C 0.59473 0.41492 1.433 0.15731
## Utterance_std_C 0.70167 0.63655 1.102 0.27504
## Average_Utterance_C:Utterance_std_C -0.05859 0.01846 -3.174 0.00245 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 13.78 on 56 degrees of freedom
## Multiple R-squared: 0.3156, Adjusted R-squared: 0.279
## F-statistic: 8.609 on 3 and 56 DF, p-value: 8.605e-05
vif(m1, type = 'predictor') # MCL check: GVIF
## GVIF Df GVIF^(1/(2*Df)) Interacts With
## Average_Utterance_C 1 3 1 Utterance_std_C
## Utterance_std_C 1 3 1 Average_Utterance_C
## Other Predictors
## Average_Utterance_C --
## Utterance_std_C --
coefficients
אינטרספט: 71.325 הציון המנובא במדד GOI כאשר משך ממוצע וסטיית התקן של המבע בקרב הדיאדה שווים לממוצע.
B1: 0.595 השינוי בערך המנובא של Y כתוצאה מעלייה של שנייה אחת באורך המבע, כאשר סטיית התקן של המבע שווה לממוצע.
B2: 0.702 השינוי בערך המנובא של Y כתוצאה מעלייה של שנייה אחת בסטיית התקן של אורכי המבע של הדיאדה, כאשר אורך המבע שווה לממוצע.
B3: -0.059 השינוי בהשפעת אורך המבע הממוצע על איכות האינטראקציה, ברמות השונות של סטיית התקן באורכי המבע.
Model 1: Report
We conducted a linear regression analysis to assess the impact of average utterance duration and utterance variability on the quality of interaction (GOI). The interaction effect suggests that utterance variability moderates the relationship between the average utterance duration of the dyad and GOI, with a significant negative effect (p = 0.002). However, the main effects of both average utterance duration and utterance variability were positive but yet not statistically significant (p = 0.157 and p = 0.275, respectively). The model explains approximately 31.56% of the variance in GOI, with an adjusted R-squared of 27.9%. Multicollinearity testing indicated no concerns, with GVIFs for each predictor adjusted to 1, confirming the reliability of the regression estimates.
המודל השני שנציע יהיה מודל רגרסיה מרובה עם אינטראקציה לניבוי איכות האינטראקציה (GOI) באמצעות משך המבע הממוצע של הדיאדה והפער ביניהם באותו מדד.
m2 <- lm(GOI ~ Average_Utterance_C * Average_Utterance_diff, data = Data_processed)
summary(m2)
##
## Call:
## lm(formula = GOI ~ Average_Utterance_C * Average_Utterance_diff,
## data = Data_processed)
##
## Residuals:
## Min 1Q Median 3Q Max
## -33.290 -5.624 2.071 9.626 22.716
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 66.78180 3.62616 18.417 < 2e-16
## Average_Utterance_C 1.46573 0.34770 4.216 9.17e-05
## Average_Utterance_diff 0.30516 0.28710 1.063 0.29239
## Average_Utterance_C:Average_Utterance_diff -0.05170 0.01608 -3.215 0.00216
##
## (Intercept) ***
## Average_Utterance_C ***
## Average_Utterance_diff
## Average_Utterance_C:Average_Utterance_diff **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 13.88 on 56 degrees of freedom
## Multiple R-squared: 0.3057, Adjusted R-squared: 0.2685
## F-statistic: 8.217 on 3 and 56 DF, p-value: 0.0001272
vif(m2, type = 'predictor') # MCL check: GVIF
## GVIFs computed for predictors
## GVIF Df GVIF^(1/(2*Df)) Interacts With
## Average_Utterance_C 1 3 1 Average_Utterance_diff
## Average_Utterance_diff 1 3 1 Average_Utterance_C
## Other Predictors
## Average_Utterance_C --
## Average_Utterance_diff --
Coefficients
אינטרספט: 66.78 הציון המנובא במדד GOI כאשר משך המבע שווה לממוצע וללא פער כלל בין הדוברים באותו מדד.
B1: 1.466 השינוי בY כתוצאה מעלייה של שנייה אחת במשך המבע הממוצע, כאשר הפער בין הדוברים במדד שווה לאפס.
B2: 0.305 השינוי בY כתוצאה מעלייה של שנייה אחת בפער בין הדוברים במשך המבע הממוצע, כאשר משך המבע מקובע לממוצע שלו.
B3: -0.052 השינוי בהשפעת משך המבע הממוצע על ההערכה הסובייקטיבית של איכות האינטראקציה מעבר לרמות השונות של הפערים במדד זה בין שני הדוברים.
Model 2: Report
In our regression analysis, we assessed how average utterance duration (Average_Utterance_C) and differences in utterance duration between speakers (Average_Utterance_diff) affect the quality of interaction (GOI), including their interaction effect. We found a significant positive effect of average utterance duration on GOI (p = 9.17e-05), suggesting that longer utterances are associated with higher interaction quality. However, the difference in utterance duration itself did not significantly impact GOI (p = 0.29239). Notably, the interaction between these variables significantly reduces GOI (p = 0.00216), indicating that increasing differences in utterance duration diminish the positive influence of longer utterances. The model explains about 30.57% of the variance in GOI, with an adjusted R-squared of 0.2685. Multicollinearity tests confirmed the reliability of the estimates, with GVIFs adjusted to 1 for each predictor.
המודל השלישי יציג ניתוח רגרסיה מרובה עם אינטראקציה לניבוי איכות האינטראקציה (GOI) באמצעות סטיית התקן של משך המבע והפער בין הדוברים באותו מדד.
m3 <- lm(GOI ~ Utterance_std_C * Utterance_std_diff, data = Data_processed)
summary(m3)
##
## Call:
## lm(formula = GOI ~ Utterance_std_C * Utterance_std_diff, data = Data_processed)
##
## Residuals:
## Min 1Q Median 3Q Max
## -31.457 -9.782 2.427 9.537 23.225
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 67.68557 4.16770 16.241 < 2e-16 ***
## Utterance_std_C 2.67506 0.60686 4.408 5e-05 ***
## Utterance_std_diff 0.65336 0.60212 1.085 0.28270
## Utterance_std_C:Utterance_std_diff -0.18264 0.06099 -2.994 0.00414 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 13.71 on 54 degrees of freedom
## (2 observations deleted due to missingness)
## Multiple R-squared: 0.3221, Adjusted R-squared: 0.2845
## F-statistic: 8.554 on 3 and 54 DF, p-value: 9.645e-05
vif(m3, type = 'predictor') # MCL check: GVIF
## GVIFs computed for predictors
## GVIF Df GVIF^(1/(2*Df)) Interacts With Other Predictors
## Utterance_std_C 1 3 1 Utterance_std_diff --
## Utterance_std_diff 1 3 1 Utterance_std_C --
Coefficients:
אינטרספט: 67.68 הציון המנובא במדד GOI כאשר סטיית התקן של אורך המבע שווה לממוצע ולא קיים כלל הבדל בין הדוברים במדד זה.
B1: 2.675 השינוי בערך המנובא בעקבות עלייה של שנייה אחת בסטיית התקן של אורך המבע כאשר הפער בין הדוברים במדד שווה לאפס.
B2: 0.653 השינוי בערך המנובא בעקבות עלייה של שנייה אחת בפער בין הדוברים בסטיית התקן של אורך המבע כאשר סטיית התקן המשוקללת של אורכי המבע של שני הדוברים שווה לממוצע שלה.
B3: -0.182 השינוי בהשפעה של סטיית התקן של הדוברים על הציון במדד GOI ברמות השונות של הפערים בין הדוברים במדד.
Model 3: Report
We conducted a linear regression analysis to investigate how utterance standard deviation (Utterance_std_C) and the difference in standard deviation between speakers (Utterance_std_diff) impact the quality of interaction (GOI). The analysis demonstrated that a higher utterance standard deviation significantly improves GOI (p = 5e-05), suggesting that more variability within a speaker’s utterance length correlates with better interaction quality. However, the difference in standard deviation itself did not significantly influence GOI (p = 0.28270). The interaction between these variables was significant (p = 0.00414) and negative, indicating that increasing differences in standard deviation between speakers decrease the positive effect of utterance standard deviation on GOI. The model explains about 32.21% of the variance in GOI, with an adjusted R-squared of 28.45%. Multicollinearity testing showed no concerns, with GVIFs for each predictor adjusted to 1, ensuring the model’s reliability.
3. הוסיפו גרף אשר מתאר את האפקט שקיבלתם. (15 נק’)
ניתוחי הרגרסיה מצביעים על כך שהקשר בין מאפייני המבע המשותפים של דיאדה לבין ההערכה הסובייקטיבית של איכות האינטרקציה מתוווכים אחד על ידי השני. הגרפים הבאים יתארו את האפקטים שנמצאו וידגימו את האפקט של משתני המבע ברמות השונות של המשתנים הנוספים לפי הרביעונים כפי שהצגנו קודם בבוקספלוט.
Plot Effect Function
This function will display the effects we found by each quartile for demonstrating the moderator effects.
library(tidyr)
# Function to create interaction plots based on quartile grouping of a moderator variable
# Arguments: data, variable, moderator
create_interaction_plot <- function(data, variable_x, variable_m) {
# Calculate IQR thresholds for grouping
iqr_values <- quantile(data[[variable_m]], probs = c(0.25, 0.5, 0.75), na.rm = TRUE)
iqr_breaks <- c(-Inf, iqr_values[1], iqr_values[2], iqr_values[3], Inf)
# Create groups based on the IQR
data <- data %>%
mutate(Quartile_Group = cut(data[[variable_m]],
breaks = iqr_breaks,
labels = c("Q1", "Q2", "Q3", "Q4")))
# Generate the interaction plot
p <- ggplot(data, aes(x = .data[[variable_x]], y = GOI, color = Quartile_Group)) +
geom_point(alpha = 0.6, size = 3) +
geom_smooth(method = "lm", aes(group = Quartile_Group), se = FALSE, size = 1) +
scale_color_viridis_d(option = "magma") +
labs(title = paste("Moderating Effect of Grouped", variable_m, "on", variable_x, "and GOI"),
subtitle = "Regression lines for each level of grouped Quartile",
x = paste(variable_x, "[s]"),
y = "Interaction Quality (GOI)",
color = paste("Grouped", variable_m, "Levels")) +
theme_minimal()
# Return the plot
return(p)
}
Implantation:
Model 1
Utterance std as a mediator of the relationship between average utterance and GOI.
Model1 <- create_interaction_plot(Data_processed, "Average_Utterance_C", "Utterance_std_C")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
print(Model1)
## `geom_smooth()` using formula = 'y ~ x'
ביצענו ניתוח רגרסיה לבחינת השפעת סטיית התקן של אורך המבע (Utterance_std_C) על איכות האינטראקציה (GOI), תוך התחשבות ברמות שונות של קבוצות רבעוניות של סטיית התקן. התרשים מדגים כיצד היחסים בין המדדים משתנים לפי קבוצות הרבעון:
ניכר כי קבוצת הרבעון השני Q2 מציגה קשר חיובי ברור בין משך המבע הממוצע לאיכות האינטראקציה.
לעומת זאת, בקבוצות הרבעון Q1, Q2, Q3 הקשר נראה מתון באופן משמעותי ואף שלילי.
על כן, נציע כי הקשר בין משך המבע הממוצע לאיכות האינטראקציה משתנה ואף עשוי להתהפך ברמות השונות של סטיית התקן באורך המבע.
Model 2
Average utterance difference as a mediator of the relationship between average utterance and GOI
plot2 <- create_interaction_plot(Data_processed, "Average_Utterance_C", "Average_Utterance_diff")
print(plot2)
## `geom_smooth()` using formula = 'y ~ x'
ביצענו ניתוח רגרסיה לבחינת השפעת משך המבע הממוצע (Utterance_std_C) על איכות האינטראקציה, GOI, תוך התחשבות ברמות השונות של קבוצות רבעוניות של פער בין הדוברים במשך המבע הממוצע.
קבוצות הרבעון Q1, Q2, Q3 מציגות קשר חיובי יציב בין משך המבע הממוצע של הדיאדה לבין איכות האינטראקציה.
לעומת זאת, בקבוצת הרבעון Q4 בה הפערים במדד היו הגבוהים ביותר, נראה כי האפקט נחלש באופן משמעותי ואף מתהפך.
Model 3
plot3 <- create_interaction_plot(Data_processed, "Utterance_std_C", "Utterance_std_diff")
print(plot3)
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 2 rows containing missing values (`geom_point()`).
בדומה לתרשים הקודם, בעוד ששלושת קבוצת הרבעון הראשונות של רמת ההפרש בין הדוברים בסטיית התקן של אורכי המבע מוצגים בקשר חיובי ויציב עם איכות האינטראקציה (GOI), בקבוצת הרבעון הרביעי בה הפער בין הדוברים היה הגבוהה ביותר, ניכר כי הקשר מתמתן באופן משמעותי ואף מתהפך.
הניתוח התמקד בניבוי ההערכה הסובייקטיבית של טיב האינטראקציה באמצעות מאפייני מבע של הדיאדה והאינטראקציה ביניהם. נמצאו קשרים חיוביים בין המשתנה המנובא לכלל המשתנים; משך מבע ממוצע, סטיית תקן באורך המבע והפערים בין חברי הדיאדה במשתנים הללו. כלומר, ככל שמשך המבע הממוצע, סטיית התקן באורכי המבע והפער בין הדוברים במדדים הללו היו גדולים יותר, כך האינטראקציה החברתית דורגה איכותית יותר. עם זאת, ניכר כי הפערים במדדים עשויים לתווך את השפעת המדדים המשוקללים על ההערכה הסובייקטיבית של טיב האינטראקציה. בפרט, ניכר כי הקשר בין המשתנים המשוקללים(משך המבע הממוצע וסטיית התקן של משך המבעים) לטיב האינטראקציה מתמתן באופן מובהק על ידי הפערים באותו מדד. התוצאות מצביעות על תמונה מורכבת בקשר בין מאפיינים פרוזודיים שונים של בני-שיח לרמה בה הם יעריכו את האינטראקציה החברתית ביניהם. מחקרי המשך יכולים לבחון האם המאפיינים שמצאנו קשורים לאינטראקציה חברתית איכותית עשויים לשפר את איכות האינטראקציה, גם בממשק אדם-מחשב לדוגמה באינטראקציה עם סייענים קוליים כמו SIRI.
Goodness of Interaction Questionnaire
אנא סמן בין 0 (במידה פחותה) ל-100 (במידה רבה) את תשובתך לשאלות הבאות: